class AbilityViewController: BaseViewController {
+
+
@IBOutlet weak var listView: UITableView!
override func viewDidLoad() {
super.viewDidLoad()
title = "已连接" + IBManager.currentConnected!.name
+ navigationItem.rightBarButtonItem = UIBarButtonItem(title: "Log", style: .plain, target: self, action: #selector(showLog))
}
deinit {
IBManager.remove(self)
}
+
+ @objc func showLog(){
+ let vc = storyboard!.instantiateViewController(identifier: "LogViewController")
+ navigationController?.pushViewController(vc, animated: true)
+ }
}
extension AbilityViewController: UITableViewDelegate, UITableViewDataSource {
}
extension AbilityViewController{
func sendOta(){
- //OTA升级的固件要跟手表版本对应
guard let path = Bundle.main.path(forResource: "20240604_155433_2_V1.0.1_20240618_113111_ota", ofType: "fwpkg") else {return}
let info = IBSendOta()
info.major = 2
info.mid = 1
- info.minor = 5
+ info.minor = 4
info.isForced = 0
info.filePath = path
activityIndicatorView.startAnimating()
IBFileSender().ota(info).progress({ total, current in
- print("\(total) : \(current)")
+// print("\(total) : \(current)")
}).response {[weak self] result in
print(result)
self?.activityIndicatorView.stopAnimating()
activityIndicatorView.startAnimating()
IBFileSender().mp3(info).progress({ total, current in
- print("\(total) : \(current)")
+// print("\(total) : \(current)")
}).response {[weak self] result in
print(result)
self?.activityIndicatorView.stopAnimating()
// let file = IBDialFile()
// file.filePath = path
// file.fileName = "galaxy.lzma"
-//
+//
// let info = IBDial()
// info.UID = 0
// info.files = [file]
-//
+//
// info.batteryStyle = 1
// info.timeStyle = 1
// info.timeColor = 1
-//
+//
// activityIndicatorView.startAnimating()
// IBFileSender().dial(info).progress({ total, current in
// print("\(total) : \(current)")
//目前只支持表盘市场
func sendMarketDial(){
+//系统表盘
+// ID: 101 | Name: sportdial
+// ID: 102 | Name: kaleidoscope
+// ID: 1052 | Name: classic
+// ID: 103 | Name: jellyfish
+// ID: 1028 | Name: KUMI
+
guard let path = Bundle.main.path(forResource: "galaxy", ofType: "lzma") else {return}
let file = IBDialFile()
file.filePath = path
file.fileName = "galaxy.lzma"
let info = IBDial()
- info.UID = 10001
+ info.UID = 10002
info.files = [file]
- info.theme = "黑暗"
+ info.theme = "黑暗001"
- activityIndicatorView.startAnimating()
+// activityIndicatorView.startAnimating()
IBFileSender().dial(info).progress({ total, current in
print("\(total) : \(current)")
}).response {[weak self] result in
print(result)
- self?.activityIndicatorView.stopAnimating()
+// self?.activityIndicatorView.stopAnimating()
}
}
let datas: [(ability: IBAbility, label: String, parameters: [IBParameter])] = [
+ (.sendSchedule,"发送日程管理给手表",[.sendSchedule([IBSchedule()])]),
+ (.getSosContact,"获取OS紧急联系人",[]),
+ (.setSosContact,"设置SOS紧急联系人",[.setSosContact([IBContact()])]),
+
+ (.getPushConfig,"获取推送配置",[]),
+ (.setPushConfig,"设置推送",[.setPush(IBPush.all)]),
+
+ (.getPasssword,"获取密码",[]),
+ (.setPasssword,"启用密码",[.setPassword(IBPassword(type: 1, password: "123456"))]),
+ (.setPasssword,"删除密码",[.setPassword(IBPassword(type: 0, password: ""))]),
+
(.userData,"设置用户数据",[.userInfo(IBUserInfo())]),
- (.language, "设置语言", [.language(.english)]),
+ (.language, "设置语言", [.language(.chinese)]),
(.about,"关于本机内容",[]),
(.find, "开始查找手表", [.action(1)]),
(.find, "停止查找手表", [.action(0)]),
(.sendUnpair, "发送取消解除配对消息", []),
- (.startSport, "开启指定运动模式", [.motionMode(.running)]),
+ (.startSport, "开启指定运动模式", [.motionMode(.walking)]),
(.trainPauseResume, "训练暂停", [.action(0)]),
(.trainPauseResume, "训练恢复", [.action(1)]),
(.endSport, "结束运动模式", []),
(.heartRateMode, "开启自动获取实时心率", [.action(1)]),
(.heartRateMode, "关闭自动获取实时心率", [.action(0)]),
- (.heartRateHigh, "设置最高心率提醒", [.value(240)]),
+ (.heartRateHigh, "设置最高心率提醒", [.value(180)]),
(.heartRateHigh, "关闭最高心率提醒", [.value(0)]),
(.fetchHeartRate, "获取手表心率参数", []),
(.heartRate, "设置手表心率参数", [.heartRate(IBHeartRate())]),
}
static func setVibrateSound()->IBVibrateConfig{
let model = IBVibrateConfig()
- model.type = 0
- model.systemValue = 80
+// model.type = 0
+// model.systemValue = 92
// model.type = 1
-// model.ringsValue = 70
+// model.ringsValue = 48
//
-// model.type = 3
-// model.ringsState = 1
-// model.vibrateState = 1
+ model.type = 3
+ model.ringsState = 1
+ model.vibrateState = 1
return model
}
}
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
textView.text = IBManager.logs.joined(separator: "\n")
+
+ let range = NSMakeRange(textView.text.count - 1, 1)
+ textView.scrollRangeToVisible(range)
}
}
override func viewDidLoad() {
super.viewDidLoad()
title = "IOTBluetooth"
+ navigationItem.rightBarButtonItem = UIBarButtonItem(title: "Log", style: .plain, target: self, action: #selector(showLog))
IBManager.subscribe(.connectStateDidChange, observer: self) { object, userInfo in
print("connect notice " + "\(object!)")
let model = object as! IBTrainingData
print("trainingData notice " + model.description)
}
+// IBManager.subscribe(.weather, observer: self) { object, userInfo in
+// print("weather notice ")
+// }
}
deinit {
}
@IBAction func startScan(_ sender: UIButton) {
+ print("loggger ...")
title = "正在扫描蓝牙设备..."
IBManager.scan { [unowned self] peripheral in
if let _ = datas.filter({ $0.uuid == peripheral.uuid }).last {
IBManager.stopScan()
title = "IOTBluetooth"
}
-
+ @objc func showLog(){
+ let vc = storyboard!.instantiateViewController(identifier: "LogViewController")
+ navigationController?.pushViewController(vc, animated: true)
+ }
}
extension ViewController: UITableViewDelegate, UITableViewDataSource {
#if 0
#elif defined(__arm64__) && __arm64__
-// Generated by Apple Swift version 5.9.2 effective-4.2 (swiftlang-5.9.2.2.56 clang-1500.1.0.2.5)
+// Generated by Apple Swift version 6.0.3 effective-4.2 (swiftlang-6.0.3.1.10 clang-1600.0.30.1)
#ifndef IOTBLUETOOTH_SWIFT_H
#define IOTBLUETOOTH_SWIFT_H
#pragma clang diagnostic push
#include <string.h>
#endif
#if defined(__cplusplus)
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wnon-modular-include-in-framework-module"
#if defined(__arm64e__) && __has_include(<ptrauth.h>)
# include <ptrauth.h>
#else
# endif
#pragma clang diagnostic pop
#endif
+#pragma clang diagnostic pop
#endif
#if !defined(SWIFT_TYPEDEFS)
#pragma clang diagnostic ignored "-Wunknown-pragmas"
#pragma clang diagnostic ignored "-Wnullability"
#pragma clang diagnostic ignored "-Wdollar-in-identifier-extension"
+#pragma clang diagnostic ignored "-Wunsafe-buffer-usage"
#if __has_attribute(external_source_symbol)
# pragma push_macro("any")
{
"ABIRoot": {
"kind": "Root",
- "name": "TopLevel",
- "printedName": "TopLevel",
+ "name": "IOTBluetooth",
+ "printedName": "IOTBluetooth",
"children": [
{
"kind": "Import",
"declAttributes": [
"AccessControl"
],
- "hasMissingDesignatedInitializers": true
+ "hasMissingDesignatedInitializers": true,
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ }
+ ]
},
{
"kind": "TypeDecl",
],
"hasMissingDesignatedInitializers": true,
"conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ },
{
"kind": "Conformance",
"name": "CustomStringConvertible",
},
{
"kind": "TypeDecl",
- "name": "IBHistoryStandItem",
- "printedName": "IBHistoryStandItem",
+ "name": "IBPush",
+ "printedName": "IBPush",
"children": [
{
"kind": "Var",
- "name": "time",
- "printedName": "time",
+ "name": "type",
+ "printedName": "type",
"children": [
{
"kind": "TypeNominal",
- "name": "Int",
- "printedName": "Swift.Int",
- "usr": "s:Si"
+ "name": "IBPushType",
+ "printedName": "IOTBluetooth.IBPushType",
+ "usr": "s:12IOTBluetooth10IBPushTypeO"
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth18IBHistoryStandItemC4timeSivp",
- "mangledName": "$s12IOTBluetooth18IBHistoryStandItemC4timeSivp",
+ "usr": "s:12IOTBluetooth6IBPushC4typeAA0B4TypeOvp",
+ "mangledName": "$s12IOTBluetooth6IBPushC4typeAA0B4TypeOvp",
"moduleName": "IOTBluetooth",
"declAttributes": [
"HasInitialValue",
"children": [
{
"kind": "TypeNominal",
- "name": "Int",
- "printedName": "Swift.Int",
- "usr": "s:Si"
+ "name": "IBPushType",
+ "printedName": "IOTBluetooth.IBPushType",
+ "usr": "s:12IOTBluetooth10IBPushTypeO"
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth18IBHistoryStandItemC4timeSivg",
- "mangledName": "$s12IOTBluetooth18IBHistoryStandItemC4timeSivg",
+ "usr": "s:12IOTBluetooth6IBPushC4typeAA0B4TypeOvg",
+ "mangledName": "$s12IOTBluetooth6IBPushC4typeAA0B4TypeOvg",
"moduleName": "IOTBluetooth",
"implicit": true,
"accessorKind": "get"
},
{
"kind": "TypeNominal",
- "name": "Int",
- "printedName": "Swift.Int",
- "usr": "s:Si"
+ "name": "IBPushType",
+ "printedName": "IOTBluetooth.IBPushType",
+ "usr": "s:12IOTBluetooth10IBPushTypeO"
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth18IBHistoryStandItemC4timeSivs",
- "mangledName": "$s12IOTBluetooth18IBHistoryStandItemC4timeSivs",
+ "usr": "s:12IOTBluetooth6IBPushC4typeAA0B4TypeOvs",
+ "mangledName": "$s12IOTBluetooth6IBPushC4typeAA0B4TypeOvs",
"moduleName": "IOTBluetooth",
"implicit": true,
"accessorKind": "set"
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth18IBHistoryStandItemC4timeSivM",
- "mangledName": "$s12IOTBluetooth18IBHistoryStandItemC4timeSivM",
+ "usr": "s:12IOTBluetooth6IBPushC4typeAA0B4TypeOvM",
+ "mangledName": "$s12IOTBluetooth6IBPushC4typeAA0B4TypeOvM",
"moduleName": "IOTBluetooth",
"implicit": true,
"accessorKind": "_modify"
}
]
},
- {
- "kind": "Constructor",
- "name": "init",
- "printedName": "init()",
- "children": [
- {
- "kind": "TypeNominal",
- "name": "IBHistoryStandItem",
- "printedName": "IOTBluetooth.IBHistoryStandItem",
- "usr": "s:12IOTBluetooth18IBHistoryStandItemC"
- }
- ],
- "declKind": "Constructor",
- "usr": "s:12IOTBluetooth18IBHistoryStandItemCACycfc",
- "mangledName": "$s12IOTBluetooth18IBHistoryStandItemCACycfc",
- "moduleName": "IOTBluetooth",
- "declAttributes": [
- "AccessControl"
- ],
- "init_kind": "Designated"
- }
- ],
- "declKind": "Class",
- "usr": "s:12IOTBluetooth18IBHistoryStandItemC",
- "mangledName": "$s12IOTBluetooth18IBHistoryStandItemC",
- "moduleName": "IOTBluetooth",
- "declAttributes": [
- "AccessControl",
- "RawDocComment"
- ]
- },
- {
- "kind": "TypeDecl",
- "name": "IBVibrateConfig",
- "printedName": "IBVibrateConfig",
- "children": [
{
"kind": "Var",
- "name": "type",
- "printedName": "type",
+ "name": "state",
+ "printedName": "state",
"children": [
{
"kind": "TypeNominal",
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth15IBVibrateConfigC4typeSivp",
- "mangledName": "$s12IOTBluetooth15IBVibrateConfigC4typeSivp",
+ "usr": "s:12IOTBluetooth6IBPushC5stateSivp",
+ "mangledName": "$s12IOTBluetooth6IBPushC5stateSivp",
"moduleName": "IOTBluetooth",
"declAttributes": [
"HasInitialValue",
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth15IBVibrateConfigC4typeSivg",
- "mangledName": "$s12IOTBluetooth15IBVibrateConfigC4typeSivg",
+ "usr": "s:12IOTBluetooth6IBPushC5stateSivg",
+ "mangledName": "$s12IOTBluetooth6IBPushC5stateSivg",
"moduleName": "IOTBluetooth",
"implicit": true,
"accessorKind": "get"
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth15IBVibrateConfigC4typeSivs",
- "mangledName": "$s12IOTBluetooth15IBVibrateConfigC4typeSivs",
+ "usr": "s:12IOTBluetooth6IBPushC5stateSivs",
+ "mangledName": "$s12IOTBluetooth6IBPushC5stateSivs",
"moduleName": "IOTBluetooth",
"implicit": true,
"accessorKind": "set"
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth15IBVibrateConfigC4typeSivM",
- "mangledName": "$s12IOTBluetooth15IBVibrateConfigC4typeSivM",
+ "usr": "s:12IOTBluetooth6IBPushC5stateSivM",
+ "mangledName": "$s12IOTBluetooth6IBPushC5stateSivM",
"moduleName": "IOTBluetooth",
"implicit": true,
"accessorKind": "_modify"
}
]
},
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBPush",
+ "printedName": "IOTBluetooth.IBPush",
+ "usr": "s:12IOTBluetooth6IBPushC"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth6IBPushCACycfc",
+ "mangledName": "$s12IOTBluetooth6IBPushCACycfc",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "init_kind": "Designated"
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init(type:state:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBPush",
+ "printedName": "IOTBluetooth.IBPush",
+ "usr": "s:12IOTBluetooth6IBPushC"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "IBPushType",
+ "printedName": "IOTBluetooth.IBPushType",
+ "usr": "s:12IOTBluetooth10IBPushTypeO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth6IBPushC4type5stateAcA0B4TypeO_Sitcfc",
+ "mangledName": "$s12IOTBluetooth6IBPushC4type5stateAcA0B4TypeO_Sitcfc",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "init_kind": "Designated"
+ },
{
"kind": "Var",
- "name": "systemValue",
- "printedName": "systemValue",
+ "name": "all",
+ "printedName": "all",
"children": [
{
"kind": "TypeNominal",
- "name": "Optional",
- "printedName": "Swift.Int?",
+ "name": "Array",
+ "printedName": "[IOTBluetooth.IBPush]",
"children": [
{
"kind": "TypeNominal",
- "name": "Int",
- "printedName": "Swift.Int",
- "usr": "s:Si"
+ "name": "IBPush",
+ "printedName": "IOTBluetooth.IBPush",
+ "usr": "s:12IOTBluetooth6IBPushC"
}
],
- "usr": "s:Sq"
+ "usr": "s:Sa"
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth15IBVibrateConfigC11systemValueSiSgvp",
- "mangledName": "$s12IOTBluetooth15IBVibrateConfigC11systemValueSiSgvp",
+ "usr": "s:12IOTBluetooth6IBPushC3allSayACGvpZ",
+ "mangledName": "$s12IOTBluetooth6IBPushC3allSayACGvpZ",
"moduleName": "IOTBluetooth",
+ "static": true,
"declAttributes": [
- "HasInitialValue",
- "HasStorage",
- "AccessControl",
- "RawDocComment"
+ "Final",
+ "AccessControl"
],
- "hasStorage": true,
"accessors": [
{
"kind": "Accessor",
"children": [
{
"kind": "TypeNominal",
- "name": "Optional",
- "printedName": "Swift.Int?",
+ "name": "Array",
+ "printedName": "[IOTBluetooth.IBPush]",
"children": [
{
"kind": "TypeNominal",
- "name": "Int",
- "printedName": "Swift.Int",
- "usr": "s:Si"
+ "name": "IBPush",
+ "printedName": "IOTBluetooth.IBPush",
+ "usr": "s:12IOTBluetooth6IBPushC"
}
],
- "usr": "s:Sq"
+ "usr": "s:Sa"
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth15IBVibrateConfigC11systemValueSiSgvg",
- "mangledName": "$s12IOTBluetooth15IBVibrateConfigC11systemValueSiSgvg",
+ "usr": "s:12IOTBluetooth6IBPushC3allSayACGvgZ",
+ "mangledName": "$s12IOTBluetooth6IBPushC3allSayACGvgZ",
"moduleName": "IOTBluetooth",
- "implicit": true,
+ "static": true,
+ "declAttributes": [
+ "Final"
+ ],
"accessorKind": "get"
- },
+ }
+ ]
+ }
+ ],
+ "declKind": "Class",
+ "usr": "s:12IOTBluetooth6IBPushC",
+ "mangledName": "$s12IOTBluetooth6IBPushC",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ }
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "IBPushType",
+ "printedName": "IBPushType",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "tel",
+ "printedName": "tel",
+ "children": [
{
- "kind": "Accessor",
- "name": "Set",
- "printedName": "Set()",
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBPushType.Type) -> IOTBluetooth.IBPushType",
"children": [
{
"kind": "TypeNominal",
- "name": "Void",
- "printedName": "()"
+ "name": "IBPushType",
+ "printedName": "IOTBluetooth.IBPushType",
+ "usr": "s:12IOTBluetooth10IBPushTypeO"
},
{
"kind": "TypeNominal",
- "name": "Optional",
- "printedName": "Swift.Int?",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBPushType.Type",
"children": [
{
"kind": "TypeNominal",
- "name": "Int",
- "printedName": "Swift.Int",
- "usr": "s:Si"
+ "name": "IBPushType",
+ "printedName": "IOTBluetooth.IBPushType",
+ "usr": "s:12IOTBluetooth10IBPushTypeO"
}
- ],
- "usr": "s:Sq"
+ ]
}
- ],
- "declKind": "Accessor",
- "usr": "s:12IOTBluetooth15IBVibrateConfigC11systemValueSiSgvs",
- "mangledName": "$s12IOTBluetooth15IBVibrateConfigC11systemValueSiSgvs",
- "moduleName": "IOTBluetooth",
- "implicit": true,
- "accessorKind": "set"
- },
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth10IBPushTypeO3telyA2CmF",
+ "mangledName": "$s12IOTBluetooth10IBPushTypeO3telyA2CmF",
+ "moduleName": "IOTBluetooth"
+ },
+ {
+ "kind": "Var",
+ "name": "sms",
+ "printedName": "sms",
+ "children": [
{
- "kind": "Accessor",
- "name": "Modify",
- "printedName": "Modify()",
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBPushType.Type) -> IOTBluetooth.IBPushType",
"children": [
{
"kind": "TypeNominal",
- "name": "Void",
- "printedName": "()"
+ "name": "IBPushType",
+ "printedName": "IOTBluetooth.IBPushType",
+ "usr": "s:12IOTBluetooth10IBPushTypeO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBPushType.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBPushType",
+ "printedName": "IOTBluetooth.IBPushType",
+ "usr": "s:12IOTBluetooth10IBPushTypeO"
+ }
+ ]
}
- ],
- "declKind": "Accessor",
- "usr": "s:12IOTBluetooth15IBVibrateConfigC11systemValueSiSgvM",
- "mangledName": "$s12IOTBluetooth15IBVibrateConfigC11systemValueSiSgvM",
- "moduleName": "IOTBluetooth",
- "implicit": true,
- "accessorKind": "_modify"
+ ]
}
- ]
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth10IBPushTypeO3smsyA2CmF",
+ "mangledName": "$s12IOTBluetooth10IBPushTypeO3smsyA2CmF",
+ "moduleName": "IOTBluetooth"
},
{
"kind": "Var",
- "name": "ringsValue",
- "printedName": "ringsValue",
+ "name": "email",
+ "printedName": "email",
"children": [
{
- "kind": "TypeNominal",
- "name": "Optional",
- "printedName": "Swift.Int?",
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBPushType.Type) -> IOTBluetooth.IBPushType",
"children": [
{
"kind": "TypeNominal",
- "name": "Int",
- "printedName": "Swift.Int",
- "usr": "s:Si"
+ "name": "IBPushType",
+ "printedName": "IOTBluetooth.IBPushType",
+ "usr": "s:12IOTBluetooth10IBPushTypeO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBPushType.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBPushType",
+ "printedName": "IOTBluetooth.IBPushType",
+ "usr": "s:12IOTBluetooth10IBPushTypeO"
+ }
+ ]
}
- ],
- "usr": "s:Sq"
+ ]
}
],
- "declKind": "Var",
- "usr": "s:12IOTBluetooth15IBVibrateConfigC10ringsValueSiSgvp",
- "mangledName": "$s12IOTBluetooth15IBVibrateConfigC10ringsValueSiSgvp",
- "moduleName": "IOTBluetooth",
- "declAttributes": [
- "HasInitialValue",
- "HasStorage",
- "AccessControl",
- "RawDocComment"
- ],
- "hasStorage": true,
- "accessors": [
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth10IBPushTypeO5emailyA2CmF",
+ "mangledName": "$s12IOTBluetooth10IBPushTypeO5emailyA2CmF",
+ "moduleName": "IOTBluetooth"
+ },
+ {
+ "kind": "Var",
+ "name": "wechat",
+ "printedName": "wechat",
+ "children": [
{
- "kind": "Accessor",
- "name": "Get",
- "printedName": "Get()",
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBPushType.Type) -> IOTBluetooth.IBPushType",
"children": [
{
"kind": "TypeNominal",
- "name": "Optional",
- "printedName": "Swift.Int?",
+ "name": "IBPushType",
+ "printedName": "IOTBluetooth.IBPushType",
+ "usr": "s:12IOTBluetooth10IBPushTypeO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBPushType.Type",
"children": [
{
"kind": "TypeNominal",
- "name": "Int",
- "printedName": "Swift.Int",
- "usr": "s:Si"
+ "name": "IBPushType",
+ "printedName": "IOTBluetooth.IBPushType",
+ "usr": "s:12IOTBluetooth10IBPushTypeO"
}
- ],
- "usr": "s:Sq"
+ ]
}
- ],
- "declKind": "Accessor",
- "usr": "s:12IOTBluetooth15IBVibrateConfigC10ringsValueSiSgvg",
- "mangledName": "$s12IOTBluetooth15IBVibrateConfigC10ringsValueSiSgvg",
- "moduleName": "IOTBluetooth",
- "implicit": true,
- "accessorKind": "get"
- },
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth10IBPushTypeO6wechatyA2CmF",
+ "mangledName": "$s12IOTBluetooth10IBPushTypeO6wechatyA2CmF",
+ "moduleName": "IOTBluetooth"
+ },
+ {
+ "kind": "Var",
+ "name": "qq",
+ "printedName": "qq",
+ "children": [
{
- "kind": "Accessor",
- "name": "Set",
- "printedName": "Set()",
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBPushType.Type) -> IOTBluetooth.IBPushType",
"children": [
{
"kind": "TypeNominal",
- "name": "Void",
- "printedName": "()"
+ "name": "IBPushType",
+ "printedName": "IOTBluetooth.IBPushType",
+ "usr": "s:12IOTBluetooth10IBPushTypeO"
},
{
"kind": "TypeNominal",
- "name": "Optional",
- "printedName": "Swift.Int?",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBPushType.Type",
"children": [
{
"kind": "TypeNominal",
- "name": "Int",
- "printedName": "Swift.Int",
- "usr": "s:Si"
+ "name": "IBPushType",
+ "printedName": "IOTBluetooth.IBPushType",
+ "usr": "s:12IOTBluetooth10IBPushTypeO"
}
- ],
- "usr": "s:Sq"
+ ]
}
- ],
- "declKind": "Accessor",
- "usr": "s:12IOTBluetooth15IBVibrateConfigC10ringsValueSiSgvs",
- "mangledName": "$s12IOTBluetooth15IBVibrateConfigC10ringsValueSiSgvs",
- "moduleName": "IOTBluetooth",
- "implicit": true,
- "accessorKind": "set"
- },
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth10IBPushTypeO2qqyA2CmF",
+ "mangledName": "$s12IOTBluetooth10IBPushTypeO2qqyA2CmF",
+ "moduleName": "IOTBluetooth"
+ },
+ {
+ "kind": "Var",
+ "name": "facebook",
+ "printedName": "facebook",
+ "children": [
{
- "kind": "Accessor",
- "name": "Modify",
- "printedName": "Modify()",
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBPushType.Type) -> IOTBluetooth.IBPushType",
"children": [
{
"kind": "TypeNominal",
- "name": "Void",
- "printedName": "()"
+ "name": "IBPushType",
+ "printedName": "IOTBluetooth.IBPushType",
+ "usr": "s:12IOTBluetooth10IBPushTypeO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBPushType.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBPushType",
+ "printedName": "IOTBluetooth.IBPushType",
+ "usr": "s:12IOTBluetooth10IBPushTypeO"
+ }
+ ]
}
- ],
- "declKind": "Accessor",
- "usr": "s:12IOTBluetooth15IBVibrateConfigC10ringsValueSiSgvM",
- "mangledName": "$s12IOTBluetooth15IBVibrateConfigC10ringsValueSiSgvM",
- "moduleName": "IOTBluetooth",
- "implicit": true,
- "accessorKind": "_modify"
+ ]
}
- ]
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth10IBPushTypeO8facebookyA2CmF",
+ "mangledName": "$s12IOTBluetooth10IBPushTypeO8facebookyA2CmF",
+ "moduleName": "IOTBluetooth"
},
{
"kind": "Var",
- "name": "ringsState",
- "printedName": "ringsState",
+ "name": "twitter",
+ "printedName": "twitter",
"children": [
{
- "kind": "TypeNominal",
- "name": "Optional",
- "printedName": "Swift.Int?",
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBPushType.Type) -> IOTBluetooth.IBPushType",
"children": [
{
"kind": "TypeNominal",
- "name": "Int",
- "printedName": "Swift.Int",
- "usr": "s:Si"
+ "name": "IBPushType",
+ "printedName": "IOTBluetooth.IBPushType",
+ "usr": "s:12IOTBluetooth10IBPushTypeO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBPushType.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBPushType",
+ "printedName": "IOTBluetooth.IBPushType",
+ "usr": "s:12IOTBluetooth10IBPushTypeO"
+ }
+ ]
}
- ],
- "usr": "s:Sq"
+ ]
}
],
- "declKind": "Var",
- "usr": "s:12IOTBluetooth15IBVibrateConfigC10ringsStateSiSgvp",
- "mangledName": "$s12IOTBluetooth15IBVibrateConfigC10ringsStateSiSgvp",
- "moduleName": "IOTBluetooth",
- "declAttributes": [
- "HasInitialValue",
- "HasStorage",
- "AccessControl",
- "RawDocComment"
- ],
- "hasStorage": true,
- "accessors": [
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth10IBPushTypeO7twitteryA2CmF",
+ "mangledName": "$s12IOTBluetooth10IBPushTypeO7twitteryA2CmF",
+ "moduleName": "IOTBluetooth"
+ },
+ {
+ "kind": "Var",
+ "name": "whatsapp",
+ "printedName": "whatsapp",
+ "children": [
{
- "kind": "Accessor",
- "name": "Get",
- "printedName": "Get()",
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBPushType.Type) -> IOTBluetooth.IBPushType",
"children": [
{
"kind": "TypeNominal",
- "name": "Optional",
- "printedName": "Swift.Int?",
+ "name": "IBPushType",
+ "printedName": "IOTBluetooth.IBPushType",
+ "usr": "s:12IOTBluetooth10IBPushTypeO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBPushType.Type",
"children": [
{
"kind": "TypeNominal",
- "name": "Int",
- "printedName": "Swift.Int",
- "usr": "s:Si"
+ "name": "IBPushType",
+ "printedName": "IOTBluetooth.IBPushType",
+ "usr": "s:12IOTBluetooth10IBPushTypeO"
}
- ],
- "usr": "s:Sq"
+ ]
}
- ],
- "declKind": "Accessor",
- "usr": "s:12IOTBluetooth15IBVibrateConfigC10ringsStateSiSgvg",
- "mangledName": "$s12IOTBluetooth15IBVibrateConfigC10ringsStateSiSgvg",
- "moduleName": "IOTBluetooth",
- "implicit": true,
- "accessorKind": "get"
- },
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth10IBPushTypeO8whatsappyA2CmF",
+ "mangledName": "$s12IOTBluetooth10IBPushTypeO8whatsappyA2CmF",
+ "moduleName": "IOTBluetooth"
+ },
+ {
+ "kind": "Var",
+ "name": "linkedIn",
+ "printedName": "linkedIn",
+ "children": [
{
- "kind": "Accessor",
- "name": "Set",
- "printedName": "Set()",
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBPushType.Type) -> IOTBluetooth.IBPushType",
"children": [
{
"kind": "TypeNominal",
- "name": "Void",
- "printedName": "()"
+ "name": "IBPushType",
+ "printedName": "IOTBluetooth.IBPushType",
+ "usr": "s:12IOTBluetooth10IBPushTypeO"
},
{
"kind": "TypeNominal",
- "name": "Optional",
- "printedName": "Swift.Int?",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBPushType.Type",
"children": [
{
"kind": "TypeNominal",
- "name": "Int",
- "printedName": "Swift.Int",
- "usr": "s:Si"
+ "name": "IBPushType",
+ "printedName": "IOTBluetooth.IBPushType",
+ "usr": "s:12IOTBluetooth10IBPushTypeO"
}
- ],
- "usr": "s:Sq"
+ ]
}
- ],
- "declKind": "Accessor",
- "usr": "s:12IOTBluetooth15IBVibrateConfigC10ringsStateSiSgvs",
- "mangledName": "$s12IOTBluetooth15IBVibrateConfigC10ringsStateSiSgvs",
- "moduleName": "IOTBluetooth",
- "implicit": true,
- "accessorKind": "set"
- },
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth10IBPushTypeO8linkedInyA2CmF",
+ "mangledName": "$s12IOTBluetooth10IBPushTypeO8linkedInyA2CmF",
+ "moduleName": "IOTBluetooth"
+ },
+ {
+ "kind": "Var",
+ "name": "instagram",
+ "printedName": "instagram",
+ "children": [
{
- "kind": "Accessor",
- "name": "Modify",
- "printedName": "Modify()",
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBPushType.Type) -> IOTBluetooth.IBPushType",
"children": [
{
"kind": "TypeNominal",
- "name": "Void",
- "printedName": "()"
+ "name": "IBPushType",
+ "printedName": "IOTBluetooth.IBPushType",
+ "usr": "s:12IOTBluetooth10IBPushTypeO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBPushType.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBPushType",
+ "printedName": "IOTBluetooth.IBPushType",
+ "usr": "s:12IOTBluetooth10IBPushTypeO"
+ }
+ ]
}
- ],
- "declKind": "Accessor",
- "usr": "s:12IOTBluetooth15IBVibrateConfigC10ringsStateSiSgvM",
- "mangledName": "$s12IOTBluetooth15IBVibrateConfigC10ringsStateSiSgvM",
- "moduleName": "IOTBluetooth",
- "implicit": true,
- "accessorKind": "_modify"
+ ]
}
- ]
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth10IBPushTypeO9instagramyA2CmF",
+ "mangledName": "$s12IOTBluetooth10IBPushTypeO9instagramyA2CmF",
+ "moduleName": "IOTBluetooth"
},
{
"kind": "Var",
- "name": "vibrateState",
- "printedName": "vibrateState",
+ "name": "messenger",
+ "printedName": "messenger",
"children": [
{
- "kind": "TypeNominal",
- "name": "Optional",
- "printedName": "Swift.Int?",
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBPushType.Type) -> IOTBluetooth.IBPushType",
"children": [
{
"kind": "TypeNominal",
- "name": "Int",
- "printedName": "Swift.Int",
- "usr": "s:Si"
+ "name": "IBPushType",
+ "printedName": "IOTBluetooth.IBPushType",
+ "usr": "s:12IOTBluetooth10IBPushTypeO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBPushType.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBPushType",
+ "printedName": "IOTBluetooth.IBPushType",
+ "usr": "s:12IOTBluetooth10IBPushTypeO"
+ }
+ ]
}
- ],
- "usr": "s:Sq"
+ ]
}
],
- "declKind": "Var",
- "usr": "s:12IOTBluetooth15IBVibrateConfigC12vibrateStateSiSgvp",
- "mangledName": "$s12IOTBluetooth15IBVibrateConfigC12vibrateStateSiSgvp",
- "moduleName": "IOTBluetooth",
- "declAttributes": [
- "HasInitialValue",
- "HasStorage",
- "AccessControl",
- "RawDocComment"
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth10IBPushTypeO9messengeryA2CmF",
+ "mangledName": "$s12IOTBluetooth10IBPushTypeO9messengeryA2CmF",
+ "moduleName": "IOTBluetooth"
+ },
+ {
+ "kind": "Var",
+ "name": "snapchat",
+ "printedName": "snapchat",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBPushType.Type) -> IOTBluetooth.IBPushType",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBPushType",
+ "printedName": "IOTBluetooth.IBPushType",
+ "usr": "s:12IOTBluetooth10IBPushTypeO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBPushType.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBPushType",
+ "printedName": "IOTBluetooth.IBPushType",
+ "usr": "s:12IOTBluetooth10IBPushTypeO"
+ }
+ ]
+ }
+ ]
+ }
],
- "hasStorage": true,
- "accessors": [
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth10IBPushTypeO8snapchatyA2CmF",
+ "mangledName": "$s12IOTBluetooth10IBPushTypeO8snapchatyA2CmF",
+ "moduleName": "IOTBluetooth"
+ },
+ {
+ "kind": "Var",
+ "name": "line",
+ "printedName": "line",
+ "children": [
{
- "kind": "Accessor",
- "name": "Get",
- "printedName": "Get()",
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBPushType.Type) -> IOTBluetooth.IBPushType",
"children": [
{
"kind": "TypeNominal",
- "name": "Optional",
- "printedName": "Swift.Int?",
+ "name": "IBPushType",
+ "printedName": "IOTBluetooth.IBPushType",
+ "usr": "s:12IOTBluetooth10IBPushTypeO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBPushType.Type",
"children": [
{
"kind": "TypeNominal",
- "name": "Int",
- "printedName": "Swift.Int",
- "usr": "s:Si"
+ "name": "IBPushType",
+ "printedName": "IOTBluetooth.IBPushType",
+ "usr": "s:12IOTBluetooth10IBPushTypeO"
}
- ],
- "usr": "s:Sq"
+ ]
}
- ],
- "declKind": "Accessor",
- "usr": "s:12IOTBluetooth15IBVibrateConfigC12vibrateStateSiSgvg",
- "mangledName": "$s12IOTBluetooth15IBVibrateConfigC12vibrateStateSiSgvg",
- "moduleName": "IOTBluetooth",
- "implicit": true,
- "accessorKind": "get"
- },
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth10IBPushTypeO4lineyA2CmF",
+ "mangledName": "$s12IOTBluetooth10IBPushTypeO4lineyA2CmF",
+ "moduleName": "IOTBluetooth"
+ },
+ {
+ "kind": "Var",
+ "name": "talk",
+ "printedName": "talk",
+ "children": [
{
- "kind": "Accessor",
- "name": "Set",
- "printedName": "Set()",
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBPushType.Type) -> IOTBluetooth.IBPushType",
"children": [
{
"kind": "TypeNominal",
- "name": "Void",
- "printedName": "()"
+ "name": "IBPushType",
+ "printedName": "IOTBluetooth.IBPushType",
+ "usr": "s:12IOTBluetooth10IBPushTypeO"
},
{
"kind": "TypeNominal",
- "name": "Optional",
- "printedName": "Swift.Int?",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBPushType.Type",
"children": [
{
"kind": "TypeNominal",
- "name": "Int",
- "printedName": "Swift.Int",
- "usr": "s:Si"
+ "name": "IBPushType",
+ "printedName": "IOTBluetooth.IBPushType",
+ "usr": "s:12IOTBluetooth10IBPushTypeO"
}
- ],
- "usr": "s:Sq"
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth10IBPushTypeO4talkyA2CmF",
+ "mangledName": "$s12IOTBluetooth10IBPushTypeO4talkyA2CmF",
+ "moduleName": "IOTBluetooth"
+ },
+ {
+ "kind": "Var",
+ "name": "viber",
+ "printedName": "viber",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBPushType.Type) -> IOTBluetooth.IBPushType",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBPushType",
+ "printedName": "IOTBluetooth.IBPushType",
+ "usr": "s:12IOTBluetooth10IBPushTypeO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBPushType.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBPushType",
+ "printedName": "IOTBluetooth.IBPushType",
+ "usr": "s:12IOTBluetooth10IBPushTypeO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth10IBPushTypeO5viberyA2CmF",
+ "mangledName": "$s12IOTBluetooth10IBPushTypeO5viberyA2CmF",
+ "moduleName": "IOTBluetooth"
+ },
+ {
+ "kind": "Var",
+ "name": "skype",
+ "printedName": "skype",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBPushType.Type) -> IOTBluetooth.IBPushType",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBPushType",
+ "printedName": "IOTBluetooth.IBPushType",
+ "usr": "s:12IOTBluetooth10IBPushTypeO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBPushType.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBPushType",
+ "printedName": "IOTBluetooth.IBPushType",
+ "usr": "s:12IOTBluetooth10IBPushTypeO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth10IBPushTypeO5skypeyA2CmF",
+ "mangledName": "$s12IOTBluetooth10IBPushTypeO5skypeyA2CmF",
+ "moduleName": "IOTBluetooth"
+ },
+ {
+ "kind": "Var",
+ "name": "telegram",
+ "printedName": "telegram",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBPushType.Type) -> IOTBluetooth.IBPushType",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBPushType",
+ "printedName": "IOTBluetooth.IBPushType",
+ "usr": "s:12IOTBluetooth10IBPushTypeO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBPushType.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBPushType",
+ "printedName": "IOTBluetooth.IBPushType",
+ "usr": "s:12IOTBluetooth10IBPushTypeO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth10IBPushTypeO8telegramyA2CmF",
+ "mangledName": "$s12IOTBluetooth10IBPushTypeO8telegramyA2CmF",
+ "moduleName": "IOTBluetooth"
+ },
+ {
+ "kind": "Var",
+ "name": "other",
+ "printedName": "other",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBPushType.Type) -> IOTBluetooth.IBPushType",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBPushType",
+ "printedName": "IOTBluetooth.IBPushType",
+ "usr": "s:12IOTBluetooth10IBPushTypeO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBPushType.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBPushType",
+ "printedName": "IOTBluetooth.IBPushType",
+ "usr": "s:12IOTBluetooth10IBPushTypeO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth10IBPushTypeO5otheryA2CmF",
+ "mangledName": "$s12IOTBluetooth10IBPushTypeO5otheryA2CmF",
+ "moduleName": "IOTBluetooth"
+ },
+ {
+ "kind": "Var",
+ "name": "name",
+ "printedName": "name",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth10IBPushTypeO4nameSSvp",
+ "mangledName": "$s12IOTBluetooth10IBPushTypeO4nameSSvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth15IBVibrateConfigC12vibrateStateSiSgvs",
- "mangledName": "$s12IOTBluetooth15IBVibrateConfigC12vibrateStateSiSgvs",
+ "usr": "s:12IOTBluetooth10IBPushTypeO4nameSSvg",
+ "mangledName": "$s12IOTBluetooth10IBPushTypeO4nameSSvg",
"moduleName": "IOTBluetooth",
- "implicit": true,
- "accessorKind": "set"
- },
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "bundleId",
+ "printedName": "bundleId",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth10IBPushTypeO8bundleIdSSvp",
+ "mangledName": "$s12IOTBluetooth10IBPushTypeO8bundleIdSSvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "accessors": [
{
"kind": "Accessor",
- "name": "Modify",
- "printedName": "Modify()",
+ "name": "Get",
+ "printedName": "Get()",
"children": [
{
"kind": "TypeNominal",
- "name": "Void",
- "printedName": "()"
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth15IBVibrateConfigC12vibrateStateSiSgvM",
- "mangledName": "$s12IOTBluetooth15IBVibrateConfigC12vibrateStateSiSgvM",
+ "usr": "s:12IOTBluetooth10IBPushTypeO8bundleIdSSvg",
+ "mangledName": "$s12IOTBluetooth10IBPushTypeO8bundleIdSSvg",
"moduleName": "IOTBluetooth",
- "implicit": true,
- "accessorKind": "_modify"
+ "accessorKind": "get"
}
]
},
{
"kind": "Constructor",
"name": "init",
- "printedName": "init()",
+ "printedName": "init(rawValue:)",
"children": [
{
"kind": "TypeNominal",
- "name": "IBVibrateConfig",
- "printedName": "IOTBluetooth.IBVibrateConfig",
- "usr": "s:12IOTBluetooth15IBVibrateConfigC"
+ "name": "Optional",
+ "printedName": "IOTBluetooth.IBPushType?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBPushType",
+ "printedName": "IOTBluetooth.IBPushType",
+ "usr": "s:12IOTBluetooth10IBPushTypeO"
+ }
+ ],
+ "usr": "s:Sq"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
}
],
"declKind": "Constructor",
- "usr": "s:12IOTBluetooth15IBVibrateConfigCACycfc",
- "mangledName": "$s12IOTBluetooth15IBVibrateConfigCACycfc",
+ "usr": "s:12IOTBluetooth10IBPushTypeO8rawValueACSgSi_tcfc",
+ "mangledName": "$s12IOTBluetooth10IBPushTypeO8rawValueACSgSi_tcfc",
"moduleName": "IOTBluetooth",
- "declAttributes": [
- "AccessControl"
- ],
+ "implicit": true,
"init_kind": "Designated"
+ },
+ {
+ "kind": "Var",
+ "name": "rawValue",
+ "printedName": "rawValue",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth10IBPushTypeO8rawValueSivp",
+ "mangledName": "$s12IOTBluetooth10IBPushTypeO8rawValueSivp",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth10IBPushTypeO8rawValueSivg",
+ "mangledName": "$s12IOTBluetooth10IBPushTypeO8rawValueSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ }
+ ]
}
],
- "declKind": "Class",
- "usr": "s:12IOTBluetooth15IBVibrateConfigC",
- "mangledName": "$s12IOTBluetooth15IBVibrateConfigC",
+ "declKind": "Enum",
+ "usr": "s:12IOTBluetooth10IBPushTypeO",
+ "mangledName": "$s12IOTBluetooth10IBPushTypeO",
"moduleName": "IOTBluetooth",
"declAttributes": [
"AccessControl",
"RawDocComment"
+ ],
+ "enumRawTypeName": "Int",
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Equatable",
+ "printedName": "Equatable",
+ "usr": "s:SQ",
+ "mangledName": "$sSQ"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Hashable",
+ "printedName": "Hashable",
+ "usr": "s:SH",
+ "mangledName": "$sSH"
+ },
+ {
+ "kind": "Conformance",
+ "name": "RawRepresentable",
+ "printedName": "RawRepresentable",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "RawValue",
+ "printedName": "RawValue",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ]
+ }
+ ],
+ "usr": "s:SY",
+ "mangledName": "$sSY"
+ }
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
]
},
{
"kind": "TypeDecl",
- "name": "IBVibrateSound",
- "printedName": "IBVibrateSound",
+ "name": "IBHistoryStandItem",
+ "printedName": "IBHistoryStandItem",
"children": [
{
"kind": "Var",
- "name": "systemValue",
- "printedName": "systemValue",
+ "name": "time",
+ "printedName": "time",
"children": [
{
"kind": "TypeNominal",
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth14IBVibrateSoundC11systemValueSivp",
- "mangledName": "$s12IOTBluetooth14IBVibrateSoundC11systemValueSivp",
+ "usr": "s:12IOTBluetooth18IBHistoryStandItemC4timeSivp",
+ "mangledName": "$s12IOTBluetooth18IBHistoryStandItemC4timeSivp",
"moduleName": "IOTBluetooth",
"declAttributes": [
"HasInitialValue",
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth14IBVibrateSoundC11systemValueSivg",
- "mangledName": "$s12IOTBluetooth14IBVibrateSoundC11systemValueSivg",
+ "usr": "s:12IOTBluetooth18IBHistoryStandItemC4timeSivg",
+ "mangledName": "$s12IOTBluetooth18IBHistoryStandItemC4timeSivg",
"moduleName": "IOTBluetooth",
"implicit": true,
"accessorKind": "get"
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth14IBVibrateSoundC11systemValueSivs",
- "mangledName": "$s12IOTBluetooth14IBVibrateSoundC11systemValueSivs",
+ "usr": "s:12IOTBluetooth18IBHistoryStandItemC4timeSivs",
+ "mangledName": "$s12IOTBluetooth18IBHistoryStandItemC4timeSivs",
"moduleName": "IOTBluetooth",
"implicit": true,
"accessorKind": "set"
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth14IBVibrateSoundC11systemValueSivM",
- "mangledName": "$s12IOTBluetooth14IBVibrateSoundC11systemValueSivM",
+ "usr": "s:12IOTBluetooth18IBHistoryStandItemC4timeSivM",
+ "mangledName": "$s12IOTBluetooth18IBHistoryStandItemC4timeSivM",
"moduleName": "IOTBluetooth",
"implicit": true,
"accessorKind": "_modify"
}
]
},
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBHistoryStandItem",
+ "printedName": "IOTBluetooth.IBHistoryStandItem",
+ "usr": "s:12IOTBluetooth18IBHistoryStandItemC"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth18IBHistoryStandItemCACycfc",
+ "mangledName": "$s12IOTBluetooth18IBHistoryStandItemCACycfc",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "init_kind": "Designated"
+ }
+ ],
+ "declKind": "Class",
+ "usr": "s:12IOTBluetooth18IBHistoryStandItemC",
+ "mangledName": "$s12IOTBluetooth18IBHistoryStandItemC",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ }
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "IBVibrateConfig",
+ "printedName": "IBVibrateConfig",
+ "children": [
{
"kind": "Var",
- "name": "ringsValue",
- "printedName": "ringsValue",
+ "name": "type",
+ "printedName": "type",
"children": [
{
"kind": "TypeNominal",
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth14IBVibrateSoundC10ringsValueSivp",
- "mangledName": "$s12IOTBluetooth14IBVibrateSoundC10ringsValueSivp",
+ "usr": "s:12IOTBluetooth15IBVibrateConfigC4typeSivp",
+ "mangledName": "$s12IOTBluetooth15IBVibrateConfigC4typeSivp",
"moduleName": "IOTBluetooth",
"declAttributes": [
"HasInitialValue",
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth14IBVibrateSoundC10ringsValueSivg",
- "mangledName": "$s12IOTBluetooth14IBVibrateSoundC10ringsValueSivg",
+ "usr": "s:12IOTBluetooth15IBVibrateConfigC4typeSivg",
+ "mangledName": "$s12IOTBluetooth15IBVibrateConfigC4typeSivg",
"moduleName": "IOTBluetooth",
"implicit": true,
"accessorKind": "get"
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth14IBVibrateSoundC10ringsValueSivs",
- "mangledName": "$s12IOTBluetooth14IBVibrateSoundC10ringsValueSivs",
+ "usr": "s:12IOTBluetooth15IBVibrateConfigC4typeSivs",
+ "mangledName": "$s12IOTBluetooth15IBVibrateConfigC4typeSivs",
"moduleName": "IOTBluetooth",
"implicit": true,
"accessorKind": "set"
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth14IBVibrateSoundC10ringsValueSivM",
- "mangledName": "$s12IOTBluetooth14IBVibrateSoundC10ringsValueSivM",
+ "usr": "s:12IOTBluetooth15IBVibrateConfigC4typeSivM",
+ "mangledName": "$s12IOTBluetooth15IBVibrateConfigC4typeSivM",
"moduleName": "IOTBluetooth",
"implicit": true,
"accessorKind": "_modify"
},
{
"kind": "Var",
- "name": "mediaValue",
- "printedName": "mediaValue",
+ "name": "systemValue",
+ "printedName": "systemValue",
"children": [
{
"kind": "TypeNominal",
- "name": "Int",
- "printedName": "Swift.Int",
- "usr": "s:Si"
+ "name": "Optional",
+ "printedName": "Swift.Int?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "usr": "s:Sq"
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth14IBVibrateSoundC10mediaValueSivp",
- "mangledName": "$s12IOTBluetooth14IBVibrateSoundC10mediaValueSivp",
+ "usr": "s:12IOTBluetooth15IBVibrateConfigC11systemValueSiSgvp",
+ "mangledName": "$s12IOTBluetooth15IBVibrateConfigC11systemValueSiSgvp",
"moduleName": "IOTBluetooth",
"declAttributes": [
"HasInitialValue",
"children": [
{
"kind": "TypeNominal",
- "name": "Int",
- "printedName": "Swift.Int",
- "usr": "s:Si"
- }
- ],
- "declKind": "Accessor",
- "usr": "s:12IOTBluetooth14IBVibrateSoundC10mediaValueSivg",
- "mangledName": "$s12IOTBluetooth14IBVibrateSoundC10mediaValueSivg",
+ "name": "Optional",
+ "printedName": "Swift.Int?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth15IBVibrateConfigC11systemValueSiSgvg",
+ "mangledName": "$s12IOTBluetooth15IBVibrateConfigC11systemValueSiSgvg",
"moduleName": "IOTBluetooth",
"implicit": true,
"accessorKind": "get"
"name": "Void",
"printedName": "()"
},
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.Int?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth15IBVibrateConfigC11systemValueSiSgvs",
+ "mangledName": "$s12IOTBluetooth15IBVibrateConfigC11systemValueSiSgvs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth15IBVibrateConfigC11systemValueSiSgvM",
+ "mangledName": "$s12IOTBluetooth15IBVibrateConfigC11systemValueSiSgvM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "ringsValue",
+ "printedName": "ringsValue",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.Int?",
+ "children": [
{
"kind": "TypeNominal",
"name": "Int",
"usr": "s:Si"
}
],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth15IBVibrateConfigC10ringsValueSiSgvp",
+ "mangledName": "$s12IOTBluetooth15IBVibrateConfigC10ringsValueSiSgvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.Int?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth14IBVibrateSoundC10mediaValueSivs",
- "mangledName": "$s12IOTBluetooth14IBVibrateSoundC10mediaValueSivs",
+ "usr": "s:12IOTBluetooth15IBVibrateConfigC10ringsValueSiSgvg",
+ "mangledName": "$s12IOTBluetooth15IBVibrateConfigC10ringsValueSiSgvg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.Int?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth15IBVibrateConfigC10ringsValueSiSgvs",
+ "mangledName": "$s12IOTBluetooth15IBVibrateConfigC10ringsValueSiSgvs",
"moduleName": "IOTBluetooth",
"implicit": true,
"accessorKind": "set"
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth14IBVibrateSoundC10mediaValueSivM",
- "mangledName": "$s12IOTBluetooth14IBVibrateSoundC10mediaValueSivM",
+ "usr": "s:12IOTBluetooth15IBVibrateConfigC10ringsValueSiSgvM",
+ "mangledName": "$s12IOTBluetooth15IBVibrateConfigC10ringsValueSiSgvM",
"moduleName": "IOTBluetooth",
"implicit": true,
"accessorKind": "_modify"
"children": [
{
"kind": "TypeNominal",
- "name": "Int",
- "printedName": "Swift.Int",
- "usr": "s:Si"
+ "name": "Optional",
+ "printedName": "Swift.Int?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "usr": "s:Sq"
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth14IBVibrateSoundC10ringsStateSivp",
- "mangledName": "$s12IOTBluetooth14IBVibrateSoundC10ringsStateSivp",
+ "usr": "s:12IOTBluetooth15IBVibrateConfigC10ringsStateSiSgvp",
+ "mangledName": "$s12IOTBluetooth15IBVibrateConfigC10ringsStateSiSgvp",
"moduleName": "IOTBluetooth",
"declAttributes": [
"HasInitialValue",
"children": [
{
"kind": "TypeNominal",
- "name": "Int",
- "printedName": "Swift.Int",
- "usr": "s:Si"
+ "name": "Optional",
+ "printedName": "Swift.Int?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "usr": "s:Sq"
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth14IBVibrateSoundC10ringsStateSivg",
- "mangledName": "$s12IOTBluetooth14IBVibrateSoundC10ringsStateSivg",
+ "usr": "s:12IOTBluetooth15IBVibrateConfigC10ringsStateSiSgvg",
+ "mangledName": "$s12IOTBluetooth15IBVibrateConfigC10ringsStateSiSgvg",
"moduleName": "IOTBluetooth",
"implicit": true,
"accessorKind": "get"
},
{
"kind": "TypeNominal",
- "name": "Int",
- "printedName": "Swift.Int",
- "usr": "s:Si"
+ "name": "Optional",
+ "printedName": "Swift.Int?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "usr": "s:Sq"
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth14IBVibrateSoundC10ringsStateSivs",
- "mangledName": "$s12IOTBluetooth14IBVibrateSoundC10ringsStateSivs",
+ "usr": "s:12IOTBluetooth15IBVibrateConfigC10ringsStateSiSgvs",
+ "mangledName": "$s12IOTBluetooth15IBVibrateConfigC10ringsStateSiSgvs",
"moduleName": "IOTBluetooth",
"implicit": true,
"accessorKind": "set"
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth14IBVibrateSoundC10ringsStateSivM",
- "mangledName": "$s12IOTBluetooth14IBVibrateSoundC10ringsStateSivM",
+ "usr": "s:12IOTBluetooth15IBVibrateConfigC10ringsStateSiSgvM",
+ "mangledName": "$s12IOTBluetooth15IBVibrateConfigC10ringsStateSiSgvM",
"moduleName": "IOTBluetooth",
"implicit": true,
"accessorKind": "_modify"
"children": [
{
"kind": "TypeNominal",
- "name": "Int",
- "printedName": "Swift.Int",
- "usr": "s:Si"
+ "name": "Optional",
+ "printedName": "Swift.Int?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "usr": "s:Sq"
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth14IBVibrateSoundC12vibrateStateSivp",
- "mangledName": "$s12IOTBluetooth14IBVibrateSoundC12vibrateStateSivp",
+ "usr": "s:12IOTBluetooth15IBVibrateConfigC12vibrateStateSiSgvp",
+ "mangledName": "$s12IOTBluetooth15IBVibrateConfigC12vibrateStateSiSgvp",
"moduleName": "IOTBluetooth",
"declAttributes": [
"HasInitialValue",
"children": [
{
"kind": "TypeNominal",
- "name": "Int",
- "printedName": "Swift.Int",
- "usr": "s:Si"
+ "name": "Optional",
+ "printedName": "Swift.Int?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "usr": "s:Sq"
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth14IBVibrateSoundC12vibrateStateSivg",
- "mangledName": "$s12IOTBluetooth14IBVibrateSoundC12vibrateStateSivg",
+ "usr": "s:12IOTBluetooth15IBVibrateConfigC12vibrateStateSiSgvg",
+ "mangledName": "$s12IOTBluetooth15IBVibrateConfigC12vibrateStateSiSgvg",
"moduleName": "IOTBluetooth",
"implicit": true,
"accessorKind": "get"
},
{
"kind": "TypeNominal",
- "name": "Int",
- "printedName": "Swift.Int",
- "usr": "s:Si"
+ "name": "Optional",
+ "printedName": "Swift.Int?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "usr": "s:Sq"
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth14IBVibrateSoundC12vibrateStateSivs",
- "mangledName": "$s12IOTBluetooth14IBVibrateSoundC12vibrateStateSivs",
+ "usr": "s:12IOTBluetooth15IBVibrateConfigC12vibrateStateSiSgvs",
+ "mangledName": "$s12IOTBluetooth15IBVibrateConfigC12vibrateStateSiSgvs",
"moduleName": "IOTBluetooth",
"implicit": true,
"accessorKind": "set"
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth14IBVibrateSoundC12vibrateStateSivM",
- "mangledName": "$s12IOTBluetooth14IBVibrateSoundC12vibrateStateSivM",
+ "usr": "s:12IOTBluetooth15IBVibrateConfigC12vibrateStateSiSgvM",
+ "mangledName": "$s12IOTBluetooth15IBVibrateConfigC12vibrateStateSiSgvM",
"moduleName": "IOTBluetooth",
"implicit": true,
"accessorKind": "_modify"
"children": [
{
"kind": "TypeNominal",
- "name": "IBVibrateSound",
- "printedName": "IOTBluetooth.IBVibrateSound",
- "usr": "s:12IOTBluetooth14IBVibrateSoundC"
+ "name": "IBVibrateConfig",
+ "printedName": "IOTBluetooth.IBVibrateConfig",
+ "usr": "s:12IOTBluetooth15IBVibrateConfigC"
}
],
"declKind": "Constructor",
- "usr": "s:12IOTBluetooth14IBVibrateSoundCACycfc",
- "mangledName": "$s12IOTBluetooth14IBVibrateSoundCACycfc",
+ "usr": "s:12IOTBluetooth15IBVibrateConfigCACycfc",
+ "mangledName": "$s12IOTBluetooth15IBVibrateConfigCACycfc",
"moduleName": "IOTBluetooth",
"declAttributes": [
"AccessControl"
}
],
"declKind": "Class",
- "usr": "s:12IOTBluetooth14IBVibrateSoundC",
- "mangledName": "$s12IOTBluetooth14IBVibrateSoundC",
+ "usr": "s:12IOTBluetooth15IBVibrateConfigC",
+ "mangledName": "$s12IOTBluetooth15IBVibrateConfigC",
"moduleName": "IOTBluetooth",
"declAttributes": [
"AccessControl",
"RawDocComment"
],
- "hasMissingDesignatedInitializers": true
- },
- {
- "kind": "Import",
- "name": "Foundation",
- "printedName": "Foundation",
- "declKind": "Import",
- "moduleName": "IOTBluetooth",
- "declAttributes": [
- "RawDocComment"
- ]
- },
- {
- "kind": "Import",
- "name": "Foundation",
- "printedName": "Foundation",
- "declKind": "Import",
- "moduleName": "IOTBluetooth",
- "declAttributes": [
- "RawDocComment"
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ }
]
},
{
"kind": "TypeDecl",
- "name": "IBAddressBook",
- "printedName": "IBAddressBook",
+ "name": "IBVibrateSound",
+ "printedName": "IBVibrateSound",
"children": [
{
"kind": "Var",
- "name": "gender",
- "printedName": "gender",
+ "name": "systemValue",
+ "printedName": "systemValue",
"children": [
{
"kind": "TypeNominal",
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth13IBAddressBookC6genderSivp",
- "mangledName": "$s12IOTBluetooth13IBAddressBookC6genderSivp",
+ "usr": "s:12IOTBluetooth14IBVibrateSoundC11systemValueSivp",
+ "mangledName": "$s12IOTBluetooth14IBVibrateSoundC11systemValueSivp",
"moduleName": "IOTBluetooth",
"declAttributes": [
"HasInitialValue",
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth13IBAddressBookC6genderSivg",
- "mangledName": "$s12IOTBluetooth13IBAddressBookC6genderSivg",
+ "usr": "s:12IOTBluetooth14IBVibrateSoundC11systemValueSivg",
+ "mangledName": "$s12IOTBluetooth14IBVibrateSoundC11systemValueSivg",
"moduleName": "IOTBluetooth",
"implicit": true,
"accessorKind": "get"
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth13IBAddressBookC6genderSivs",
- "mangledName": "$s12IOTBluetooth13IBAddressBookC6genderSivs",
+ "usr": "s:12IOTBluetooth14IBVibrateSoundC11systemValueSivs",
+ "mangledName": "$s12IOTBluetooth14IBVibrateSoundC11systemValueSivs",
"moduleName": "IOTBluetooth",
"implicit": true,
"accessorKind": "set"
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth13IBAddressBookC6genderSivM",
- "mangledName": "$s12IOTBluetooth13IBAddressBookC6genderSivM",
+ "usr": "s:12IOTBluetooth14IBVibrateSoundC11systemValueSivM",
+ "mangledName": "$s12IOTBluetooth14IBVibrateSoundC11systemValueSivM",
"moduleName": "IOTBluetooth",
"implicit": true,
"accessorKind": "_modify"
},
{
"kind": "Var",
- "name": "name",
- "printedName": "name",
+ "name": "ringsValue",
+ "printedName": "ringsValue",
"children": [
{
"kind": "TypeNominal",
- "name": "Optional",
- "printedName": "Swift.String?",
- "children": [
- {
- "kind": "TypeNominal",
- "name": "String",
- "printedName": "Swift.String",
- "usr": "s:SS"
- }
- ],
- "usr": "s:Sq"
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth13IBAddressBookC4nameSSSgvp",
- "mangledName": "$s12IOTBluetooth13IBAddressBookC4nameSSSgvp",
+ "usr": "s:12IOTBluetooth14IBVibrateSoundC10ringsValueSivp",
+ "mangledName": "$s12IOTBluetooth14IBVibrateSoundC10ringsValueSivp",
"moduleName": "IOTBluetooth",
"declAttributes": [
"HasInitialValue",
"children": [
{
"kind": "TypeNominal",
- "name": "Optional",
- "printedName": "Swift.String?",
- "children": [
- {
- "kind": "TypeNominal",
- "name": "String",
- "printedName": "Swift.String",
- "usr": "s:SS"
- }
- ],
- "usr": "s:Sq"
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth13IBAddressBookC4nameSSSgvg",
- "mangledName": "$s12IOTBluetooth13IBAddressBookC4nameSSSgvg",
+ "usr": "s:12IOTBluetooth14IBVibrateSoundC10ringsValueSivg",
+ "mangledName": "$s12IOTBluetooth14IBVibrateSoundC10ringsValueSivg",
"moduleName": "IOTBluetooth",
"implicit": true,
"accessorKind": "get"
},
{
"kind": "TypeNominal",
- "name": "Optional",
- "printedName": "Swift.String?",
- "children": [
- {
- "kind": "TypeNominal",
- "name": "String",
- "printedName": "Swift.String",
- "usr": "s:SS"
- }
- ],
- "usr": "s:Sq"
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth13IBAddressBookC4nameSSSgvs",
- "mangledName": "$s12IOTBluetooth13IBAddressBookC4nameSSSgvs",
+ "usr": "s:12IOTBluetooth14IBVibrateSoundC10ringsValueSivs",
+ "mangledName": "$s12IOTBluetooth14IBVibrateSoundC10ringsValueSivs",
"moduleName": "IOTBluetooth",
"implicit": true,
"accessorKind": "set"
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth13IBAddressBookC4nameSSSgvM",
- "mangledName": "$s12IOTBluetooth13IBAddressBookC4nameSSSgvM",
+ "usr": "s:12IOTBluetooth14IBVibrateSoundC10ringsValueSivM",
+ "mangledName": "$s12IOTBluetooth14IBVibrateSoundC10ringsValueSivM",
"moduleName": "IOTBluetooth",
"implicit": true,
"accessorKind": "_modify"
},
{
"kind": "Var",
- "name": "phoneNumbers",
- "printedName": "phoneNumbers",
+ "name": "mediaValue",
+ "printedName": "mediaValue",
"children": [
{
"kind": "TypeNominal",
- "name": "Array",
- "printedName": "[IOTBluetooth.IBPhoneNumber]",
- "children": [
- {
- "kind": "TypeNominal",
- "name": "IBPhoneNumber",
- "printedName": "IOTBluetooth.IBPhoneNumber",
- "usr": "s:12IOTBluetooth13IBPhoneNumberC"
- }
- ],
- "usr": "s:Sa"
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth13IBAddressBookC12phoneNumbersSayAA13IBPhoneNumberCGvp",
- "mangledName": "$s12IOTBluetooth13IBAddressBookC12phoneNumbersSayAA13IBPhoneNumberCGvp",
+ "usr": "s:12IOTBluetooth14IBVibrateSoundC10mediaValueSivp",
+ "mangledName": "$s12IOTBluetooth14IBVibrateSoundC10mediaValueSivp",
"moduleName": "IOTBluetooth",
"declAttributes": [
"HasInitialValue",
"children": [
{
"kind": "TypeNominal",
- "name": "Array",
- "printedName": "[IOTBluetooth.IBPhoneNumber]",
- "children": [
- {
- "kind": "TypeNominal",
- "name": "IBPhoneNumber",
- "printedName": "IOTBluetooth.IBPhoneNumber",
- "usr": "s:12IOTBluetooth13IBPhoneNumberC"
- }
- ],
- "usr": "s:Sa"
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth13IBAddressBookC12phoneNumbersSayAA13IBPhoneNumberCGvg",
- "mangledName": "$s12IOTBluetooth13IBAddressBookC12phoneNumbersSayAA13IBPhoneNumberCGvg",
+ "usr": "s:12IOTBluetooth14IBVibrateSoundC10mediaValueSivg",
+ "mangledName": "$s12IOTBluetooth14IBVibrateSoundC10mediaValueSivg",
"moduleName": "IOTBluetooth",
"implicit": true,
"accessorKind": "get"
},
{
"kind": "TypeNominal",
- "name": "Array",
- "printedName": "[IOTBluetooth.IBPhoneNumber]",
- "children": [
- {
- "kind": "TypeNominal",
- "name": "IBPhoneNumber",
- "printedName": "IOTBluetooth.IBPhoneNumber",
- "usr": "s:12IOTBluetooth13IBPhoneNumberC"
- }
- ],
- "usr": "s:Sa"
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth13IBAddressBookC12phoneNumbersSayAA13IBPhoneNumberCGvs",
- "mangledName": "$s12IOTBluetooth13IBAddressBookC12phoneNumbersSayAA13IBPhoneNumberCGvs",
+ "usr": "s:12IOTBluetooth14IBVibrateSoundC10mediaValueSivs",
+ "mangledName": "$s12IOTBluetooth14IBVibrateSoundC10mediaValueSivs",
"moduleName": "IOTBluetooth",
"implicit": true,
"accessorKind": "set"
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth13IBAddressBookC12phoneNumbersSayAA13IBPhoneNumberCGvM",
- "mangledName": "$s12IOTBluetooth13IBAddressBookC12phoneNumbersSayAA13IBPhoneNumberCGvM",
+ "usr": "s:12IOTBluetooth14IBVibrateSoundC10mediaValueSivM",
+ "mangledName": "$s12IOTBluetooth14IBVibrateSoundC10mediaValueSivM",
"moduleName": "IOTBluetooth",
"implicit": true,
"accessorKind": "_modify"
}
]
},
- {
- "kind": "Constructor",
- "name": "init",
- "printedName": "init()",
- "children": [
- {
- "kind": "TypeNominal",
- "name": "IBAddressBook",
- "printedName": "IOTBluetooth.IBAddressBook",
- "usr": "s:12IOTBluetooth13IBAddressBookC"
- }
- ],
- "declKind": "Constructor",
- "usr": "s:12IOTBluetooth13IBAddressBookCACycfc",
- "mangledName": "$s12IOTBluetooth13IBAddressBookCACycfc",
- "moduleName": "IOTBluetooth",
- "declAttributes": [
- "AccessControl"
- ],
- "init_kind": "Designated"
- },
{
"kind": "Var",
- "name": "description",
- "printedName": "description",
+ "name": "ringsState",
+ "printedName": "ringsState",
"children": [
{
"kind": "TypeNominal",
- "name": "String",
- "printedName": "Swift.String",
- "usr": "s:SS"
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth13IBAddressBookC11descriptionSSvp",
- "mangledName": "$s12IOTBluetooth13IBAddressBookC11descriptionSSvp",
+ "usr": "s:12IOTBluetooth14IBVibrateSoundC10ringsStateSivp",
+ "mangledName": "$s12IOTBluetooth14IBVibrateSoundC10ringsStateSivp",
"moduleName": "IOTBluetooth",
"declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
"AccessControl",
"RawDocComment"
],
+ "hasStorage": true,
"accessors": [
{
"kind": "Accessor",
"children": [
{
"kind": "TypeNominal",
- "name": "String",
- "printedName": "Swift.String",
- "usr": "s:SS"
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth13IBAddressBookC11descriptionSSvg",
- "mangledName": "$s12IOTBluetooth13IBAddressBookC11descriptionSSvg",
+ "usr": "s:12IOTBluetooth14IBVibrateSoundC10ringsStateSivg",
+ "mangledName": "$s12IOTBluetooth14IBVibrateSoundC10ringsStateSivg",
"moduleName": "IOTBluetooth",
+ "implicit": true,
"accessorKind": "get"
- }
- ]
- }
- ],
- "declKind": "Class",
- "usr": "s:12IOTBluetooth13IBAddressBookC",
- "mangledName": "$s12IOTBluetooth13IBAddressBookC",
- "moduleName": "IOTBluetooth",
- "declAttributes": [
- "AccessControl",
- "RawDocComment"
- ]
- },
- {
- "kind": "TypeDecl",
- "name": "IBPhoneNumber",
- "printedName": "IBPhoneNumber",
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth14IBVibrateSoundC10ringsStateSivs",
+ "mangledName": "$s12IOTBluetooth14IBVibrateSoundC10ringsStateSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth14IBVibrateSoundC10ringsStateSivM",
+ "mangledName": "$s12IOTBluetooth14IBVibrateSoundC10ringsStateSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "vibrateState",
+ "printedName": "vibrateState",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth14IBVibrateSoundC12vibrateStateSivp",
+ "mangledName": "$s12IOTBluetooth14IBVibrateSoundC12vibrateStateSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth14IBVibrateSoundC12vibrateStateSivg",
+ "mangledName": "$s12IOTBluetooth14IBVibrateSoundC12vibrateStateSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth14IBVibrateSoundC12vibrateStateSivs",
+ "mangledName": "$s12IOTBluetooth14IBVibrateSoundC12vibrateStateSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth14IBVibrateSoundC12vibrateStateSivM",
+ "mangledName": "$s12IOTBluetooth14IBVibrateSoundC12vibrateStateSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBVibrateSound",
+ "printedName": "IOTBluetooth.IBVibrateSound",
+ "usr": "s:12IOTBluetooth14IBVibrateSoundC"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth14IBVibrateSoundCACycfc",
+ "mangledName": "$s12IOTBluetooth14IBVibrateSoundCACycfc",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "init_kind": "Designated"
+ }
+ ],
+ "declKind": "Class",
+ "usr": "s:12IOTBluetooth14IBVibrateSoundC",
+ "mangledName": "$s12IOTBluetooth14IBVibrateSoundC",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasMissingDesignatedInitializers": true,
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ }
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "IBAddressBook",
+ "printedName": "IBAddressBook",
"children": [
{
"kind": "Var",
- "name": "number",
- "printedName": "number",
+ "name": "gender",
+ "printedName": "gender",
"children": [
{
"kind": "TypeNominal",
- "name": "String",
- "printedName": "Swift.String",
- "usr": "s:SS"
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth13IBPhoneNumberC6numberSSvp",
- "mangledName": "$s12IOTBluetooth13IBPhoneNumberC6numberSSvp",
+ "usr": "s:12IOTBluetooth13IBAddressBookC6genderSivp",
+ "mangledName": "$s12IOTBluetooth13IBAddressBookC6genderSivp",
"moduleName": "IOTBluetooth",
"declAttributes": [
"HasInitialValue",
"children": [
{
"kind": "TypeNominal",
- "name": "String",
- "printedName": "Swift.String",
- "usr": "s:SS"
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth13IBPhoneNumberC6numberSSvg",
- "mangledName": "$s12IOTBluetooth13IBPhoneNumberC6numberSSvg",
+ "usr": "s:12IOTBluetooth13IBAddressBookC6genderSivg",
+ "mangledName": "$s12IOTBluetooth13IBAddressBookC6genderSivg",
"moduleName": "IOTBluetooth",
"implicit": true,
"accessorKind": "get"
},
{
"kind": "TypeNominal",
- "name": "String",
- "printedName": "Swift.String",
- "usr": "s:SS"
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth13IBPhoneNumberC6numberSSvs",
- "mangledName": "$s12IOTBluetooth13IBPhoneNumberC6numberSSvs",
+ "usr": "s:12IOTBluetooth13IBAddressBookC6genderSivs",
+ "mangledName": "$s12IOTBluetooth13IBAddressBookC6genderSivs",
"moduleName": "IOTBluetooth",
"implicit": true,
"accessorKind": "set"
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth13IBPhoneNumberC6numberSSvM",
- "mangledName": "$s12IOTBluetooth13IBPhoneNumberC6numberSSvM",
+ "usr": "s:12IOTBluetooth13IBAddressBookC6genderSivM",
+ "mangledName": "$s12IOTBluetooth13IBAddressBookC6genderSivM",
"moduleName": "IOTBluetooth",
"implicit": true,
"accessorKind": "_modify"
},
{
"kind": "Var",
- "name": "location",
- "printedName": "location",
+ "name": "name",
+ "printedName": "name",
"children": [
{
"kind": "TypeNominal",
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth13IBPhoneNumberC8locationSSSgvp",
- "mangledName": "$s12IOTBluetooth13IBPhoneNumberC8locationSSSgvp",
+ "usr": "s:12IOTBluetooth13IBAddressBookC4nameSSSgvp",
+ "mangledName": "$s12IOTBluetooth13IBAddressBookC4nameSSSgvp",
"moduleName": "IOTBluetooth",
"declAttributes": [
"HasInitialValue",
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth13IBPhoneNumberC8locationSSSgvg",
- "mangledName": "$s12IOTBluetooth13IBPhoneNumberC8locationSSSgvg",
+ "usr": "s:12IOTBluetooth13IBAddressBookC4nameSSSgvg",
+ "mangledName": "$s12IOTBluetooth13IBAddressBookC4nameSSSgvg",
"moduleName": "IOTBluetooth",
"implicit": true,
"accessorKind": "get"
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth13IBPhoneNumberC8locationSSSgvs",
- "mangledName": "$s12IOTBluetooth13IBPhoneNumberC8locationSSSgvs",
+ "usr": "s:12IOTBluetooth13IBAddressBookC4nameSSSgvs",
+ "mangledName": "$s12IOTBluetooth13IBAddressBookC4nameSSSgvs",
"moduleName": "IOTBluetooth",
"implicit": true,
"accessorKind": "set"
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth13IBPhoneNumberC8locationSSSgvM",
- "mangledName": "$s12IOTBluetooth13IBPhoneNumberC8locationSSSgvM",
+ "usr": "s:12IOTBluetooth13IBAddressBookC4nameSSSgvM",
+ "mangledName": "$s12IOTBluetooth13IBAddressBookC4nameSSSgvM",
"moduleName": "IOTBluetooth",
"implicit": true,
"accessorKind": "_modify"
},
{
"kind": "Var",
- "name": "operator",
- "printedName": "operator",
+ "name": "phoneNumbers",
+ "printedName": "phoneNumbers",
"children": [
{
"kind": "TypeNominal",
- "name": "Optional",
- "printedName": "Swift.String?",
+ "name": "Array",
+ "printedName": "[IOTBluetooth.IBPhoneNumber]",
"children": [
{
"kind": "TypeNominal",
- "name": "String",
- "printedName": "Swift.String",
- "usr": "s:SS"
+ "name": "IBPhoneNumber",
+ "printedName": "IOTBluetooth.IBPhoneNumber",
+ "usr": "s:12IOTBluetooth13IBPhoneNumberC"
}
],
- "usr": "s:Sq"
+ "usr": "s:Sa"
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth13IBPhoneNumberC8operatorSSSgvp",
- "mangledName": "$s12IOTBluetooth13IBPhoneNumberC8operatorSSSgvp",
+ "usr": "s:12IOTBluetooth13IBAddressBookC12phoneNumbersSayAA13IBPhoneNumberCGvp",
+ "mangledName": "$s12IOTBluetooth13IBAddressBookC12phoneNumbersSayAA13IBPhoneNumberCGvp",
"moduleName": "IOTBluetooth",
"declAttributes": [
"HasInitialValue",
"children": [
{
"kind": "TypeNominal",
- "name": "Optional",
- "printedName": "Swift.String?",
+ "name": "Array",
+ "printedName": "[IOTBluetooth.IBPhoneNumber]",
"children": [
{
"kind": "TypeNominal",
- "name": "String",
- "printedName": "Swift.String",
- "usr": "s:SS"
+ "name": "IBPhoneNumber",
+ "printedName": "IOTBluetooth.IBPhoneNumber",
+ "usr": "s:12IOTBluetooth13IBPhoneNumberC"
}
],
- "usr": "s:Sq"
+ "usr": "s:Sa"
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth13IBPhoneNumberC8operatorSSSgvg",
- "mangledName": "$s12IOTBluetooth13IBPhoneNumberC8operatorSSSgvg",
+ "usr": "s:12IOTBluetooth13IBAddressBookC12phoneNumbersSayAA13IBPhoneNumberCGvg",
+ "mangledName": "$s12IOTBluetooth13IBAddressBookC12phoneNumbersSayAA13IBPhoneNumberCGvg",
"moduleName": "IOTBluetooth",
"implicit": true,
"accessorKind": "get"
},
{
"kind": "TypeNominal",
- "name": "Optional",
- "printedName": "Swift.String?",
+ "name": "Array",
+ "printedName": "[IOTBluetooth.IBPhoneNumber]",
"children": [
{
"kind": "TypeNominal",
- "name": "String",
- "printedName": "Swift.String",
- "usr": "s:SS"
+ "name": "IBPhoneNumber",
+ "printedName": "IOTBluetooth.IBPhoneNumber",
+ "usr": "s:12IOTBluetooth13IBPhoneNumberC"
}
],
- "usr": "s:Sq"
+ "usr": "s:Sa"
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth13IBPhoneNumberC8operatorSSSgvs",
- "mangledName": "$s12IOTBluetooth13IBPhoneNumberC8operatorSSSgvs",
+ "usr": "s:12IOTBluetooth13IBAddressBookC12phoneNumbersSayAA13IBPhoneNumberCGvs",
+ "mangledName": "$s12IOTBluetooth13IBAddressBookC12phoneNumbersSayAA13IBPhoneNumberCGvs",
"moduleName": "IOTBluetooth",
"implicit": true,
"accessorKind": "set"
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth13IBPhoneNumberC8operatorSSSgvM",
- "mangledName": "$s12IOTBluetooth13IBPhoneNumberC8operatorSSSgvM",
+ "usr": "s:12IOTBluetooth13IBAddressBookC12phoneNumbersSayAA13IBPhoneNumberCGvM",
+ "mangledName": "$s12IOTBluetooth13IBAddressBookC12phoneNumbersSayAA13IBPhoneNumberCGvM",
"moduleName": "IOTBluetooth",
"implicit": true,
"accessorKind": "_modify"
"children": [
{
"kind": "TypeNominal",
- "name": "IBPhoneNumber",
- "printedName": "IOTBluetooth.IBPhoneNumber",
- "usr": "s:12IOTBluetooth13IBPhoneNumberC"
+ "name": "IBAddressBook",
+ "printedName": "IOTBluetooth.IBAddressBook",
+ "usr": "s:12IOTBluetooth13IBAddressBookC"
}
],
"declKind": "Constructor",
- "usr": "s:12IOTBluetooth13IBPhoneNumberCACycfc",
- "mangledName": "$s12IOTBluetooth13IBPhoneNumberCACycfc",
+ "usr": "s:12IOTBluetooth13IBAddressBookCACycfc",
+ "mangledName": "$s12IOTBluetooth13IBAddressBookCACycfc",
"moduleName": "IOTBluetooth",
"declAttributes": [
"AccessControl"
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth13IBPhoneNumberC11descriptionSSvp",
- "mangledName": "$s12IOTBluetooth13IBPhoneNumberC11descriptionSSvp",
+ "usr": "s:12IOTBluetooth13IBAddressBookC11descriptionSSvp",
+ "mangledName": "$s12IOTBluetooth13IBAddressBookC11descriptionSSvp",
"moduleName": "IOTBluetooth",
"declAttributes": [
- "AccessControl"
+ "AccessControl",
+ "RawDocComment"
],
"accessors": [
{
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth13IBPhoneNumberC11descriptionSSvg",
- "mangledName": "$s12IOTBluetooth13IBPhoneNumberC11descriptionSSvg",
+ "usr": "s:12IOTBluetooth13IBAddressBookC11descriptionSSvg",
+ "mangledName": "$s12IOTBluetooth13IBAddressBookC11descriptionSSvg",
"moduleName": "IOTBluetooth",
"accessorKind": "get"
}
}
],
"declKind": "Class",
- "usr": "s:12IOTBluetooth13IBPhoneNumberC",
- "mangledName": "$s12IOTBluetooth13IBPhoneNumberC",
+ "usr": "s:12IOTBluetooth13IBAddressBookC",
+ "mangledName": "$s12IOTBluetooth13IBAddressBookC",
"moduleName": "IOTBluetooth",
"declAttributes": [
"AccessControl",
"RawDocComment"
- ]
- },
- {
- "kind": "Import",
- "name": "Foundation",
- "printedName": "Foundation",
- "declKind": "Import",
- "moduleName": "IOTBluetooth",
- "declAttributes": [
- "RawDocComment"
+ ],
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ }
]
},
{
"kind": "TypeDecl",
- "name": "IBParameter",
- "printedName": "IBParameter",
+ "name": "IBPhoneNumber",
+ "printedName": "IBPhoneNumber",
"children": [
{
"kind": "Var",
- "name": "dialID",
- "printedName": "dialID",
+ "name": "number",
+ "printedName": "number",
"children": [
{
- "kind": "TypeFunc",
- "name": "Function",
- "printedName": "(IOTBluetooth.IBParameter.Type) -> (Swift.Int) -> IOTBluetooth.IBParameter",
- "children": [
- {
- "kind": "TypeFunc",
- "name": "Function",
- "printedName": "(Swift.Int) -> IOTBluetooth.IBParameter",
- "children": [
- {
- "kind": "TypeNominal",
- "name": "IBParameter",
- "printedName": "IOTBluetooth.IBParameter",
- "usr": "s:12IOTBluetooth11IBParameterO"
- },
- {
- "kind": "TypeNominal",
- "name": "Int",
- "printedName": "Swift.Int",
- "usr": "s:Si"
- }
- ]
- },
- {
- "kind": "TypeNominal",
- "name": "Metatype",
- "printedName": "IOTBluetooth.IBParameter.Type",
- "children": [
- {
- "kind": "TypeNominal",
- "name": "IBParameter",
- "printedName": "IOTBluetooth.IBParameter",
- "usr": "s:12IOTBluetooth11IBParameterO"
- }
- ]
- }
- ]
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
}
],
- "declKind": "EnumElement",
- "usr": "s:12IOTBluetooth11IBParameterO6dialIDyACSicACmF",
- "mangledName": "$s12IOTBluetooth11IBParameterO6dialIDyACSicACmF",
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth13IBPhoneNumberC6numberSSvp",
+ "mangledName": "$s12IOTBluetooth13IBPhoneNumberC6numberSSvp",
"moduleName": "IOTBluetooth",
"declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
"RawDocComment"
- ]
- },
- {
- "kind": "Var",
- "name": "action",
- "printedName": "action",
- "children": [
+ ],
+ "hasStorage": true,
+ "accessors": [
{
- "kind": "TypeFunc",
- "name": "Function",
- "printedName": "(IOTBluetooth.IBParameter.Type) -> (Swift.Int) -> IOTBluetooth.IBParameter",
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
"children": [
- {
- "kind": "TypeFunc",
- "name": "Function",
- "printedName": "(Swift.Int) -> IOTBluetooth.IBParameter",
- "children": [
- {
- "kind": "TypeNominal",
- "name": "IBParameter",
- "printedName": "IOTBluetooth.IBParameter",
- "usr": "s:12IOTBluetooth11IBParameterO"
- },
- {
- "kind": "TypeNominal",
- "name": "Int",
- "printedName": "Swift.Int",
- "usr": "s:Si"
- }
- ]
- },
{
"kind": "TypeNominal",
- "name": "Metatype",
- "printedName": "IOTBluetooth.IBParameter.Type",
- "children": [
- {
- "kind": "TypeNominal",
- "name": "IBParameter",
- "printedName": "IOTBluetooth.IBParameter",
- "usr": "s:12IOTBluetooth11IBParameterO"
- }
- ]
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
}
- ]
- }
- ],
- "declKind": "EnumElement",
- "usr": "s:12IOTBluetooth11IBParameterO6actionyACSicACmF",
- "mangledName": "$s12IOTBluetooth11IBParameterO6actionyACSicACmF",
- "moduleName": "IOTBluetooth",
- "declAttributes": [
- "RawDocComment"
- ]
- },
- {
- "kind": "Var",
- "name": "motionMode",
- "printedName": "motionMode",
- "children": [
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth13IBPhoneNumberC6numberSSvg",
+ "mangledName": "$s12IOTBluetooth13IBPhoneNumberC6numberSSvg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
{
- "kind": "TypeFunc",
- "name": "Function",
- "printedName": "(IOTBluetooth.IBParameter.Type) -> (IOTBluetooth.IBMotionMode) -> IOTBluetooth.IBParameter",
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
"children": [
{
- "kind": "TypeFunc",
- "name": "Function",
- "printedName": "(IOTBluetooth.IBMotionMode) -> IOTBluetooth.IBParameter",
- "children": [
- {
- "kind": "TypeNominal",
- "name": "IBParameter",
- "printedName": "IOTBluetooth.IBParameter",
- "usr": "s:12IOTBluetooth11IBParameterO"
- },
- {
- "kind": "TypeNominal",
- "name": "IBMotionMode",
- "printedName": "IOTBluetooth.IBMotionMode",
- "usr": "s:12IOTBluetooth12IBMotionModeO"
- }
- ]
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
},
{
"kind": "TypeNominal",
- "name": "Metatype",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth13IBPhoneNumberC6numberSSvs",
+ "mangledName": "$s12IOTBluetooth13IBPhoneNumberC6numberSSvs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth13IBPhoneNumberC6numberSSvM",
+ "mangledName": "$s12IOTBluetooth13IBPhoneNumberC6numberSSvM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "location",
+ "printedName": "location",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth13IBPhoneNumberC8locationSSSgvp",
+ "mangledName": "$s12IOTBluetooth13IBPhoneNumberC8locationSSSgvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth13IBPhoneNumberC8locationSSSgvg",
+ "mangledName": "$s12IOTBluetooth13IBPhoneNumberC8locationSSSgvg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth13IBPhoneNumberC8locationSSSgvs",
+ "mangledName": "$s12IOTBluetooth13IBPhoneNumberC8locationSSSgvs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth13IBPhoneNumberC8locationSSSgvM",
+ "mangledName": "$s12IOTBluetooth13IBPhoneNumberC8locationSSSgvM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "operator",
+ "printedName": "operator",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth13IBPhoneNumberC8operatorSSSgvp",
+ "mangledName": "$s12IOTBluetooth13IBPhoneNumberC8operatorSSSgvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth13IBPhoneNumberC8operatorSSSgvg",
+ "mangledName": "$s12IOTBluetooth13IBPhoneNumberC8operatorSSSgvg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth13IBPhoneNumberC8operatorSSSgvs",
+ "mangledName": "$s12IOTBluetooth13IBPhoneNumberC8operatorSSSgvs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth13IBPhoneNumberC8operatorSSSgvM",
+ "mangledName": "$s12IOTBluetooth13IBPhoneNumberC8operatorSSSgvM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBPhoneNumber",
+ "printedName": "IOTBluetooth.IBPhoneNumber",
+ "usr": "s:12IOTBluetooth13IBPhoneNumberC"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth13IBPhoneNumberCACycfc",
+ "mangledName": "$s12IOTBluetooth13IBPhoneNumberCACycfc",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "init_kind": "Designated"
+ },
+ {
+ "kind": "Var",
+ "name": "description",
+ "printedName": "description",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth13IBPhoneNumberC11descriptionSSvp",
+ "mangledName": "$s12IOTBluetooth13IBPhoneNumberC11descriptionSSvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth13IBPhoneNumberC11descriptionSSvg",
+ "mangledName": "$s12IOTBluetooth13IBPhoneNumberC11descriptionSSvg",
+ "moduleName": "IOTBluetooth",
+ "accessorKind": "get"
+ }
+ ]
+ }
+ ],
+ "declKind": "Class",
+ "usr": "s:12IOTBluetooth13IBPhoneNumberC",
+ "mangledName": "$s12IOTBluetooth13IBPhoneNumberC",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ }
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "IBParameter",
+ "printedName": "IBParameter",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "dialID",
+ "printedName": "dialID",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBParameter.Type) -> (Swift.Int) -> IOTBluetooth.IBParameter",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(Swift.Int) -> IOTBluetooth.IBParameter",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBParameter",
+ "printedName": "IOTBluetooth.IBParameter",
+ "usr": "s:12IOTBluetooth11IBParameterO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ]
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBParameter.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBParameter",
+ "printedName": "IOTBluetooth.IBParameter",
+ "usr": "s:12IOTBluetooth11IBParameterO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth11IBParameterO6dialIDyACSicACmF",
+ "mangledName": "$s12IOTBluetooth11IBParameterO6dialIDyACSicACmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "action",
+ "printedName": "action",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBParameter.Type) -> (Swift.Int) -> IOTBluetooth.IBParameter",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(Swift.Int) -> IOTBluetooth.IBParameter",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBParameter",
+ "printedName": "IOTBluetooth.IBParameter",
+ "usr": "s:12IOTBluetooth11IBParameterO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ]
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBParameter.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBParameter",
+ "printedName": "IOTBluetooth.IBParameter",
+ "usr": "s:12IOTBluetooth11IBParameterO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth11IBParameterO6actionyACSicACmF",
+ "mangledName": "$s12IOTBluetooth11IBParameterO6actionyACSicACmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "motionMode",
+ "printedName": "motionMode",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBParameter.Type) -> (IOTBluetooth.IBMotionMode) -> IOTBluetooth.IBParameter",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBMotionMode) -> IOTBluetooth.IBParameter",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBParameter",
+ "printedName": "IOTBluetooth.IBParameter",
+ "usr": "s:12IOTBluetooth11IBParameterO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "IBMotionMode",
+ "printedName": "IOTBluetooth.IBMotionMode",
+ "usr": "s:12IOTBluetooth12IBMotionModeO"
+ }
+ ]
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
"printedName": "IOTBluetooth.IBParameter.Type",
"children": [
{
"declAttributes": [
"RawDocComment"
]
+ },
+ {
+ "kind": "Var",
+ "name": "setPassword",
+ "printedName": "setPassword",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBParameter.Type) -> (IOTBluetooth.IBPassword) -> IOTBluetooth.IBParameter",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBPassword) -> IOTBluetooth.IBParameter",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBParameter",
+ "printedName": "IOTBluetooth.IBParameter",
+ "usr": "s:12IOTBluetooth11IBParameterO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "IBPassword",
+ "printedName": "IOTBluetooth.IBPassword",
+ "usr": "s:12IOTBluetooth10IBPasswordC"
+ }
+ ]
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBParameter.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBParameter",
+ "printedName": "IOTBluetooth.IBParameter",
+ "usr": "s:12IOTBluetooth11IBParameterO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth11IBParameterO11setPasswordyAcA10IBPasswordCcACmF",
+ "mangledName": "$s12IOTBluetooth11IBParameterO11setPasswordyAcA10IBPasswordCcACmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "setPush",
+ "printedName": "setPush",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBParameter.Type) -> ([IOTBluetooth.IBPush]) -> IOTBluetooth.IBParameter",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "([IOTBluetooth.IBPush]) -> IOTBluetooth.IBParameter",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBParameter",
+ "printedName": "IOTBluetooth.IBParameter",
+ "usr": "s:12IOTBluetooth11IBParameterO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Array",
+ "printedName": "[IOTBluetooth.IBPush]",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBPush",
+ "printedName": "IOTBluetooth.IBPush",
+ "usr": "s:12IOTBluetooth6IBPushC"
+ }
+ ],
+ "usr": "s:Sa"
+ }
+ ]
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBParameter.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBParameter",
+ "printedName": "IOTBluetooth.IBParameter",
+ "usr": "s:12IOTBluetooth11IBParameterO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth11IBParameterO7setPushyACSayAA6IBPushCGcACmF",
+ "mangledName": "$s12IOTBluetooth11IBParameterO7setPushyACSayAA6IBPushCGcACmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "setSosContact",
+ "printedName": "setSosContact",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBParameter.Type) -> ([IOTBluetooth.IBContact]) -> IOTBluetooth.IBParameter",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "([IOTBluetooth.IBContact]) -> IOTBluetooth.IBParameter",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBParameter",
+ "printedName": "IOTBluetooth.IBParameter",
+ "usr": "s:12IOTBluetooth11IBParameterO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Array",
+ "printedName": "[IOTBluetooth.IBContact]",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBContact",
+ "printedName": "IOTBluetooth.IBContact",
+ "usr": "s:12IOTBluetooth9IBContactC"
+ }
+ ],
+ "usr": "s:Sa"
+ }
+ ]
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBParameter.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBParameter",
+ "printedName": "IOTBluetooth.IBParameter",
+ "usr": "s:12IOTBluetooth11IBParameterO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth11IBParameterO13setSosContactyACSayAA9IBContactCGcACmF",
+ "mangledName": "$s12IOTBluetooth11IBParameterO13setSosContactyACSayAA9IBContactCGcACmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "sendSchedule",
+ "printedName": "sendSchedule",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBParameter.Type) -> ([IOTBluetooth.IBSchedule]) -> IOTBluetooth.IBParameter",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "([IOTBluetooth.IBSchedule]) -> IOTBluetooth.IBParameter",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBParameter",
+ "printedName": "IOTBluetooth.IBParameter",
+ "usr": "s:12IOTBluetooth11IBParameterO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Array",
+ "printedName": "[IOTBluetooth.IBSchedule]",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBSchedule",
+ "printedName": "IOTBluetooth.IBSchedule",
+ "usr": "s:12IOTBluetooth10IBScheduleC"
+ }
+ ],
+ "usr": "s:Sa"
+ }
+ ]
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBParameter.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBParameter",
+ "printedName": "IOTBluetooth.IBParameter",
+ "usr": "s:12IOTBluetooth11IBParameterO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth11IBParameterO12sendScheduleyACSayAA10IBScheduleCGcACmF",
+ "mangledName": "$s12IOTBluetooth11IBParameterO12sendScheduleyACSayAA10IBScheduleCGcACmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
}
],
"declKind": "Enum",
"declAttributes": [
"AccessControl",
"RawDocComment"
+ ],
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ }
]
},
{
],
"enumRawTypeName": "Int",
"conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ },
{
"kind": "Conformance",
"name": "Equatable",
],
"enumRawTypeName": "Int",
"conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ },
{
"kind": "Conformance",
"name": "Equatable",
],
"enumRawTypeName": "Int",
"conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ },
{
"kind": "Conformance",
"name": "Equatable",
"AccessControl",
"RawDocComment"
],
- "hasMissingDesignatedInitializers": true
+ "hasMissingDesignatedInitializers": true,
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ }
+ ]
},
{
"kind": "Import",
{
"kind": "TypeNominal",
"name": "Decoder",
- "printedName": "Swift.Decoder",
+ "printedName": "any Swift.Decoder",
"usr": "s:s7DecoderP"
}
],
{
"kind": "TypeNominal",
"name": "Encoder",
- "printedName": "Swift.Encoder",
+ "printedName": "any Swift.Encoder",
"usr": "s:s7EncoderP"
}
],
"RawDocComment"
],
"conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ },
{
"kind": "Conformance",
"name": "Decodable",
"declAttributes": [
"AccessControl",
"RawDocComment"
+ ],
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ }
]
},
{
{
"kind": "TypeNominal",
"name": "Decoder",
- "printedName": "Swift.Decoder",
+ "printedName": "any Swift.Decoder",
"usr": "s:s7DecoderP"
}
],
{
"kind": "TypeNominal",
"name": "Encoder",
- "printedName": "Swift.Encoder",
+ "printedName": "any Swift.Encoder",
"usr": "s:s7EncoderP"
}
],
],
"hasMissingDesignatedInitializers": true,
"conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ },
{
"kind": "Conformance",
"name": "Decodable",
"declAttributes": [
"AccessControl",
"RawDocComment"
+ ],
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ }
]
},
{
{
"kind": "TypeNominal",
"name": "Decoder",
- "printedName": "Swift.Decoder",
+ "printedName": "any Swift.Decoder",
"usr": "s:s7DecoderP"
}
],
{
"kind": "TypeNominal",
"name": "Encoder",
- "printedName": "Swift.Encoder",
+ "printedName": "any Swift.Encoder",
"usr": "s:s7EncoderP"
}
],
"RawDocComment"
],
"conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ },
{
"kind": "Conformance",
"name": "Decodable",
"AccessControl",
"RawDocComment"
],
- "hasMissingDesignatedInitializers": true
+ "hasMissingDesignatedInitializers": true,
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ }
+ ]
},
{
"kind": "Import",
"declAttributes": [
"AccessControl",
"RawDocComment"
+ ],
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ }
]
},
{
"AccessControl",
"RawDocComment"
],
- "hasMissingDesignatedInitializers": true
+ "hasMissingDesignatedInitializers": true,
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ }
+ ]
},
{
"kind": "Import",
"declAttributes": [
"AccessControl",
"RawDocComment"
+ ],
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ }
]
},
{
"declAttributes": [
"AccessControl",
"RawDocComment"
+ ],
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ }
]
},
{
"declAttributes": [
"AccessControl"
],
- "isFromExtension": true
+ "isFromExtension": true,
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ }
+ ]
}
],
"declKind": "Class",
"declAttributes": [
"AccessControl"
],
- "hasMissingDesignatedInitializers": true
+ "hasMissingDesignatedInitializers": true,
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ }
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "IBPassword",
+ "printedName": "IBPassword",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "type",
+ "printedName": "type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth10IBPasswordC4typeSivp",
+ "mangledName": "$s12IOTBluetooth10IBPasswordC4typeSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth10IBPasswordC4typeSivg",
+ "mangledName": "$s12IOTBluetooth10IBPasswordC4typeSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth10IBPasswordC4typeSivs",
+ "mangledName": "$s12IOTBluetooth10IBPasswordC4typeSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth10IBPasswordC4typeSivM",
+ "mangledName": "$s12IOTBluetooth10IBPasswordC4typeSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "password",
+ "printedName": "password",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth10IBPasswordC8passwordSSvp",
+ "mangledName": "$s12IOTBluetooth10IBPasswordC8passwordSSvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth10IBPasswordC8passwordSSvg",
+ "mangledName": "$s12IOTBluetooth10IBPasswordC8passwordSSvg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth10IBPasswordC8passwordSSvs",
+ "mangledName": "$s12IOTBluetooth10IBPasswordC8passwordSSvs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth10IBPasswordC8passwordSSvM",
+ "mangledName": "$s12IOTBluetooth10IBPasswordC8passwordSSvM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBPassword",
+ "printedName": "IOTBluetooth.IBPassword",
+ "usr": "s:12IOTBluetooth10IBPasswordC"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth10IBPasswordCACycfc",
+ "mangledName": "$s12IOTBluetooth10IBPasswordCACycfc",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "init_kind": "Designated"
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init(type:password:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBPassword",
+ "printedName": "IOTBluetooth.IBPassword",
+ "usr": "s:12IOTBluetooth10IBPasswordC"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth10IBPasswordC4type8passwordACSi_SStcfc",
+ "mangledName": "$s12IOTBluetooth10IBPasswordC4type8passwordACSi_SStcfc",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "init_kind": "Designated"
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init(from:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBPassword",
+ "printedName": "IOTBluetooth.IBPassword",
+ "usr": "s:12IOTBluetooth10IBPasswordC"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Decoder",
+ "printedName": "any Swift.Decoder",
+ "usr": "s:s7DecoderP"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth10IBPasswordC4fromACs7Decoder_p_tKcfc",
+ "mangledName": "$s12IOTBluetooth10IBPasswordC4fromACs7Decoder_p_tKcfc",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "declAttributes": [
+ "Required"
+ ],
+ "throwing": true,
+ "init_kind": "Designated"
+ },
+ {
+ "kind": "Function",
+ "name": "encode",
+ "printedName": "encode(to:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Encoder",
+ "printedName": "any Swift.Encoder",
+ "usr": "s:s7EncoderP"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:12IOTBluetooth10IBPasswordC6encode2toys7Encoder_p_tKF",
+ "mangledName": "$s12IOTBluetooth10IBPasswordC6encode2toys7Encoder_p_tKF",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "throwing": true,
+ "funcSelfKind": "NonMutating"
+ }
+ ],
+ "declKind": "Class",
+ "usr": "s:12IOTBluetooth10IBPasswordC",
+ "mangledName": "$s12IOTBluetooth10IBPasswordC",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Decodable",
+ "printedName": "Decodable",
+ "usr": "s:Se",
+ "mangledName": "$sSe"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Encodable",
+ "printedName": "Encodable",
+ "usr": "s:SE",
+ "mangledName": "$sSE"
+ }
+ ]
},
{
"kind": "Import",
"RawDocComment"
]
},
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init(rawValue:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "IOTBluetooth.IBCode?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBCode",
+ "printedName": "IOTBluetooth.IBCode",
+ "usr": "s:12IOTBluetooth6IBCodeO"
+ }
+ ],
+ "usr": "s:Sq"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth6IBCodeO8rawValueACSgSi_tcfc",
+ "mangledName": "$s12IOTBluetooth6IBCodeO8rawValueACSgSi_tcfc",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "init_kind": "Designated"
+ },
{
"kind": "Var",
"name": "rawValue",
"accessorKind": "get"
}
]
- },
- {
- "kind": "Constructor",
- "name": "init",
- "printedName": "init(rawValue:)",
- "children": [
- {
- "kind": "TypeNominal",
- "name": "Optional",
- "printedName": "IOTBluetooth.IBCode?",
- "children": [
- {
- "kind": "TypeNominal",
- "name": "IBCode",
- "printedName": "IOTBluetooth.IBCode",
- "usr": "s:12IOTBluetooth6IBCodeO"
- }
- ],
- "usr": "s:Sq"
- },
- {
- "kind": "TypeNominal",
- "name": "Int",
- "printedName": "Swift.Int",
- "usr": "s:Si"
- }
- ],
- "declKind": "Constructor",
- "usr": "s:12IOTBluetooth6IBCodeO8rawValueACSgSi_tcfc",
- "mangledName": "$s12IOTBluetooth6IBCodeO8rawValueACSgSi_tcfc",
- "moduleName": "IOTBluetooth",
- "implicit": true,
- "init_kind": "Designated"
}
],
"declKind": "Enum",
],
"enumRawTypeName": "Int",
"conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ },
{
"kind": "Conformance",
"name": "Equatable",
{
"kind": "TypeNominal",
"name": "Decoder",
- "printedName": "Swift.Decoder",
+ "printedName": "any Swift.Decoder",
"usr": "s:s7DecoderP"
}
],
{
"kind": "TypeNominal",
"name": "Encoder",
- "printedName": "Swift.Encoder",
+ "printedName": "any Swift.Encoder",
"usr": "s:s7EncoderP"
}
],
],
"hasMissingDesignatedInitializers": true,
"conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ },
{
"kind": "Conformance",
"name": "Decodable",
{
"kind": "TypeNominal",
"name": "Decoder",
- "printedName": "Swift.Decoder",
+ "printedName": "any Swift.Decoder",
"usr": "s:s7DecoderP"
}
],
{
"kind": "TypeNominal",
"name": "Encoder",
- "printedName": "Swift.Encoder",
+ "printedName": "any Swift.Encoder",
"usr": "s:s7EncoderP"
}
],
"RawDocComment"
],
"conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ },
{
"kind": "Conformance",
"name": "Decodable",
{
"kind": "TypeNominal",
"name": "Decoder",
- "printedName": "Swift.Decoder",
+ "printedName": "any Swift.Decoder",
"usr": "s:s7DecoderP"
}
],
{
"kind": "TypeNominal",
"name": "Encoder",
- "printedName": "Swift.Encoder",
+ "printedName": "any Swift.Encoder",
"usr": "s:s7EncoderP"
}
],
"RawDocComment"
],
"conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ },
{
"kind": "Conformance",
"name": "Decodable",
],
"init_kind": "Designated"
},
- {
- "kind": "Function",
- "name": "encode",
- "printedName": "encode(to:)",
- "children": [
- {
- "kind": "TypeNominal",
- "name": "Void",
- "printedName": "()"
- },
- {
- "kind": "TypeNominal",
- "name": "Encoder",
- "printedName": "Swift.Encoder",
- "usr": "s:s7EncoderP"
- }
- ],
- "declKind": "Func",
- "usr": "s:12IOTBluetooth13IBTrainTargetC6encode2toys7Encoder_p_tKF",
- "mangledName": "$s12IOTBluetooth13IBTrainTargetC6encode2toys7Encoder_p_tKF",
- "moduleName": "IOTBluetooth",
- "implicit": true,
- "throwing": true,
- "funcSelfKind": "NonMutating"
- },
{
"kind": "Constructor",
"name": "init",
{
"kind": "TypeNominal",
"name": "Decoder",
- "printedName": "Swift.Decoder",
+ "printedName": "any Swift.Decoder",
"usr": "s:s7DecoderP"
}
],
],
"throwing": true,
"init_kind": "Designated"
+ },
+ {
+ "kind": "Function",
+ "name": "encode",
+ "printedName": "encode(to:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Encoder",
+ "printedName": "any Swift.Encoder",
+ "usr": "s:s7EncoderP"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:12IOTBluetooth13IBTrainTargetC6encode2toys7Encoder_p_tKF",
+ "mangledName": "$s12IOTBluetooth13IBTrainTargetC6encode2toys7Encoder_p_tKF",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "throwing": true,
+ "funcSelfKind": "NonMutating"
}
],
"declKind": "Class",
"RawDocComment"
],
"conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ },
{
"kind": "Conformance",
"name": "Decodable",
],
"enumRawTypeName": "Int",
"conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ },
{
"kind": "Conformance",
"name": "Equatable",
"declAttributes": [
"AccessControl",
"RawDocComment"
+ ],
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ }
]
},
{
"AccessControl",
"RawDocComment"
],
- "hasMissingDesignatedInitializers": true
+ "hasMissingDesignatedInitializers": true,
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ }
+ ]
},
{
"kind": "TypeDecl",
"declAttributes": [
"AccessControl",
"RawDocComment"
+ ],
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ }
]
},
{
"declAttributes": [
"AccessControl",
"RawDocComment"
+ ],
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ }
]
},
{
"declAttributes": [
"AccessControl",
"RawDocComment"
+ ],
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ }
]
},
{
"RawDocComment"
]
},
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init(rawValue:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "IOTBluetooth.IBFrequency?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBFrequency",
+ "printedName": "IOTBluetooth.IBFrequency",
+ "usr": "s:12IOTBluetooth11IBFrequencyO"
+ }
+ ],
+ "usr": "s:Sq"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth11IBFrequencyO8rawValueACSgSi_tcfc",
+ "mangledName": "$s12IOTBluetooth11IBFrequencyO8rawValueACSgSi_tcfc",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "init_kind": "Designated"
+ },
{
"kind": "Var",
"name": "rawValue",
"accessorKind": "get"
}
]
- },
- {
- "kind": "Constructor",
- "name": "init",
- "printedName": "init(rawValue:)",
- "children": [
- {
- "kind": "TypeNominal",
- "name": "Optional",
- "printedName": "IOTBluetooth.IBFrequency?",
- "children": [
- {
- "kind": "TypeNominal",
- "name": "IBFrequency",
- "printedName": "IOTBluetooth.IBFrequency",
- "usr": "s:12IOTBluetooth11IBFrequencyO"
- }
- ],
- "usr": "s:Sq"
- },
- {
- "kind": "TypeNominal",
- "name": "Int",
- "printedName": "Swift.Int",
- "usr": "s:Si"
- }
- ],
- "declKind": "Constructor",
- "usr": "s:12IOTBluetooth11IBFrequencyO8rawValueACSgSi_tcfc",
- "mangledName": "$s12IOTBluetooth11IBFrequencyO8rawValueACSgSi_tcfc",
- "moduleName": "IOTBluetooth",
- "implicit": true,
- "init_kind": "Designated"
}
],
"declKind": "Enum",
],
"enumRawTypeName": "Int",
"conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ },
{
"kind": "Conformance",
"name": "Equatable",
},
{
"kind": "Var",
- "name": "userData",
- "printedName": "userData",
+ "name": "getPasssword",
+ "printedName": "getPasssword",
"children": [
{
"kind": "TypeNominal",
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth9IBAbilityC8userDataACvpZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC8userDataACvpZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC12getPassswordACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC12getPassswordACvpZ",
"moduleName": "IOTBluetooth",
"static": true,
"declAttributes": [
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth9IBAbilityC8userDataACvgZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC8userDataACvgZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC12getPassswordACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC12getPassswordACvgZ",
"moduleName": "IOTBluetooth",
"static": true,
"implicit": true,
},
{
"kind": "Var",
- "name": "about",
- "printedName": "about",
+ "name": "setPasssword",
+ "printedName": "setPasssword",
"children": [
{
"kind": "TypeNominal",
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth9IBAbilityC5aboutACvpZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC5aboutACvpZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC12setPassswordACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC12setPassswordACvpZ",
"moduleName": "IOTBluetooth",
"static": true,
"declAttributes": [
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth9IBAbilityC5aboutACvgZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC5aboutACvgZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC12setPassswordACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC12setPassswordACvgZ",
"moduleName": "IOTBluetooth",
"static": true,
"implicit": true,
},
{
"kind": "Var",
- "name": "switchDial",
- "printedName": "switchDial",
+ "name": "getPushConfig",
+ "printedName": "getPushConfig",
"children": [
{
"kind": "TypeNominal",
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth9IBAbilityC10switchDialACvpZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC10switchDialACvpZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC13getPushConfigACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC13getPushConfigACvpZ",
"moduleName": "IOTBluetooth",
"static": true,
"declAttributes": [
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth9IBAbilityC10switchDialACvgZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC10switchDialACvgZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC13getPushConfigACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC13getPushConfigACvgZ",
"moduleName": "IOTBluetooth",
"static": true,
"implicit": true,
},
{
"kind": "Var",
- "name": "deleteDial",
- "printedName": "deleteDial",
+ "name": "setPushConfig",
+ "printedName": "setPushConfig",
"children": [
{
"kind": "TypeNominal",
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth9IBAbilityC10deleteDialACvpZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC10deleteDialACvpZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC13setPushConfigACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC13setPushConfigACvpZ",
"moduleName": "IOTBluetooth",
"static": true,
"declAttributes": [
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth9IBAbilityC10deleteDialACvgZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC10deleteDialACvgZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC13setPushConfigACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC13setPushConfigACvgZ",
"moduleName": "IOTBluetooth",
"static": true,
"implicit": true,
},
{
"kind": "Var",
- "name": "fetchCurrentDialId",
- "printedName": "fetchCurrentDialId",
+ "name": "getSosContact",
+ "printedName": "getSosContact",
"children": [
{
"kind": "TypeNominal",
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth9IBAbilityC18fetchCurrentDialIdACvpZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC18fetchCurrentDialIdACvpZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC13getSosContactACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC13getSosContactACvpZ",
"moduleName": "IOTBluetooth",
"static": true,
"declAttributes": [
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth9IBAbilityC18fetchCurrentDialIdACvgZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC18fetchCurrentDialIdACvgZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC13getSosContactACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC13getSosContactACvgZ",
"moduleName": "IOTBluetooth",
"static": true,
"implicit": true,
},
{
"kind": "Var",
- "name": "find",
- "printedName": "find",
+ "name": "setSosContact",
+ "printedName": "setSosContact",
"children": [
{
"kind": "TypeNominal",
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth9IBAbilityC4findACvpZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC4findACvpZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC13setSosContactACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC13setSosContactACvpZ",
"moduleName": "IOTBluetooth",
"static": true,
"declAttributes": [
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth9IBAbilityC4findACvgZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC4findACvgZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC13setSosContactACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC13setSosContactACvgZ",
"moduleName": "IOTBluetooth",
"static": true,
"implicit": true,
},
{
"kind": "Var",
- "name": "message",
- "printedName": "message",
+ "name": "sendSchedule",
+ "printedName": "sendSchedule",
"children": [
{
"kind": "TypeNominal",
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth9IBAbilityC7messageACvpZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC7messageACvpZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC12sendScheduleACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC12sendScheduleACvpZ",
"moduleName": "IOTBluetooth",
"static": true,
"declAttributes": [
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth9IBAbilityC7messageACvgZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC7messageACvgZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC12sendScheduleACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC12sendScheduleACvgZ",
"moduleName": "IOTBluetooth",
"static": true,
"implicit": true,
},
{
"kind": "Var",
- "name": "startSport",
- "printedName": "startSport",
+ "name": "userData",
+ "printedName": "userData",
"children": [
{
"kind": "TypeNominal",
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth9IBAbilityC10startSportACvpZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC10startSportACvpZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC8userDataACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC8userDataACvpZ",
"moduleName": "IOTBluetooth",
"static": true,
"declAttributes": [
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth9IBAbilityC10startSportACvgZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC10startSportACvgZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC8userDataACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC8userDataACvgZ",
"moduleName": "IOTBluetooth",
"static": true,
"implicit": true,
},
{
"kind": "Var",
- "name": "endSport",
- "printedName": "endSport",
+ "name": "about",
+ "printedName": "about",
"children": [
{
"kind": "TypeNominal",
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth9IBAbilityC8endSportACvpZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC8endSportACvpZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC5aboutACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC5aboutACvpZ",
"moduleName": "IOTBluetooth",
"static": true,
"declAttributes": [
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth9IBAbilityC8endSportACvgZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC8endSportACvgZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC5aboutACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC5aboutACvgZ",
"moduleName": "IOTBluetooth",
"static": true,
"implicit": true,
},
{
"kind": "Var",
- "name": "trainFrequency",
- "printedName": "trainFrequency",
+ "name": "switchDial",
+ "printedName": "switchDial",
"children": [
{
"kind": "TypeNominal",
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth9IBAbilityC14trainFrequencyACvpZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC14trainFrequencyACvpZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC10switchDialACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC10switchDialACvpZ",
"moduleName": "IOTBluetooth",
"static": true,
"declAttributes": [
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth9IBAbilityC14trainFrequencyACvgZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC14trainFrequencyACvgZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC10switchDialACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC10switchDialACvgZ",
"moduleName": "IOTBluetooth",
"static": true,
"implicit": true,
},
{
"kind": "Var",
- "name": "trainPauseResume",
- "printedName": "trainPauseResume",
+ "name": "deleteDial",
+ "printedName": "deleteDial",
"children": [
{
"kind": "TypeNominal",
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth9IBAbilityC16trainPauseResumeACvpZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC16trainPauseResumeACvpZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC10deleteDialACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC10deleteDialACvpZ",
"moduleName": "IOTBluetooth",
"static": true,
"declAttributes": [
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth9IBAbilityC16trainPauseResumeACvgZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC16trainPauseResumeACvgZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC10deleteDialACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC10deleteDialACvgZ",
"moduleName": "IOTBluetooth",
"static": true,
"implicit": true,
},
{
"kind": "Var",
- "name": "language",
- "printedName": "language",
+ "name": "fetchCurrentDialId",
+ "printedName": "fetchCurrentDialId",
"children": [
{
"kind": "TypeNominal",
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth9IBAbilityC8languageACvpZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC8languageACvpZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC18fetchCurrentDialIdACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC18fetchCurrentDialIdACvpZ",
"moduleName": "IOTBluetooth",
"static": true,
"declAttributes": [
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth9IBAbilityC8languageACvgZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC8languageACvgZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC18fetchCurrentDialIdACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC18fetchCurrentDialIdACvgZ",
"moduleName": "IOTBluetooth",
"static": true,
"implicit": true,
},
{
"kind": "Var",
- "name": "fetchHeartRate",
- "printedName": "fetchHeartRate",
+ "name": "find",
+ "printedName": "find",
"children": [
{
"kind": "TypeNominal",
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth9IBAbilityC14fetchHeartRateACvpZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC14fetchHeartRateACvpZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC4findACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC4findACvpZ",
"moduleName": "IOTBluetooth",
"static": true,
"declAttributes": [
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth9IBAbilityC14fetchHeartRateACvgZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC14fetchHeartRateACvgZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC4findACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC4findACvgZ",
"moduleName": "IOTBluetooth",
"static": true,
"implicit": true,
},
{
"kind": "Var",
- "name": "heartRate",
- "printedName": "heartRate",
+ "name": "message",
+ "printedName": "message",
"children": [
{
"kind": "TypeNominal",
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth9IBAbilityC9heartRateACvpZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC9heartRateACvpZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC7messageACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC7messageACvpZ",
"moduleName": "IOTBluetooth",
"static": true,
"declAttributes": [
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth9IBAbilityC9heartRateACvgZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC9heartRateACvgZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC7messageACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC7messageACvgZ",
"moduleName": "IOTBluetooth",
"static": true,
"implicit": true,
},
{
"kind": "Var",
- "name": "fetchBloodOxygen",
- "printedName": "fetchBloodOxygen",
+ "name": "startSport",
+ "printedName": "startSport",
"children": [
{
"kind": "TypeNominal",
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth9IBAbilityC16fetchBloodOxygenACvpZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC16fetchBloodOxygenACvpZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC10startSportACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC10startSportACvpZ",
"moduleName": "IOTBluetooth",
"static": true,
"declAttributes": [
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth9IBAbilityC16fetchBloodOxygenACvgZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC16fetchBloodOxygenACvgZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC10startSportACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC10startSportACvgZ",
"moduleName": "IOTBluetooth",
"static": true,
"implicit": true,
},
{
"kind": "Var",
- "name": "bloodOxygen",
- "printedName": "bloodOxygen",
+ "name": "endSport",
+ "printedName": "endSport",
"children": [
{
"kind": "TypeNominal",
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth9IBAbilityC11bloodOxygenACvpZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC11bloodOxygenACvpZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC8endSportACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC8endSportACvpZ",
"moduleName": "IOTBluetooth",
"static": true,
"declAttributes": [
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth9IBAbilityC11bloodOxygenACvgZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC11bloodOxygenACvgZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC8endSportACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC8endSportACvgZ",
"moduleName": "IOTBluetooth",
"static": true,
"implicit": true,
},
{
"kind": "Var",
- "name": "currentHeartRate",
- "printedName": "currentHeartRate",
+ "name": "trainFrequency",
+ "printedName": "trainFrequency",
"children": [
{
"kind": "TypeNominal",
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth9IBAbilityC16currentHeartRateACvpZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC16currentHeartRateACvpZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC14trainFrequencyACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC14trainFrequencyACvpZ",
"moduleName": "IOTBluetooth",
"static": true,
"declAttributes": [
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth9IBAbilityC16currentHeartRateACvgZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC16currentHeartRateACvgZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC14trainFrequencyACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC14trainFrequencyACvgZ",
"moduleName": "IOTBluetooth",
"static": true,
"implicit": true,
},
{
"kind": "Var",
- "name": "heartRateMode",
- "printedName": "heartRateMode",
+ "name": "trainPauseResume",
+ "printedName": "trainPauseResume",
"children": [
{
"kind": "TypeNominal",
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth9IBAbilityC13heartRateModeACvpZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC13heartRateModeACvpZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC16trainPauseResumeACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC16trainPauseResumeACvpZ",
"moduleName": "IOTBluetooth",
"static": true,
"declAttributes": [
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth9IBAbilityC13heartRateModeACvgZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC13heartRateModeACvgZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC16trainPauseResumeACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC16trainPauseResumeACvgZ",
"moduleName": "IOTBluetooth",
"static": true,
"implicit": true,
},
{
"kind": "Var",
- "name": "heartRateHigh",
- "printedName": "heartRateHigh",
+ "name": "language",
+ "printedName": "language",
"children": [
{
"kind": "TypeNominal",
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth9IBAbilityC13heartRateHighACvpZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC13heartRateHighACvpZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC8languageACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC8languageACvpZ",
"moduleName": "IOTBluetooth",
"static": true,
"declAttributes": [
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth9IBAbilityC13heartRateHighACvgZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC13heartRateHighACvgZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC8languageACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC8languageACvgZ",
"moduleName": "IOTBluetooth",
"static": true,
"implicit": true,
},
{
"kind": "Var",
- "name": "takePhoto",
- "printedName": "takePhoto",
+ "name": "fetchHeartRate",
+ "printedName": "fetchHeartRate",
"children": [
{
"kind": "TypeNominal",
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth9IBAbilityC9takePhotoACvpZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC9takePhotoACvpZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC14fetchHeartRateACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC14fetchHeartRateACvpZ",
"moduleName": "IOTBluetooth",
"static": true,
"declAttributes": [
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth9IBAbilityC9takePhotoACvgZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC9takePhotoACvgZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC14fetchHeartRateACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC14fetchHeartRateACvgZ",
"moduleName": "IOTBluetooth",
"static": true,
"implicit": true,
},
{
"kind": "Var",
- "name": "restore",
- "printedName": "restore",
+ "name": "heartRate",
+ "printedName": "heartRate",
"children": [
{
"kind": "TypeNominal",
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth9IBAbilityC7restoreACvpZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC7restoreACvpZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC9heartRateACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC9heartRateACvpZ",
"moduleName": "IOTBluetooth",
"static": true,
"declAttributes": [
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth9IBAbilityC7restoreACvgZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC7restoreACvgZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC9heartRateACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC9heartRateACvgZ",
"moduleName": "IOTBluetooth",
"static": true,
"implicit": true,
},
{
"kind": "Var",
- "name": "reboot",
- "printedName": "reboot",
+ "name": "fetchBloodOxygen",
+ "printedName": "fetchBloodOxygen",
"children": [
{
"kind": "TypeNominal",
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth9IBAbilityC6rebootACvpZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC6rebootACvpZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC16fetchBloodOxygenACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC16fetchBloodOxygenACvpZ",
"moduleName": "IOTBluetooth",
"static": true,
"declAttributes": [
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth9IBAbilityC6rebootACvgZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC6rebootACvgZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC16fetchBloodOxygenACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC16fetchBloodOxygenACvgZ",
"moduleName": "IOTBluetooth",
"static": true,
"implicit": true,
},
{
"kind": "Var",
- "name": "shutdown",
- "printedName": "shutdown",
+ "name": "bloodOxygen",
+ "printedName": "bloodOxygen",
"children": [
{
"kind": "TypeNominal",
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth9IBAbilityC8shutdownACvpZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC8shutdownACvpZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC11bloodOxygenACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC11bloodOxygenACvpZ",
"moduleName": "IOTBluetooth",
"static": true,
"declAttributes": [
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth9IBAbilityC8shutdownACvgZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC8shutdownACvgZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC11bloodOxygenACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC11bloodOxygenACvgZ",
"moduleName": "IOTBluetooth",
"static": true,
"implicit": true,
},
{
"kind": "Var",
- "name": "fetchBattery",
- "printedName": "fetchBattery",
+ "name": "currentHeartRate",
+ "printedName": "currentHeartRate",
"children": [
{
"kind": "TypeNominal",
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth9IBAbilityC12fetchBatteryACvpZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC12fetchBatteryACvpZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC16currentHeartRateACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC16currentHeartRateACvpZ",
"moduleName": "IOTBluetooth",
"static": true,
"declAttributes": [
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth9IBAbilityC12fetchBatteryACvgZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC12fetchBatteryACvgZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC16currentHeartRateACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC16currentHeartRateACvgZ",
"moduleName": "IOTBluetooth",
"static": true,
"implicit": true,
},
{
"kind": "Var",
- "name": "fetchClock",
- "printedName": "fetchClock",
+ "name": "heartRateMode",
+ "printedName": "heartRateMode",
"children": [
{
"kind": "TypeNominal",
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth9IBAbilityC10fetchClockACvpZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC10fetchClockACvpZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC13heartRateModeACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC13heartRateModeACvpZ",
"moduleName": "IOTBluetooth",
"static": true,
"declAttributes": [
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth9IBAbilityC10fetchClockACvgZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC10fetchClockACvgZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC13heartRateModeACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC13heartRateModeACvgZ",
"moduleName": "IOTBluetooth",
"static": true,
"implicit": true,
},
{
"kind": "Var",
- "name": "setClock",
- "printedName": "setClock",
+ "name": "heartRateHigh",
+ "printedName": "heartRateHigh",
"children": [
{
"kind": "TypeNominal",
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth9IBAbilityC8setClockACvpZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC8setClockACvpZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC13heartRateHighACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC13heartRateHighACvpZ",
"moduleName": "IOTBluetooth",
"static": true,
"declAttributes": [
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth9IBAbilityC8setClockACvgZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC8setClockACvgZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC13heartRateHighACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC13heartRateHighACvgZ",
"moduleName": "IOTBluetooth",
"static": true,
"implicit": true,
},
{
"kind": "Var",
- "name": "fetchDials",
- "printedName": "fetchDials",
+ "name": "takePhoto",
+ "printedName": "takePhoto",
"children": [
{
"kind": "TypeNominal",
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth9IBAbilityC10fetchDialsACvpZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC10fetchDialsACvpZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC9takePhotoACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC9takePhotoACvpZ",
"moduleName": "IOTBluetooth",
"static": true,
"declAttributes": [
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth9IBAbilityC10fetchDialsACvgZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC10fetchDialsACvgZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC9takePhotoACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC9takePhotoACvgZ",
"moduleName": "IOTBluetooth",
"static": true,
"implicit": true,
},
{
"kind": "Var",
- "name": "checkDialID",
- "printedName": "checkDialID",
+ "name": "restore",
+ "printedName": "restore",
"children": [
{
"kind": "TypeNominal",
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth9IBAbilityC11checkDialIDACvpZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC11checkDialIDACvpZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC7restoreACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC7restoreACvpZ",
"moduleName": "IOTBluetooth",
"static": true,
"declAttributes": [
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth9IBAbilityC11checkDialIDACvgZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC11checkDialIDACvgZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC7restoreACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC7restoreACvgZ",
"moduleName": "IOTBluetooth",
"static": true,
"implicit": true,
},
{
"kind": "Var",
- "name": "fetchWatchState",
- "printedName": "fetchWatchState",
+ "name": "reboot",
+ "printedName": "reboot",
"children": [
{
"kind": "TypeNominal",
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth9IBAbilityC15fetchWatchStateACvpZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC15fetchWatchStateACvpZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC6rebootACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC6rebootACvpZ",
"moduleName": "IOTBluetooth",
"static": true,
"declAttributes": [
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth9IBAbilityC15fetchWatchStateACvgZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC15fetchWatchStateACvgZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC6rebootACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC6rebootACvgZ",
"moduleName": "IOTBluetooth",
"static": true,
"implicit": true,
},
{
"kind": "Var",
- "name": "fetchScreen",
- "printedName": "fetchScreen",
+ "name": "shutdown",
+ "printedName": "shutdown",
"children": [
{
"kind": "TypeNominal",
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth9IBAbilityC11fetchScreenACvpZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC11fetchScreenACvpZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC8shutdownACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC8shutdownACvpZ",
"moduleName": "IOTBluetooth",
"static": true,
"declAttributes": [
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth9IBAbilityC11fetchScreenACvgZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC11fetchScreenACvgZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC8shutdownACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC8shutdownACvgZ",
"moduleName": "IOTBluetooth",
"static": true,
"implicit": true,
},
{
"kind": "Var",
- "name": "screen",
- "printedName": "screen",
+ "name": "fetchBattery",
+ "printedName": "fetchBattery",
"children": [
{
"kind": "TypeNominal",
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth9IBAbilityC6screenACvpZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC6screenACvpZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC12fetchBatteryACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC12fetchBatteryACvpZ",
"moduleName": "IOTBluetooth",
"static": true,
"declAttributes": [
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth9IBAbilityC6screenACvgZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC6screenACvgZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC12fetchBatteryACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC12fetchBatteryACvgZ",
"moduleName": "IOTBluetooth",
"static": true,
"implicit": true,
},
{
"kind": "Var",
- "name": "fetchVibrateSound",
- "printedName": "fetchVibrateSound",
+ "name": "fetchClock",
+ "printedName": "fetchClock",
"children": [
{
"kind": "TypeNominal",
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth9IBAbilityC17fetchVibrateSoundACvpZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC17fetchVibrateSoundACvpZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC10fetchClockACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC10fetchClockACvpZ",
"moduleName": "IOTBluetooth",
"static": true,
"declAttributes": [
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth9IBAbilityC17fetchVibrateSoundACvgZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC17fetchVibrateSoundACvgZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC10fetchClockACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC10fetchClockACvgZ",
"moduleName": "IOTBluetooth",
"static": true,
"implicit": true,
},
{
"kind": "Var",
- "name": "vibrateSound",
- "printedName": "vibrateSound",
+ "name": "setClock",
+ "printedName": "setClock",
"children": [
{
"kind": "TypeNominal",
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth9IBAbilityC12vibrateSoundACvpZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC12vibrateSoundACvpZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC8setClockACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC8setClockACvpZ",
"moduleName": "IOTBluetooth",
"static": true,
"declAttributes": [
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth9IBAbilityC12vibrateSoundACvgZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC12vibrateSoundACvgZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC8setClockACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC8setClockACvgZ",
"moduleName": "IOTBluetooth",
"static": true,
"implicit": true,
},
{
"kind": "Var",
- "name": "auxiliary",
- "printedName": "auxiliary",
+ "name": "fetchDials",
+ "printedName": "fetchDials",
"children": [
{
"kind": "TypeNominal",
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth9IBAbilityC9auxiliaryACvpZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC9auxiliaryACvpZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC10fetchDialsACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC10fetchDialsACvpZ",
"moduleName": "IOTBluetooth",
"static": true,
"declAttributes": [
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth9IBAbilityC9auxiliaryACvgZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC9auxiliaryACvgZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC10fetchDialsACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC10fetchDialsACvgZ",
"moduleName": "IOTBluetooth",
"static": true,
"implicit": true,
},
{
"kind": "Var",
- "name": "fetchAuxiliary",
- "printedName": "fetchAuxiliary",
+ "name": "checkDialID",
+ "printedName": "checkDialID",
"children": [
{
"kind": "TypeNominal",
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth9IBAbilityC14fetchAuxiliaryACvpZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC14fetchAuxiliaryACvpZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC11checkDialIDACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC11checkDialIDACvpZ",
"moduleName": "IOTBluetooth",
"static": true,
"declAttributes": [
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth9IBAbilityC14fetchAuxiliaryACvgZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC14fetchAuxiliaryACvgZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC11checkDialIDACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC11checkDialIDACvgZ",
"moduleName": "IOTBluetooth",
"static": true,
"implicit": true,
},
{
"kind": "Var",
- "name": "fetchTargetStep",
- "printedName": "fetchTargetStep",
+ "name": "fetchWatchState",
+ "printedName": "fetchWatchState",
"children": [
{
"kind": "TypeNominal",
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth9IBAbilityC15fetchTargetStepACvpZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC15fetchTargetStepACvpZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC15fetchWatchStateACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC15fetchWatchStateACvpZ",
"moduleName": "IOTBluetooth",
"static": true,
"declAttributes": [
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth9IBAbilityC15fetchTargetStepACvgZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC15fetchTargetStepACvgZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC15fetchWatchStateACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC15fetchWatchStateACvgZ",
"moduleName": "IOTBluetooth",
"static": true,
"implicit": true,
},
{
"kind": "Var",
- "name": "targetStep",
- "printedName": "targetStep",
+ "name": "fetchScreen",
+ "printedName": "fetchScreen",
"children": [
{
"kind": "TypeNominal",
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth9IBAbilityC10targetStepACvpZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC10targetStepACvpZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC11fetchScreenACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC11fetchScreenACvpZ",
"moduleName": "IOTBluetooth",
"static": true,
"declAttributes": [
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth9IBAbilityC10targetStepACvgZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC10targetStepACvgZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC11fetchScreenACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC11fetchScreenACvgZ",
"moduleName": "IOTBluetooth",
"static": true,
"implicit": true,
},
{
"kind": "Var",
- "name": "fetchOtherTarget",
- "printedName": "fetchOtherTarget",
+ "name": "screen",
+ "printedName": "screen",
"children": [
{
"kind": "TypeNominal",
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth9IBAbilityC16fetchOtherTargetACvpZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC16fetchOtherTargetACvpZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC6screenACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC6screenACvpZ",
"moduleName": "IOTBluetooth",
"static": true,
"declAttributes": [
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth9IBAbilityC16fetchOtherTargetACvgZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC16fetchOtherTargetACvgZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC6screenACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC6screenACvgZ",
"moduleName": "IOTBluetooth",
"static": true,
"implicit": true,
},
{
"kind": "Var",
- "name": "targetOther",
- "printedName": "targetOther",
+ "name": "fetchVibrateSound",
+ "printedName": "fetchVibrateSound",
"children": [
{
"kind": "TypeNominal",
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth9IBAbilityC11targetOtherACvpZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC11targetOtherACvpZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC17fetchVibrateSoundACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC17fetchVibrateSoundACvpZ",
"moduleName": "IOTBluetooth",
"static": true,
"declAttributes": [
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth9IBAbilityC11targetOtherACvgZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC11targetOtherACvgZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC17fetchVibrateSoundACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC17fetchVibrateSoundACvgZ",
"moduleName": "IOTBluetooth",
"static": true,
"implicit": true,
},
{
"kind": "Var",
- "name": "fetchSleep",
- "printedName": "fetchSleep",
+ "name": "vibrateSound",
+ "printedName": "vibrateSound",
"children": [
{
"kind": "TypeNominal",
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth9IBAbilityC10fetchSleepACvpZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC10fetchSleepACvpZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC12vibrateSoundACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC12vibrateSoundACvpZ",
"moduleName": "IOTBluetooth",
"static": true,
"declAttributes": [
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth9IBAbilityC10fetchSleepACvgZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC10fetchSleepACvgZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC12vibrateSoundACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC12vibrateSoundACvgZ",
"moduleName": "IOTBluetooth",
"static": true,
"implicit": true,
},
{
"kind": "Var",
- "name": "sleep",
- "printedName": "sleep",
+ "name": "auxiliary",
+ "printedName": "auxiliary",
"children": [
{
"kind": "TypeNominal",
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth9IBAbilityC5sleepACvpZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC5sleepACvpZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC9auxiliaryACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC9auxiliaryACvpZ",
"moduleName": "IOTBluetooth",
"static": true,
"declAttributes": [
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth9IBAbilityC5sleepACvgZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC5sleepACvgZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC9auxiliaryACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC9auxiliaryACvgZ",
"moduleName": "IOTBluetooth",
"static": true,
"implicit": true,
},
{
"kind": "Var",
- "name": "fetchWater",
- "printedName": "fetchWater",
+ "name": "fetchAuxiliary",
+ "printedName": "fetchAuxiliary",
"children": [
{
"kind": "TypeNominal",
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth9IBAbilityC10fetchWaterACvpZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC10fetchWaterACvpZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC14fetchAuxiliaryACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC14fetchAuxiliaryACvpZ",
"moduleName": "IOTBluetooth",
"static": true,
"declAttributes": [
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth9IBAbilityC10fetchWaterACvgZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC10fetchWaterACvgZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC14fetchAuxiliaryACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC14fetchAuxiliaryACvgZ",
"moduleName": "IOTBluetooth",
"static": true,
"implicit": true,
},
{
"kind": "Var",
- "name": "water",
- "printedName": "water",
+ "name": "fetchTargetStep",
+ "printedName": "fetchTargetStep",
"children": [
{
"kind": "TypeNominal",
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth9IBAbilityC5waterACvpZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC5waterACvpZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC15fetchTargetStepACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC15fetchTargetStepACvpZ",
"moduleName": "IOTBluetooth",
"static": true,
"declAttributes": [
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth9IBAbilityC5waterACvgZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC5waterACvgZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC15fetchTargetStepACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC15fetchTargetStepACvgZ",
"moduleName": "IOTBluetooth",
"static": true,
"implicit": true,
},
{
"kind": "Var",
- "name": "unit",
- "printedName": "unit",
+ "name": "targetStep",
+ "printedName": "targetStep",
"children": [
{
"kind": "TypeNominal",
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth9IBAbilityC4unitACvpZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC4unitACvpZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC10targetStepACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC10targetStepACvpZ",
"moduleName": "IOTBluetooth",
"static": true,
"declAttributes": [
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth9IBAbilityC4unitACvgZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC4unitACvgZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC10targetStepACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC10targetStepACvgZ",
"moduleName": "IOTBluetooth",
"static": true,
"implicit": true,
},
{
"kind": "Var",
- "name": "trainTarget",
- "printedName": "trainTarget",
+ "name": "fetchOtherTarget",
+ "printedName": "fetchOtherTarget",
"children": [
{
"kind": "TypeNominal",
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth9IBAbilityC11trainTargetACvpZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC11trainTargetACvpZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC16fetchOtherTargetACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC16fetchOtherTargetACvpZ",
"moduleName": "IOTBluetooth",
"static": true,
"declAttributes": [
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth9IBAbilityC11trainTargetACvgZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC11trainTargetACvgZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC16fetchOtherTargetACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC16fetchOtherTargetACvgZ",
"moduleName": "IOTBluetooth",
"static": true,
"implicit": true,
},
{
"kind": "Var",
- "name": "syncHeartRate",
- "printedName": "syncHeartRate",
+ "name": "targetOther",
+ "printedName": "targetOther",
"children": [
{
"kind": "TypeNominal",
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth9IBAbilityC13syncHeartRateACvpZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC13syncHeartRateACvpZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC11targetOtherACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC11targetOtherACvpZ",
"moduleName": "IOTBluetooth",
"static": true,
"declAttributes": [
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth9IBAbilityC13syncHeartRateACvgZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC13syncHeartRateACvgZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC11targetOtherACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC11targetOtherACvgZ",
"moduleName": "IOTBluetooth",
"static": true,
"implicit": true,
},
{
"kind": "Var",
- "name": "syncBloodOxygen",
- "printedName": "syncBloodOxygen",
+ "name": "fetchSleep",
+ "printedName": "fetchSleep",
"children": [
{
"kind": "TypeNominal",
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth9IBAbilityC15syncBloodOxygenACvpZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC15syncBloodOxygenACvpZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC10fetchSleepACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC10fetchSleepACvpZ",
"moduleName": "IOTBluetooth",
"static": true,
"declAttributes": [
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth9IBAbilityC15syncBloodOxygenACvgZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC15syncBloodOxygenACvgZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC10fetchSleepACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC10fetchSleepACvgZ",
"moduleName": "IOTBluetooth",
"static": true,
"implicit": true,
},
{
"kind": "Var",
- "name": "syncStepCount",
- "printedName": "syncStepCount",
+ "name": "sleep",
+ "printedName": "sleep",
"children": [
{
"kind": "TypeNominal",
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth9IBAbilityC13syncStepCountACvpZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC13syncStepCountACvpZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC5sleepACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC5sleepACvpZ",
"moduleName": "IOTBluetooth",
"static": true,
"declAttributes": [
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth9IBAbilityC13syncStepCountACvgZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC13syncStepCountACvgZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC5sleepACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC5sleepACvgZ",
"moduleName": "IOTBluetooth",
"static": true,
"implicit": true,
},
{
"kind": "Var",
- "name": "syncFatBurning",
- "printedName": "syncFatBurning",
+ "name": "fetchWater",
+ "printedName": "fetchWater",
"children": [
{
"kind": "TypeNominal",
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth9IBAbilityC14syncFatBurningACvpZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC14syncFatBurningACvpZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC10fetchWaterACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC10fetchWaterACvpZ",
"moduleName": "IOTBluetooth",
"static": true,
"declAttributes": [
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth9IBAbilityC14syncFatBurningACvgZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC14syncFatBurningACvgZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC10fetchWaterACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC10fetchWaterACvgZ",
"moduleName": "IOTBluetooth",
"static": true,
"implicit": true,
},
{
"kind": "Var",
- "name": "syncStand",
- "printedName": "syncStand",
+ "name": "water",
+ "printedName": "water",
"children": [
{
"kind": "TypeNominal",
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth9IBAbilityC9syncStandACvpZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC9syncStandACvpZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC5waterACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC5waterACvpZ",
"moduleName": "IOTBluetooth",
"static": true,
"declAttributes": [
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth9IBAbilityC9syncStandACvgZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC9syncStandACvgZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC5waterACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC5waterACvgZ",
"moduleName": "IOTBluetooth",
"static": true,
"implicit": true,
},
{
"kind": "Var",
- "name": "syncCalorie",
- "printedName": "syncCalorie",
+ "name": "unit",
+ "printedName": "unit",
"children": [
{
"kind": "TypeNominal",
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth9IBAbilityC11syncCalorieACvpZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC11syncCalorieACvpZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC4unitACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC4unitACvpZ",
"moduleName": "IOTBluetooth",
"static": true,
"declAttributes": [
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth9IBAbilityC11syncCalorieACvgZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC11syncCalorieACvgZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC4unitACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC4unitACvgZ",
"moduleName": "IOTBluetooth",
"static": true,
"implicit": true,
},
{
"kind": "Var",
- "name": "syncDistance",
- "printedName": "syncDistance",
+ "name": "trainTarget",
+ "printedName": "trainTarget",
"children": [
{
"kind": "TypeNominal",
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth9IBAbilityC12syncDistanceACvpZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC12syncDistanceACvpZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC11trainTargetACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC11trainTargetACvpZ",
"moduleName": "IOTBluetooth",
"static": true,
"declAttributes": [
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth9IBAbilityC12syncDistanceACvgZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC12syncDistanceACvgZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC11trainTargetACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC11trainTargetACvgZ",
"moduleName": "IOTBluetooth",
"static": true,
"implicit": true,
},
{
"kind": "Var",
- "name": "syncTrain",
- "printedName": "syncTrain",
+ "name": "syncHeartRate",
+ "printedName": "syncHeartRate",
"children": [
{
"kind": "TypeNominal",
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth9IBAbilityC9syncTrainACvpZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC9syncTrainACvpZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC13syncHeartRateACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC13syncHeartRateACvpZ",
"moduleName": "IOTBluetooth",
"static": true,
"declAttributes": [
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth9IBAbilityC9syncTrainACvgZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC9syncTrainACvgZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC13syncHeartRateACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC13syncHeartRateACvgZ",
"moduleName": "IOTBluetooth",
"static": true,
"implicit": true,
},
{
"kind": "Var",
- "name": "syncSleep",
- "printedName": "syncSleep",
+ "name": "syncBloodOxygen",
+ "printedName": "syncBloodOxygen",
"children": [
{
"kind": "TypeNominal",
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth9IBAbilityC9syncSleepACvpZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC9syncSleepACvpZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC15syncBloodOxygenACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC15syncBloodOxygenACvpZ",
"moduleName": "IOTBluetooth",
"static": true,
"declAttributes": [
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth9IBAbilityC9syncSleepACvgZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC9syncSleepACvgZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC15syncBloodOxygenACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC15syncBloodOxygenACvgZ",
"moduleName": "IOTBluetooth",
"static": true,
"implicit": true,
},
{
"kind": "Var",
- "name": "syncGPS",
- "printedName": "syncGPS",
+ "name": "syncStepCount",
+ "printedName": "syncStepCount",
"children": [
{
"kind": "TypeNominal",
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth9IBAbilityC7syncGPSACvpZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC7syncGPSACvpZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC13syncStepCountACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC13syncStepCountACvpZ",
"moduleName": "IOTBluetooth",
"static": true,
"declAttributes": [
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth9IBAbilityC7syncGPSACvgZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC7syncGPSACvgZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC13syncStepCountACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC13syncStepCountACvgZ",
"moduleName": "IOTBluetooth",
"static": true,
"implicit": true,
},
{
"kind": "Var",
- "name": "sendSyncEnd",
- "printedName": "sendSyncEnd",
+ "name": "syncFatBurning",
+ "printedName": "syncFatBurning",
"children": [
{
"kind": "TypeNominal",
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth9IBAbilityC11sendSyncEndACvpZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC11sendSyncEndACvpZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC14syncFatBurningACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC14syncFatBurningACvpZ",
"moduleName": "IOTBluetooth",
"static": true,
"declAttributes": [
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth9IBAbilityC11sendSyncEndACvgZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC11sendSyncEndACvgZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC14syncFatBurningACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC14syncFatBurningACvgZ",
"moduleName": "IOTBluetooth",
"static": true,
"implicit": true,
},
{
"kind": "Var",
- "name": "disk",
- "printedName": "disk",
+ "name": "syncStand",
+ "printedName": "syncStand",
"children": [
{
"kind": "TypeNominal",
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth9IBAbilityC4diskACvpZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC4diskACvpZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC9syncStandACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC9syncStandACvpZ",
"moduleName": "IOTBluetooth",
"static": true,
"declAttributes": [
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth9IBAbilityC4diskACvgZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC4diskACvgZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC9syncStandACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC9syncStandACvgZ",
"moduleName": "IOTBluetooth",
"static": true,
"implicit": true,
},
{
"kind": "Var",
- "name": "sendPhone",
- "printedName": "sendPhone",
+ "name": "syncCalorie",
+ "printedName": "syncCalorie",
"children": [
{
"kind": "TypeNominal",
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth9IBAbilityC9sendPhoneACvpZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC9sendPhoneACvpZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC11syncCalorieACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC11syncCalorieACvpZ",
"moduleName": "IOTBluetooth",
"static": true,
"declAttributes": [
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth9IBAbilityC9sendPhoneACvgZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC9sendPhoneACvgZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC11syncCalorieACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC11syncCalorieACvgZ",
"moduleName": "IOTBluetooth",
"static": true,
"implicit": true,
},
{
"kind": "Var",
- "name": "sendTime",
- "printedName": "sendTime",
+ "name": "syncDistance",
+ "printedName": "syncDistance",
"children": [
{
"kind": "TypeNominal",
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth9IBAbilityC8sendTimeACvpZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC8sendTimeACvpZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC12syncDistanceACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC12syncDistanceACvpZ",
"moduleName": "IOTBluetooth",
"static": true,
"declAttributes": [
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth9IBAbilityC8sendTimeACvgZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC8sendTimeACvgZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC12syncDistanceACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC12syncDistanceACvgZ",
"moduleName": "IOTBluetooth",
"static": true,
"implicit": true,
},
{
"kind": "Var",
- "name": "unpair",
- "printedName": "unpair",
+ "name": "syncTrain",
+ "printedName": "syncTrain",
"children": [
{
"kind": "TypeNominal",
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth9IBAbilityC6unpairACvpZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC6unpairACvpZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC9syncTrainACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC9syncTrainACvpZ",
"moduleName": "IOTBluetooth",
"static": true,
"declAttributes": [
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth9IBAbilityC6unpairACvgZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC6unpairACvgZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC9syncTrainACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC9syncTrainACvgZ",
"moduleName": "IOTBluetooth",
"static": true,
"implicit": true,
},
{
"kind": "Var",
- "name": "sendUnpair",
- "printedName": "sendUnpair",
+ "name": "syncSleep",
+ "printedName": "syncSleep",
"children": [
{
"kind": "TypeNominal",
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth9IBAbilityC10sendUnpairACvpZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC10sendUnpairACvpZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC9syncSleepACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC9syncSleepACvpZ",
"moduleName": "IOTBluetooth",
"static": true,
"declAttributes": [
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth9IBAbilityC10sendUnpairACvgZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC10sendUnpairACvgZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC9syncSleepACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC9syncSleepACvgZ",
"moduleName": "IOTBluetooth",
"static": true,
"implicit": true,
},
{
"kind": "Var",
- "name": "sendWeather",
- "printedName": "sendWeather",
+ "name": "syncGPS",
+ "printedName": "syncGPS",
"children": [
{
"kind": "TypeNominal",
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth9IBAbilityC11sendWeatherACvpZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC11sendWeatherACvpZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC7syncGPSACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC7syncGPSACvpZ",
"moduleName": "IOTBluetooth",
"static": true,
"declAttributes": [
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth9IBAbilityC11sendWeatherACvgZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC11sendWeatherACvgZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC7syncGPSACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC7syncGPSACvgZ",
"moduleName": "IOTBluetooth",
"static": true,
"implicit": true,
},
{
"kind": "Var",
- "name": "addressBook",
- "printedName": "addressBook",
+ "name": "sendSyncEnd",
+ "printedName": "sendSyncEnd",
"children": [
{
"kind": "TypeNominal",
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth9IBAbilityC11addressBookACvpZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC11addressBookACvpZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC11sendSyncEndACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC11sendSyncEndACvpZ",
"moduleName": "IOTBluetooth",
"static": true,
"declAttributes": [
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth9IBAbilityC11addressBookACvgZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC11addressBookACvgZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC11sendSyncEndACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC11sendSyncEndACvgZ",
"moduleName": "IOTBluetooth",
"static": true,
"implicit": true,
},
{
"kind": "Var",
- "name": "mp3",
- "printedName": "mp3",
+ "name": "disk",
+ "printedName": "disk",
"children": [
{
"kind": "TypeNominal",
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth9IBAbilityC3mp3ACvpZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC3mp3ACvpZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC4diskACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC4diskACvpZ",
"moduleName": "IOTBluetooth",
"static": true,
"declAttributes": [
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth9IBAbilityC3mp3ACvgZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC3mp3ACvgZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC4diskACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC4diskACvgZ",
"moduleName": "IOTBluetooth",
"static": true,
"implicit": true,
},
{
"kind": "Var",
- "name": "dial",
- "printedName": "dial",
+ "name": "sendPhone",
+ "printedName": "sendPhone",
"children": [
{
"kind": "TypeNominal",
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth9IBAbilityC4dialACvpZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC4dialACvpZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC9sendPhoneACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC9sendPhoneACvpZ",
"moduleName": "IOTBluetooth",
"static": true,
"declAttributes": [
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth9IBAbilityC4dialACvgZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC4dialACvgZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC9sendPhoneACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC9sendPhoneACvgZ",
"moduleName": "IOTBluetooth",
"static": true,
"implicit": true,
},
{
"kind": "Var",
- "name": "deleteFile",
- "printedName": "deleteFile",
+ "name": "sendTime",
+ "printedName": "sendTime",
"children": [
{
"kind": "TypeNominal",
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth9IBAbilityC10deleteFileACvpZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC10deleteFileACvpZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC8sendTimeACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC8sendTimeACvpZ",
"moduleName": "IOTBluetooth",
"static": true,
"declAttributes": [
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth9IBAbilityC10deleteFileACvgZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC10deleteFileACvgZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC8sendTimeACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC8sendTimeACvgZ",
"moduleName": "IOTBluetooth",
"static": true,
"implicit": true,
},
{
"kind": "Var",
- "name": "deleteFiles",
- "printedName": "deleteFiles",
+ "name": "unpair",
+ "printedName": "unpair",
"children": [
{
"kind": "TypeNominal",
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth9IBAbilityC11deleteFilesACvpZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC11deleteFilesACvpZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC6unpairACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC6unpairACvpZ",
"moduleName": "IOTBluetooth",
"static": true,
"declAttributes": [
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth9IBAbilityC11deleteFilesACvgZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC11deleteFilesACvgZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC6unpairACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC6unpairACvgZ",
"moduleName": "IOTBluetooth",
"static": true,
"implicit": true,
},
{
"kind": "Var",
- "name": "ota",
- "printedName": "ota",
+ "name": "sendUnpair",
+ "printedName": "sendUnpair",
"children": [
{
"kind": "TypeNominal",
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth9IBAbilityC3otaACvpZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC3otaACvpZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC10sendUnpairACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC10sendUnpairACvpZ",
"moduleName": "IOTBluetooth",
"static": true,
"declAttributes": [
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth9IBAbilityC3otaACvgZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC3otaACvgZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC10sendUnpairACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC10sendUnpairACvgZ",
"moduleName": "IOTBluetooth",
"static": true,
"implicit": true,
},
{
"kind": "Var",
- "name": "revokeFileSend",
- "printedName": "revokeFileSend",
+ "name": "sendWeather",
+ "printedName": "sendWeather",
"children": [
{
"kind": "TypeNominal",
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth9IBAbilityC14revokeFileSendACvpZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC14revokeFileSendACvpZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC11sendWeatherACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC11sendWeatherACvpZ",
"moduleName": "IOTBluetooth",
"static": true,
"declAttributes": [
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth9IBAbilityC14revokeFileSendACvgZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC14revokeFileSendACvgZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC11sendWeatherACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC11sendWeatherACvgZ",
"moduleName": "IOTBluetooth",
"static": true,
"implicit": true,
},
{
"kind": "Var",
- "name": "fetchFiles",
- "printedName": "fetchFiles",
+ "name": "addressBook",
+ "printedName": "addressBook",
"children": [
{
"kind": "TypeNominal",
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth9IBAbilityC10fetchFilesACvpZ",
- "mangledName": "$s12IOTBluetooth9IBAbilityC10fetchFilesACvpZ",
+ "usr": "s:12IOTBluetooth9IBAbilityC11addressBookACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC11addressBookACvpZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAbilityC11addressBookACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC11addressBookACvgZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "mp3",
+ "printedName": "mp3",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBAbilityC3mp3ACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC3mp3ACvpZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAbilityC3mp3ACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC3mp3ACvgZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "dial",
+ "printedName": "dial",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBAbilityC4dialACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC4dialACvpZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAbilityC4dialACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC4dialACvgZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "deleteFile",
+ "printedName": "deleteFile",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBAbilityC10deleteFileACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC10deleteFileACvpZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAbilityC10deleteFileACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC10deleteFileACvgZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "deleteFiles",
+ "printedName": "deleteFiles",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBAbilityC11deleteFilesACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC11deleteFilesACvpZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAbilityC11deleteFilesACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC11deleteFilesACvgZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "ota",
+ "printedName": "ota",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBAbilityC3otaACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC3otaACvpZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAbilityC3otaACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC3otaACvgZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "revokeFileSend",
+ "printedName": "revokeFileSend",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBAbilityC14revokeFileSendACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC14revokeFileSendACvpZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAbilityC14revokeFileSendACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC14revokeFileSendACvgZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "fetchFiles",
+ "printedName": "fetchFiles",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBAbilityC10fetchFilesACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC10fetchFilesACvpZ",
"moduleName": "IOTBluetooth",
"static": true,
"declAttributes": [
"AccessControl",
"RawDocComment"
],
- "hasMissingDesignatedInitializers": true
+ "hasMissingDesignatedInitializers": true,
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ }
+ ]
},
{
"kind": "Import",
"declAttributes": [
"AccessControl",
"RawDocComment"
+ ],
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ }
]
},
{
"AccessControl",
"RawDocComment"
],
- "hasMissingDesignatedInitializers": true
+ "hasMissingDesignatedInitializers": true,
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ }
+ ]
},
{
"kind": "TypeDecl",
"RawDocComment"
]
},
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init(rawValue:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "IOTBluetooth.IBDuration?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBDuration",
+ "printedName": "IOTBluetooth.IBDuration",
+ "usr": "s:12IOTBluetooth10IBDurationO"
+ }
+ ],
+ "usr": "s:Sq"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth10IBDurationO8rawValueACSgSi_tcfc",
+ "mangledName": "$s12IOTBluetooth10IBDurationO8rawValueACSgSi_tcfc",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "init_kind": "Designated"
+ },
{
"kind": "Var",
"name": "rawValue",
"accessorKind": "get"
}
]
- },
- {
- "kind": "Constructor",
- "name": "init",
- "printedName": "init(rawValue:)",
- "children": [
- {
- "kind": "TypeNominal",
- "name": "Optional",
- "printedName": "IOTBluetooth.IBDuration?",
- "children": [
- {
- "kind": "TypeNominal",
- "name": "IBDuration",
- "printedName": "IOTBluetooth.IBDuration",
- "usr": "s:12IOTBluetooth10IBDurationO"
- }
- ],
- "usr": "s:Sq"
- },
- {
- "kind": "TypeNominal",
- "name": "Int",
- "printedName": "Swift.Int",
- "usr": "s:Si"
- }
- ],
- "declKind": "Constructor",
- "usr": "s:12IOTBluetooth10IBDurationO8rawValueACSgSi_tcfc",
- "mangledName": "$s12IOTBluetooth10IBDurationO8rawValueACSgSi_tcfc",
- "moduleName": "IOTBluetooth",
- "implicit": true,
- "init_kind": "Designated"
}
],
"declKind": "Enum",
],
"enumRawTypeName": "Int",
"conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ },
{
"kind": "Conformance",
"name": "Equatable",
],
"init_kind": "Designated"
},
- {
- "kind": "Function",
- "name": "encode",
- "printedName": "encode(to:)",
- "children": [
- {
- "kind": "TypeNominal",
- "name": "Void",
- "printedName": "()"
- },
- {
- "kind": "TypeNominal",
- "name": "Encoder",
- "printedName": "Swift.Encoder",
- "usr": "s:s7EncoderP"
- }
- ],
- "declKind": "Func",
- "usr": "s:12IOTBluetooth10IBSendTimeC6encode2toys7Encoder_p_tKF",
- "mangledName": "$s12IOTBluetooth10IBSendTimeC6encode2toys7Encoder_p_tKF",
- "moduleName": "IOTBluetooth",
- "implicit": true,
- "throwing": true,
- "funcSelfKind": "NonMutating"
- },
{
"kind": "Constructor",
"name": "init",
{
"kind": "TypeNominal",
"name": "Decoder",
- "printedName": "Swift.Decoder",
+ "printedName": "any Swift.Decoder",
"usr": "s:s7DecoderP"
}
],
],
"throwing": true,
"init_kind": "Designated"
+ },
+ {
+ "kind": "Function",
+ "name": "encode",
+ "printedName": "encode(to:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Encoder",
+ "printedName": "any Swift.Encoder",
+ "usr": "s:s7EncoderP"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:12IOTBluetooth10IBSendTimeC6encode2toys7Encoder_p_tKF",
+ "mangledName": "$s12IOTBluetooth10IBSendTimeC6encode2toys7Encoder_p_tKF",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "throwing": true,
+ "funcSelfKind": "NonMutating"
}
],
"declKind": "Class",
"RawDocComment"
],
"conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ },
{
"kind": "Conformance",
"name": "Decodable",
"RawDocComment"
]
},
- {
- "kind": "Import",
- "name": "Foundation",
- "printedName": "Foundation",
- "declKind": "Import",
- "moduleName": "IOTBluetooth",
- "declAttributes": [
- "RawDocComment"
- ]
- },
{
"kind": "TypeDecl",
- "name": "IBTargetStep",
- "printedName": "IBTargetStep",
+ "name": "IBContact",
+ "printedName": "IBContact",
"children": [
{
"kind": "Var",
- "name": "value",
- "printedName": "value",
+ "name": "gender",
+ "printedName": "gender",
"children": [
{
"kind": "TypeNominal",
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth12IBTargetStepC5valueSivp",
- "mangledName": "$s12IOTBluetooth12IBTargetStepC5valueSivp",
+ "usr": "s:12IOTBluetooth9IBContactC6genderSivp",
+ "mangledName": "$s12IOTBluetooth9IBContactC6genderSivp",
"moduleName": "IOTBluetooth",
"declAttributes": [
"HasInitialValue",
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth12IBTargetStepC5valueSivg",
- "mangledName": "$s12IOTBluetooth12IBTargetStepC5valueSivg",
+ "usr": "s:12IOTBluetooth9IBContactC6genderSivg",
+ "mangledName": "$s12IOTBluetooth9IBContactC6genderSivg",
"moduleName": "IOTBluetooth",
"implicit": true,
"accessorKind": "get"
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth12IBTargetStepC5valueSivs",
- "mangledName": "$s12IOTBluetooth12IBTargetStepC5valueSivs",
+ "usr": "s:12IOTBluetooth9IBContactC6genderSivs",
+ "mangledName": "$s12IOTBluetooth9IBContactC6genderSivs",
"moduleName": "IOTBluetooth",
"implicit": true,
"accessorKind": "set"
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth12IBTargetStepC5valueSivM",
- "mangledName": "$s12IOTBluetooth12IBTargetStepC5valueSivM",
+ "usr": "s:12IOTBluetooth9IBContactC6genderSivM",
+ "mangledName": "$s12IOTBluetooth9IBContactC6genderSivM",
"moduleName": "IOTBluetooth",
"implicit": true,
"accessorKind": "_modify"
},
{
"kind": "Var",
- "name": "ring",
- "printedName": "ring",
+ "name": "name",
+ "printedName": "name",
"children": [
{
"kind": "TypeNominal",
- "name": "Int",
- "printedName": "Swift.Int",
- "usr": "s:Si"
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth12IBTargetStepC4ringSivp",
- "mangledName": "$s12IOTBluetooth12IBTargetStepC4ringSivp",
+ "usr": "s:12IOTBluetooth9IBContactC4nameSSvp",
+ "mangledName": "$s12IOTBluetooth9IBContactC4nameSSvp",
"moduleName": "IOTBluetooth",
"declAttributes": [
"HasInitialValue",
"children": [
{
"kind": "TypeNominal",
- "name": "Int",
- "printedName": "Swift.Int",
- "usr": "s:Si"
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth12IBTargetStepC4ringSivg",
- "mangledName": "$s12IOTBluetooth12IBTargetStepC4ringSivg",
+ "usr": "s:12IOTBluetooth9IBContactC4nameSSvg",
+ "mangledName": "$s12IOTBluetooth9IBContactC4nameSSvg",
"moduleName": "IOTBluetooth",
"implicit": true,
"accessorKind": "get"
},
{
"kind": "TypeNominal",
- "name": "Int",
- "printedName": "Swift.Int",
- "usr": "s:Si"
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth12IBTargetStepC4ringSivs",
- "mangledName": "$s12IOTBluetooth12IBTargetStepC4ringSivs",
+ "usr": "s:12IOTBluetooth9IBContactC4nameSSvs",
+ "mangledName": "$s12IOTBluetooth9IBContactC4nameSSvs",
"moduleName": "IOTBluetooth",
"implicit": true,
"accessorKind": "set"
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth12IBTargetStepC4ringSivM",
- "mangledName": "$s12IOTBluetooth12IBTargetStepC4ringSivM",
+ "usr": "s:12IOTBluetooth9IBContactC4nameSSvM",
+ "mangledName": "$s12IOTBluetooth9IBContactC4nameSSvM",
"moduleName": "IOTBluetooth",
"implicit": true,
"accessorKind": "_modify"
},
{
"kind": "Var",
- "name": "vibrate",
- "printedName": "vibrate",
+ "name": "tel",
+ "printedName": "tel",
"children": [
{
"kind": "TypeNominal",
- "name": "Int",
- "printedName": "Swift.Int",
- "usr": "s:Si"
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth12IBTargetStepC7vibrateSivp",
- "mangledName": "$s12IOTBluetooth12IBTargetStepC7vibrateSivp",
+ "usr": "s:12IOTBluetooth9IBContactC3telSSvp",
+ "mangledName": "$s12IOTBluetooth9IBContactC3telSSvp",
"moduleName": "IOTBluetooth",
"declAttributes": [
"HasInitialValue",
"children": [
{
"kind": "TypeNominal",
- "name": "Int",
- "printedName": "Swift.Int",
- "usr": "s:Si"
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth12IBTargetStepC7vibrateSivg",
- "mangledName": "$s12IOTBluetooth12IBTargetStepC7vibrateSivg",
+ "usr": "s:12IOTBluetooth9IBContactC3telSSvg",
+ "mangledName": "$s12IOTBluetooth9IBContactC3telSSvg",
"moduleName": "IOTBluetooth",
"implicit": true,
"accessorKind": "get"
},
{
"kind": "TypeNominal",
- "name": "Int",
- "printedName": "Swift.Int",
- "usr": "s:Si"
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth12IBTargetStepC7vibrateSivs",
- "mangledName": "$s12IOTBluetooth12IBTargetStepC7vibrateSivs",
+ "usr": "s:12IOTBluetooth9IBContactC3telSSvs",
+ "mangledName": "$s12IOTBluetooth9IBContactC3telSSvs",
"moduleName": "IOTBluetooth",
"implicit": true,
"accessorKind": "set"
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth12IBTargetStepC7vibrateSivM",
- "mangledName": "$s12IOTBluetooth12IBTargetStepC7vibrateSivM",
+ "usr": "s:12IOTBluetooth9IBContactC3telSSvM",
+ "mangledName": "$s12IOTBluetooth9IBContactC3telSSvM",
"moduleName": "IOTBluetooth",
"implicit": true,
"accessorKind": "_modify"
}
]
},
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBContact",
+ "printedName": "IOTBluetooth.IBContact",
+ "usr": "s:12IOTBluetooth9IBContactC"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth9IBContactCACycfc",
+ "mangledName": "$s12IOTBluetooth9IBContactCACycfc",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "init_kind": "Designated"
+ }
+ ],
+ "declKind": "Class",
+ "usr": "s:12IOTBluetooth9IBContactC",
+ "mangledName": "$s12IOTBluetooth9IBContactC",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ }
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "IBTargetStep",
+ "printedName": "IBTargetStep",
+ "children": [
{
"kind": "Var",
- "name": "notice",
- "printedName": "notice",
+ "name": "value",
+ "printedName": "value",
"children": [
{
"kind": "TypeNominal",
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth12IBTargetStepC6noticeSivp",
- "mangledName": "$s12IOTBluetooth12IBTargetStepC6noticeSivp",
+ "usr": "s:12IOTBluetooth12IBTargetStepC5valueSivp",
+ "mangledName": "$s12IOTBluetooth12IBTargetStepC5valueSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth12IBTargetStepC5valueSivg",
+ "mangledName": "$s12IOTBluetooth12IBTargetStepC5valueSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth12IBTargetStepC5valueSivs",
+ "mangledName": "$s12IOTBluetooth12IBTargetStepC5valueSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth12IBTargetStepC5valueSivM",
+ "mangledName": "$s12IOTBluetooth12IBTargetStepC5valueSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "ring",
+ "printedName": "ring",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth12IBTargetStepC4ringSivp",
+ "mangledName": "$s12IOTBluetooth12IBTargetStepC4ringSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth12IBTargetStepC4ringSivg",
+ "mangledName": "$s12IOTBluetooth12IBTargetStepC4ringSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth12IBTargetStepC4ringSivs",
+ "mangledName": "$s12IOTBluetooth12IBTargetStepC4ringSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth12IBTargetStepC4ringSivM",
+ "mangledName": "$s12IOTBluetooth12IBTargetStepC4ringSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "vibrate",
+ "printedName": "vibrate",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth12IBTargetStepC7vibrateSivp",
+ "mangledName": "$s12IOTBluetooth12IBTargetStepC7vibrateSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth12IBTargetStepC7vibrateSivg",
+ "mangledName": "$s12IOTBluetooth12IBTargetStepC7vibrateSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth12IBTargetStepC7vibrateSivs",
+ "mangledName": "$s12IOTBluetooth12IBTargetStepC7vibrateSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth12IBTargetStepC7vibrateSivM",
+ "mangledName": "$s12IOTBluetooth12IBTargetStepC7vibrateSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "notice",
+ "printedName": "notice",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth12IBTargetStepC6noticeSivp",
+ "mangledName": "$s12IOTBluetooth12IBTargetStepC6noticeSivp",
"moduleName": "IOTBluetooth",
"declAttributes": [
"HasInitialValue",
"AccessControl",
"RawDocComment"
],
- "hasMissingDesignatedInitializers": true
+ "hasMissingDesignatedInitializers": true,
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ }
+ ]
},
{
"kind": "Import",
"moduleName": "IOTBluetooth",
"declAttributes": [
"AccessControl"
+ ],
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ }
]
},
{
"moduleName": "IOTBluetooth",
"declAttributes": [
"AccessControl"
+ ],
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ }
]
},
{
{
"kind": "TypeNominal",
"name": "Optional",
- "printedName": "IOTBluetooth.IBPeripheralUUID?",
+ "printedName": "(any IOTBluetooth.IBPeripheralUUID)?",
"children": [
{
"kind": "TypeNominal",
"name": "IBPeripheralUUID",
- "printedName": "IOTBluetooth.IBPeripheralUUID",
+ "printedName": "any IOTBluetooth.IBPeripheralUUID",
"usr": "s:12IOTBluetooth16IBPeripheralUUIDP"
}
],
{
"kind": "TypeNominal",
"name": "Optional",
- "printedName": "IOTBluetooth.IBPeripheralUUID?",
+ "printedName": "(any IOTBluetooth.IBPeripheralUUID)?",
"children": [
{
"kind": "TypeNominal",
"name": "IBPeripheralUUID",
- "printedName": "IOTBluetooth.IBPeripheralUUID",
+ "printedName": "any IOTBluetooth.IBPeripheralUUID",
"usr": "s:12IOTBluetooth16IBPeripheralUUIDP"
}
],
"declAttributes": [
"AccessControl",
"RawDocComment"
+ ],
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ }
]
},
{
{
"kind": "TypeNominal",
"name": "Decoder",
- "printedName": "Swift.Decoder",
+ "printedName": "any Swift.Decoder",
"usr": "s:s7DecoderP"
}
],
{
"kind": "TypeNominal",
"name": "Encoder",
- "printedName": "Swift.Encoder",
+ "printedName": "any Swift.Encoder",
"usr": "s:s7EncoderP"
}
],
"RawDocComment"
],
"conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ },
{
"kind": "Conformance",
"name": "Decodable",
"name": "IBMp3File",
"printedName": "IBMp3File",
"children": [
- {
- "kind": "Function",
- "name": "encode",
- "printedName": "encode(to:)",
- "children": [
- {
- "kind": "TypeNominal",
- "name": "Void",
- "printedName": "()"
- },
- {
- "kind": "TypeNominal",
- "name": "Encoder",
- "printedName": "Swift.Encoder",
- "usr": "s:s7EncoderP"
- }
- ],
- "declKind": "Func",
- "usr": "s:12IOTBluetooth9IBMp3FileC6encode2toys7Encoder_p_tKF",
- "mangledName": "$s12IOTBluetooth9IBMp3FileC6encode2toys7Encoder_p_tKF",
- "moduleName": "IOTBluetooth",
- "implicit": true,
- "throwing": true,
- "funcSelfKind": "NonMutating"
- },
{
"kind": "Constructor",
"name": "init",
{
"kind": "TypeNominal",
"name": "Decoder",
- "printedName": "Swift.Decoder",
+ "printedName": "any Swift.Decoder",
"usr": "s:s7DecoderP"
}
],
],
"throwing": true,
"init_kind": "Designated"
+ },
+ {
+ "kind": "Function",
+ "name": "encode",
+ "printedName": "encode(to:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Encoder",
+ "printedName": "any Swift.Encoder",
+ "usr": "s:s7EncoderP"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:12IOTBluetooth9IBMp3FileC6encode2toys7Encoder_p_tKF",
+ "mangledName": "$s12IOTBluetooth9IBMp3FileC6encode2toys7Encoder_p_tKF",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "throwing": true,
+ "funcSelfKind": "NonMutating"
}
],
"declKind": "Class",
],
"hasMissingDesignatedInitializers": true,
"conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ },
{
"kind": "Conformance",
"name": "Decodable",
{
"kind": "TypeNominal",
"name": "ImplicitlyUnwrappedOptional",
- "printedName": "ObjectiveC.NSObjectProtocol?",
+ "printedName": "(any ObjectiveC.NSObjectProtocol)?",
"children": [
{
"kind": "TypeNominal",
"name": "NSObjectProtocol",
- "printedName": "ObjectiveC.NSObjectProtocol",
+ "printedName": "any ObjectiveC.NSObjectProtocol",
"usr": "c:objc(pl)NSObject"
}
],
{
"kind": "TypeNominal",
"name": "NSObjectProtocol",
- "printedName": "ObjectiveC.NSObjectProtocol",
+ "printedName": "any ObjectiveC.NSObjectProtocol",
"usr": "c:objc(pl)NSObject"
}
],
"AccessControl",
"RawDocComment"
],
- "hasMissingDesignatedInitializers": true
- },
- {
- "kind": "Import",
- "name": "Foundation",
- "printedName": "Foundation",
- "declKind": "Import",
- "moduleName": "IOTBluetooth",
- "declAttributes": [
- "RawDocComment"
+ "hasMissingDesignatedInitializers": true,
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ }
]
},
- {
- "kind": "Import",
- "name": "MixSdk",
- "printedName": "MixSdk",
- "declKind": "Import",
- "moduleName": "IOTBluetooth"
- },
{
"kind": "Import",
"name": "Foundation",
],
"init_kind": "Designated"
},
- {
- "kind": "Function",
- "name": "encode",
- "printedName": "encode(to:)",
- "children": [
- {
- "kind": "TypeNominal",
- "name": "Void",
- "printedName": "()"
- },
- {
- "kind": "TypeNominal",
- "name": "Encoder",
- "printedName": "Swift.Encoder",
- "usr": "s:s7EncoderP"
- }
- ],
- "declKind": "Func",
- "usr": "s:12IOTBluetooth11IBPhoneInfoC6encode2toys7Encoder_p_tKF",
- "mangledName": "$s12IOTBluetooth11IBPhoneInfoC6encode2toys7Encoder_p_tKF",
- "moduleName": "IOTBluetooth",
- "implicit": true,
- "throwing": true,
- "funcSelfKind": "NonMutating"
- },
{
"kind": "Constructor",
"name": "init",
{
"kind": "TypeNominal",
"name": "Decoder",
- "printedName": "Swift.Decoder",
+ "printedName": "any Swift.Decoder",
"usr": "s:s7DecoderP"
}
],
],
"throwing": true,
"init_kind": "Designated"
+ },
+ {
+ "kind": "Function",
+ "name": "encode",
+ "printedName": "encode(to:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Encoder",
+ "printedName": "any Swift.Encoder",
+ "usr": "s:s7EncoderP"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:12IOTBluetooth11IBPhoneInfoC6encode2toys7Encoder_p_tKF",
+ "mangledName": "$s12IOTBluetooth11IBPhoneInfoC6encode2toys7Encoder_p_tKF",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "throwing": true,
+ "funcSelfKind": "NonMutating"
}
],
"declKind": "Class",
"RawDocComment"
],
"conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ },
{
"kind": "Conformance",
"name": "Decodable",
"RawDocComment"
]
},
- {
- "kind": "Import",
- "name": "Foundation",
- "printedName": "Foundation",
- "declKind": "Import",
- "moduleName": "IOTBluetooth",
- "declAttributes": [
- "RawDocComment"
- ]
- },
{
"kind": "TypeDecl",
- "name": "IBHistorySleepItem",
- "printedName": "IBHistorySleepItem",
+ "name": "IBSchedule",
+ "printedName": "IBSchedule",
"children": [
{
"kind": "Var",
- "name": "sleepId",
- "printedName": "sleepId",
+ "name": "id",
+ "printedName": "id",
"children": [
{
"kind": "TypeNominal",
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth18IBHistorySleepItemC7sleepIdSivp",
- "mangledName": "$s12IOTBluetooth18IBHistorySleepItemC7sleepIdSivp",
+ "usr": "s:12IOTBluetooth10IBScheduleC2idSivp",
+ "mangledName": "$s12IOTBluetooth10IBScheduleC2idSivp",
"moduleName": "IOTBluetooth",
"declAttributes": [
"HasInitialValue",
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth18IBHistorySleepItemC7sleepIdSivg",
- "mangledName": "$s12IOTBluetooth18IBHistorySleepItemC7sleepIdSivg",
+ "usr": "s:12IOTBluetooth10IBScheduleC2idSivg",
+ "mangledName": "$s12IOTBluetooth10IBScheduleC2idSivg",
"moduleName": "IOTBluetooth",
"implicit": true,
"accessorKind": "get"
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth18IBHistorySleepItemC7sleepIdSivs",
- "mangledName": "$s12IOTBluetooth18IBHistorySleepItemC7sleepIdSivs",
+ "usr": "s:12IOTBluetooth10IBScheduleC2idSivs",
+ "mangledName": "$s12IOTBluetooth10IBScheduleC2idSivs",
"moduleName": "IOTBluetooth",
"implicit": true,
"accessorKind": "set"
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth18IBHistorySleepItemC7sleepIdSivM",
- "mangledName": "$s12IOTBluetooth18IBHistorySleepItemC7sleepIdSivM",
+ "usr": "s:12IOTBluetooth10IBScheduleC2idSivM",
+ "mangledName": "$s12IOTBluetooth10IBScheduleC2idSivM",
"moduleName": "IOTBluetooth",
"implicit": true,
"accessorKind": "_modify"
},
{
"kind": "Var",
- "name": "type",
- "printedName": "type",
+ "name": "title",
+ "printedName": "title",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth10IBScheduleC5titleSSvp",
+ "mangledName": "$s12IOTBluetooth10IBScheduleC5titleSSvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth10IBScheduleC5titleSSvg",
+ "mangledName": "$s12IOTBluetooth10IBScheduleC5titleSSvg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth10IBScheduleC5titleSSvs",
+ "mangledName": "$s12IOTBluetooth10IBScheduleC5titleSSvs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth10IBScheduleC5titleSSvM",
+ "mangledName": "$s12IOTBluetooth10IBScheduleC5titleSSvM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "begin",
+ "printedName": "begin",
"children": [
{
"kind": "TypeNominal",
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth18IBHistorySleepItemC4typeSivp",
- "mangledName": "$s12IOTBluetooth18IBHistorySleepItemC4typeSivp",
+ "usr": "s:12IOTBluetooth10IBScheduleC5beginSivp",
+ "mangledName": "$s12IOTBluetooth10IBScheduleC5beginSivp",
"moduleName": "IOTBluetooth",
"declAttributes": [
"HasInitialValue",
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth18IBHistorySleepItemC4typeSivg",
- "mangledName": "$s12IOTBluetooth18IBHistorySleepItemC4typeSivg",
+ "usr": "s:12IOTBluetooth10IBScheduleC5beginSivg",
+ "mangledName": "$s12IOTBluetooth10IBScheduleC5beginSivg",
"moduleName": "IOTBluetooth",
"implicit": true,
"accessorKind": "get"
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth18IBHistorySleepItemC4typeSivs",
- "mangledName": "$s12IOTBluetooth18IBHistorySleepItemC4typeSivs",
+ "usr": "s:12IOTBluetooth10IBScheduleC5beginSivs",
+ "mangledName": "$s12IOTBluetooth10IBScheduleC5beginSivs",
"moduleName": "IOTBluetooth",
"implicit": true,
"accessorKind": "set"
}
],
"declKind": "Accessor",
- "usr": "s:12IOTBluetooth18IBHistorySleepItemC4typeSivM",
- "mangledName": "$s12IOTBluetooth18IBHistorySleepItemC4typeSivM",
+ "usr": "s:12IOTBluetooth10IBScheduleC5beginSivM",
+ "mangledName": "$s12IOTBluetooth10IBScheduleC5beginSivM",
"moduleName": "IOTBluetooth",
"implicit": true,
"accessorKind": "_modify"
},
{
"kind": "Var",
- "name": "startTime",
- "printedName": "startTime",
+ "name": "end",
+ "printedName": "end",
"children": [
{
"kind": "TypeNominal",
}
],
"declKind": "Var",
- "usr": "s:12IOTBluetooth18IBHistorySleepItemC9startTimeSivp",
- "mangledName": "$s12IOTBluetooth18IBHistorySleepItemC9startTimeSivp",
+ "usr": "s:12IOTBluetooth10IBScheduleC3endSivp",
+ "mangledName": "$s12IOTBluetooth10IBScheduleC3endSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth10IBScheduleC3endSivg",
+ "mangledName": "$s12IOTBluetooth10IBScheduleC3endSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth10IBScheduleC3endSivs",
+ "mangledName": "$s12IOTBluetooth10IBScheduleC3endSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth10IBScheduleC3endSivM",
+ "mangledName": "$s12IOTBluetooth10IBScheduleC3endSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "content",
+ "printedName": "content",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth10IBScheduleC7contentSSSgvp",
+ "mangledName": "$s12IOTBluetooth10IBScheduleC7contentSSSgvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth10IBScheduleC7contentSSSgvg",
+ "mangledName": "$s12IOTBluetooth10IBScheduleC7contentSSSgvg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth10IBScheduleC7contentSSSgvs",
+ "mangledName": "$s12IOTBluetooth10IBScheduleC7contentSSSgvs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth10IBScheduleC7contentSSSgvM",
+ "mangledName": "$s12IOTBluetooth10IBScheduleC7contentSSSgvM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBSchedule",
+ "printedName": "IOTBluetooth.IBSchedule",
+ "usr": "s:12IOTBluetooth10IBScheduleC"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth10IBScheduleCACycfc",
+ "mangledName": "$s12IOTBluetooth10IBScheduleCACycfc",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "init_kind": "Designated"
+ }
+ ],
+ "declKind": "Class",
+ "usr": "s:12IOTBluetooth10IBScheduleC",
+ "mangledName": "$s12IOTBluetooth10IBScheduleC",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ }
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "IBHistorySleepItem",
+ "printedName": "IBHistorySleepItem",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "sleepId",
+ "printedName": "sleepId",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth18IBHistorySleepItemC7sleepIdSivp",
+ "mangledName": "$s12IOTBluetooth18IBHistorySleepItemC7sleepIdSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth18IBHistorySleepItemC7sleepIdSivg",
+ "mangledName": "$s12IOTBluetooth18IBHistorySleepItemC7sleepIdSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth18IBHistorySleepItemC7sleepIdSivs",
+ "mangledName": "$s12IOTBluetooth18IBHistorySleepItemC7sleepIdSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth18IBHistorySleepItemC7sleepIdSivM",
+ "mangledName": "$s12IOTBluetooth18IBHistorySleepItemC7sleepIdSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "type",
+ "printedName": "type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth18IBHistorySleepItemC4typeSivp",
+ "mangledName": "$s12IOTBluetooth18IBHistorySleepItemC4typeSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth18IBHistorySleepItemC4typeSivg",
+ "mangledName": "$s12IOTBluetooth18IBHistorySleepItemC4typeSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth18IBHistorySleepItemC4typeSivs",
+ "mangledName": "$s12IOTBluetooth18IBHistorySleepItemC4typeSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth18IBHistorySleepItemC4typeSivM",
+ "mangledName": "$s12IOTBluetooth18IBHistorySleepItemC4typeSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "startTime",
+ "printedName": "startTime",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth18IBHistorySleepItemC9startTimeSivp",
+ "mangledName": "$s12IOTBluetooth18IBHistorySleepItemC9startTimeSivp",
"moduleName": "IOTBluetooth",
"declAttributes": [
"HasInitialValue",
"declAttributes": [
"AccessControl",
"RawDocComment"
+ ],
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ }
]
},
{
"declAttributes": [
"AccessControl",
"RawDocComment"
+ ],
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ }
]
},
{
"declAttributes": [
"AccessControl",
"RawDocComment"
+ ],
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ }
]
},
{
"declAttributes": [
"AccessControl",
"RawDocComment"
+ ],
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ }
]
},
{
],
"init_kind": "Designated"
},
- {
- "kind": "Function",
- "name": "encode",
- "printedName": "encode(to:)",
- "children": [
- {
- "kind": "TypeNominal",
- "name": "Void",
- "printedName": "()"
- },
- {
- "kind": "TypeNominal",
- "name": "Encoder",
- "printedName": "Swift.Encoder",
- "usr": "s:s7EncoderP"
- }
- ],
- "declKind": "Func",
- "usr": "s:12IOTBluetooth7IBClockC6encode2toys7Encoder_p_tKF",
- "mangledName": "$s12IOTBluetooth7IBClockC6encode2toys7Encoder_p_tKF",
- "moduleName": "IOTBluetooth",
- "implicit": true,
- "throwing": true,
- "funcSelfKind": "NonMutating"
- },
{
"kind": "Constructor",
"name": "init",
{
"kind": "TypeNominal",
"name": "Decoder",
- "printedName": "Swift.Decoder",
+ "printedName": "any Swift.Decoder",
"usr": "s:s7DecoderP"
}
],
],
"throwing": true,
"init_kind": "Designated"
+ },
+ {
+ "kind": "Function",
+ "name": "encode",
+ "printedName": "encode(to:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Encoder",
+ "printedName": "any Swift.Encoder",
+ "usr": "s:s7EncoderP"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:12IOTBluetooth7IBClockC6encode2toys7Encoder_p_tKF",
+ "mangledName": "$s12IOTBluetooth7IBClockC6encode2toys7Encoder_p_tKF",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "throwing": true,
+ "funcSelfKind": "NonMutating"
}
],
"declKind": "Class",
"RawDocComment"
],
"conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ },
{
"kind": "Conformance",
"name": "Decodable",
{
"kind": "TypeNominal",
"name": "Decoder",
- "printedName": "Swift.Decoder",
+ "printedName": "any Swift.Decoder",
"usr": "s:s7DecoderP"
}
],
{
"kind": "TypeNominal",
"name": "Encoder",
- "printedName": "Swift.Encoder",
+ "printedName": "any Swift.Encoder",
"usr": "s:s7EncoderP"
}
],
"RawDocComment"
],
"conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ },
{
"kind": "Conformance",
"name": "Decodable",
"AccessControl",
"RawDocComment"
],
- "hasMissingDesignatedInitializers": true
+ "hasMissingDesignatedInitializers": true,
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ }
+ ]
},
{
"kind": "TypeDecl",
"RawDocComment"
]
},
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init(rawValue:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "IOTBluetooth.IBHeartRateFrequency?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBHeartRateFrequency",
+ "printedName": "IOTBluetooth.IBHeartRateFrequency",
+ "usr": "s:12IOTBluetooth20IBHeartRateFrequencyO"
+ }
+ ],
+ "usr": "s:Sq"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth20IBHeartRateFrequencyO8rawValueACSgSi_tcfc",
+ "mangledName": "$s12IOTBluetooth20IBHeartRateFrequencyO8rawValueACSgSi_tcfc",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "init_kind": "Designated"
+ },
{
"kind": "Var",
"name": "rawValue",
"accessorKind": "get"
}
]
- },
- {
- "kind": "Constructor",
- "name": "init",
- "printedName": "init(rawValue:)",
- "children": [
- {
- "kind": "TypeNominal",
- "name": "Optional",
- "printedName": "IOTBluetooth.IBHeartRateFrequency?",
- "children": [
- {
- "kind": "TypeNominal",
- "name": "IBHeartRateFrequency",
- "printedName": "IOTBluetooth.IBHeartRateFrequency",
- "usr": "s:12IOTBluetooth20IBHeartRateFrequencyO"
- }
- ],
- "usr": "s:Sq"
- },
- {
- "kind": "TypeNominal",
- "name": "Int",
- "printedName": "Swift.Int",
- "usr": "s:Si"
- }
- ],
- "declKind": "Constructor",
- "usr": "s:12IOTBluetooth20IBHeartRateFrequencyO8rawValueACSgSi_tcfc",
- "mangledName": "$s12IOTBluetooth20IBHeartRateFrequencyO8rawValueACSgSi_tcfc",
- "moduleName": "IOTBluetooth",
- "implicit": true,
- "init_kind": "Designated"
}
],
"declKind": "Enum",
],
"enumRawTypeName": "Int",
"conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ },
{
"kind": "Conformance",
"name": "Equatable",
],
"init_kind": "Designated"
},
- {
- "kind": "Function",
- "name": "encode",
- "printedName": "encode(to:)",
- "children": [
- {
- "kind": "TypeNominal",
- "name": "Void",
- "printedName": "()"
- },
- {
- "kind": "TypeNominal",
- "name": "Encoder",
- "printedName": "Swift.Encoder",
- "usr": "s:s7EncoderP"
- }
- ],
- "declKind": "Func",
- "usr": "s:12IOTBluetooth9IBWeatherC6encode2toys7Encoder_p_tKF",
- "mangledName": "$s12IOTBluetooth9IBWeatherC6encode2toys7Encoder_p_tKF",
- "moduleName": "IOTBluetooth",
- "implicit": true,
- "throwing": true,
- "funcSelfKind": "NonMutating"
- },
{
"kind": "Constructor",
"name": "init",
{
"kind": "TypeNominal",
"name": "Decoder",
- "printedName": "Swift.Decoder",
+ "printedName": "any Swift.Decoder",
"usr": "s:s7DecoderP"
}
],
],
"throwing": true,
"init_kind": "Designated"
+ },
+ {
+ "kind": "Function",
+ "name": "encode",
+ "printedName": "encode(to:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Encoder",
+ "printedName": "any Swift.Encoder",
+ "usr": "s:s7EncoderP"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:12IOTBluetooth9IBWeatherC6encode2toys7Encoder_p_tKF",
+ "mangledName": "$s12IOTBluetooth9IBWeatherC6encode2toys7Encoder_p_tKF",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "throwing": true,
+ "funcSelfKind": "NonMutating"
}
],
"declKind": "Class",
"RawDocComment"
],
"conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ },
{
"kind": "Conformance",
"name": "Decodable",
{
"kind": "TypeNominal",
"name": "Decoder",
- "printedName": "Swift.Decoder",
+ "printedName": "any Swift.Decoder",
"usr": "s:s7DecoderP"
}
],
{
"kind": "TypeNominal",
"name": "Encoder",
- "printedName": "Swift.Encoder",
+ "printedName": "any Swift.Encoder",
"usr": "s:s7EncoderP"
}
],
"RawDocComment"
],
"conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ },
{
"kind": "Conformance",
"name": "Decodable",
{
"kind": "TypeNominal",
"name": "Decoder",
- "printedName": "Swift.Decoder",
+ "printedName": "any Swift.Decoder",
"usr": "s:s7DecoderP"
}
],
{
"kind": "TypeNominal",
"name": "Encoder",
- "printedName": "Swift.Encoder",
+ "printedName": "any Swift.Encoder",
"usr": "s:s7EncoderP"
}
],
"RawDocComment"
],
"conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ },
{
"kind": "Conformance",
"name": "Decodable",
{
"kind": "TypeNominal",
"name": "Decoder",
- "printedName": "Swift.Decoder",
+ "printedName": "any Swift.Decoder",
"usr": "s:s7DecoderP"
}
],
{
"kind": "TypeNominal",
"name": "Encoder",
- "printedName": "Swift.Encoder",
+ "printedName": "any Swift.Encoder",
"usr": "s:s7EncoderP"
}
],
"RawDocComment"
],
"conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ },
{
"kind": "Conformance",
"name": "Decodable",
{
"kind": "TypeNominal",
"name": "Decoder",
- "printedName": "Swift.Decoder",
+ "printedName": "any Swift.Decoder",
"usr": "s:s7DecoderP"
}
],
{
"kind": "TypeNominal",
"name": "Encoder",
- "printedName": "Swift.Encoder",
+ "printedName": "any Swift.Encoder",
"usr": "s:s7EncoderP"
}
],
"RawDocComment"
],
"conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ },
{
"kind": "Conformance",
"name": "Decodable",
"name": "IBOtaFile",
"printedName": "IBOtaFile",
"children": [
- {
- "kind": "Function",
- "name": "encode",
- "printedName": "encode(to:)",
- "children": [
- {
- "kind": "TypeNominal",
- "name": "Void",
- "printedName": "()"
- },
- {
- "kind": "TypeNominal",
- "name": "Encoder",
- "printedName": "Swift.Encoder",
- "usr": "s:s7EncoderP"
- }
- ],
- "declKind": "Func",
- "usr": "s:12IOTBluetooth9IBOtaFileC6encode2toys7Encoder_p_tKF",
- "mangledName": "$s12IOTBluetooth9IBOtaFileC6encode2toys7Encoder_p_tKF",
- "moduleName": "IOTBluetooth",
- "implicit": true,
- "throwing": true,
- "funcSelfKind": "NonMutating"
- },
{
"kind": "Constructor",
"name": "init",
{
"kind": "TypeNominal",
"name": "Decoder",
- "printedName": "Swift.Decoder",
+ "printedName": "any Swift.Decoder",
"usr": "s:s7DecoderP"
}
],
],
"throwing": true,
"init_kind": "Designated"
+ },
+ {
+ "kind": "Function",
+ "name": "encode",
+ "printedName": "encode(to:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Encoder",
+ "printedName": "any Swift.Encoder",
+ "usr": "s:s7EncoderP"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:12IOTBluetooth9IBOtaFileC6encode2toys7Encoder_p_tKF",
+ "mangledName": "$s12IOTBluetooth9IBOtaFileC6encode2toys7Encoder_p_tKF",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "throwing": true,
+ "funcSelfKind": "NonMutating"
}
],
"declKind": "Class",
],
"hasMissingDesignatedInitializers": true,
"conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ },
{
"kind": "Conformance",
"name": "Decodable",
"AccessControl",
"RawDocComment"
],
- "hasMissingDesignatedInitializers": true
+ "hasMissingDesignatedInitializers": true,
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ }
+ ]
},
{
"kind": "TypeDecl",
"declAttributes": [
"AccessControl",
"RawDocComment"
+ ],
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ }
]
},
{
"declAttributes": [
"AccessControl"
],
- "hasMissingDesignatedInitializers": true
+ "hasMissingDesignatedInitializers": true,
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ }
+ ]
},
{
"kind": "Import",
"declAttributes": [
"AccessControl",
"RawDocComment"
+ ],
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ }
]
},
{
"moduleName": "IOTBluetooth",
"declAttributes": [
"AccessControl"
+ ],
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ }
]
},
{
"declAttributes": [
"AccessControl",
"RawDocComment"
+ ],
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ }
]
},
{
"declAttributes": [
"AccessControl",
"RawDocComment"
+ ],
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ }
]
},
{
"AccessControl",
"RawDocComment"
],
- "hasMissingDesignatedInitializers": true
+ "hasMissingDesignatedInitializers": true,
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ }
+ ]
},
{
"kind": "TypeDecl",
"RawDocComment"
]
},
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init(rawValue:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "IOTBluetooth.IBBloodOxygenFrequency?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBBloodOxygenFrequency",
+ "printedName": "IOTBluetooth.IBBloodOxygenFrequency",
+ "usr": "s:12IOTBluetooth22IBBloodOxygenFrequencyO"
+ }
+ ],
+ "usr": "s:Sq"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth22IBBloodOxygenFrequencyO8rawValueACSgSi_tcfc",
+ "mangledName": "$s12IOTBluetooth22IBBloodOxygenFrequencyO8rawValueACSgSi_tcfc",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "init_kind": "Designated"
+ },
{
"kind": "Var",
"name": "rawValue",
"accessorKind": "get"
}
]
- },
- {
- "kind": "Constructor",
- "name": "init",
- "printedName": "init(rawValue:)",
- "children": [
- {
- "kind": "TypeNominal",
- "name": "Optional",
- "printedName": "IOTBluetooth.IBBloodOxygenFrequency?",
- "children": [
- {
- "kind": "TypeNominal",
- "name": "IBBloodOxygenFrequency",
- "printedName": "IOTBluetooth.IBBloodOxygenFrequency",
- "usr": "s:12IOTBluetooth22IBBloodOxygenFrequencyO"
- }
- ],
- "usr": "s:Sq"
- },
- {
- "kind": "TypeNominal",
- "name": "Int",
- "printedName": "Swift.Int",
- "usr": "s:Si"
- }
- ],
- "declKind": "Constructor",
- "usr": "s:12IOTBluetooth22IBBloodOxygenFrequencyO8rawValueACSgSi_tcfc",
- "mangledName": "$s12IOTBluetooth22IBBloodOxygenFrequencyO8rawValueACSgSi_tcfc",
- "moduleName": "IOTBluetooth",
- "implicit": true,
- "init_kind": "Designated"
}
],
"declKind": "Enum",
],
"enumRawTypeName": "Int",
"conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ },
{
"kind": "Conformance",
"name": "Equatable",
"declAttributes": [
"AccessControl"
],
- "hasMissingDesignatedInitializers": true
+ "hasMissingDesignatedInitializers": true,
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ }
+ ]
},
{
"kind": "Import",
"declAttributes": [
"AccessControl",
"RawDocComment"
+ ],
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ }
]
},
{
"RawDocComment"
]
},
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init(rawValue:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "IOTBluetooth.IBLanguage?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBLanguage",
+ "printedName": "IOTBluetooth.IBLanguage",
+ "usr": "s:12IOTBluetooth10IBLanguageO"
+ }
+ ],
+ "usr": "s:Sq"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth10IBLanguageO8rawValueACSgSi_tcfc",
+ "mangledName": "$s12IOTBluetooth10IBLanguageO8rawValueACSgSi_tcfc",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "init_kind": "Designated"
+ },
{
"kind": "Var",
"name": "rawValue",
"accessorKind": "get"
}
]
- },
- {
- "kind": "Constructor",
- "name": "init",
- "printedName": "init(rawValue:)",
- "children": [
- {
- "kind": "TypeNominal",
- "name": "Optional",
- "printedName": "IOTBluetooth.IBLanguage?",
- "children": [
- {
- "kind": "TypeNominal",
- "name": "IBLanguage",
- "printedName": "IOTBluetooth.IBLanguage",
- "usr": "s:12IOTBluetooth10IBLanguageO"
- }
- ],
- "usr": "s:Sq"
- },
- {
- "kind": "TypeNominal",
- "name": "Int",
- "printedName": "Swift.Int",
- "usr": "s:Si"
- }
- ],
- "declKind": "Constructor",
- "usr": "s:12IOTBluetooth10IBLanguageO8rawValueACSgSi_tcfc",
- "mangledName": "$s12IOTBluetooth10IBLanguageO8rawValueACSgSi_tcfc",
- "moduleName": "IOTBluetooth",
- "implicit": true,
- "init_kind": "Designated"
}
],
"declKind": "Enum",
],
"enumRawTypeName": "Int",
"conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ },
{
"kind": "Conformance",
"name": "Equatable",
"genericSig": "<τ_0_0>",
"sugared_genericSig": "<Element>",
"declAttributes": [
+ "EagerMove",
"Frozen"
],
"isExternal": true,
"usr": "s:s24_DestructorSafeContainerP",
"mangledName": "$ss24_DestructorSafeContainerP"
},
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ },
{
"kind": "Conformance",
"name": "_ArrayProtocol",
"mangledName": "$sSS",
"moduleName": "Swift",
"declAttributes": [
+ "EagerMove",
"Frozen"
],
"isExternal": true,
"conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ },
{
"kind": "Conformance",
"name": "Decodable",
],
"isExternal": true,
"conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Decodable",
+ "printedName": "Decodable",
+ "usr": "s:Se",
+ "mangledName": "$sSe"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Encodable",
+ "printedName": "Encodable",
+ "usr": "s:SE",
+ "mangledName": "$sSE"
+ },
+ {
+ "kind": "Conformance",
+ "name": "CustomReflectable",
+ "printedName": "CustomReflectable",
+ "usr": "s:s17CustomReflectableP",
+ "mangledName": "$ss17CustomReflectableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "_CustomPlaygroundQuickLookable",
+ "printedName": "_CustomPlaygroundQuickLookable",
+ "usr": "s:s30_CustomPlaygroundQuickLookableP",
+ "mangledName": "$ss30_CustomPlaygroundQuickLookableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "_CVarArgPassedAsDouble",
+ "printedName": "_CVarArgPassedAsDouble",
+ "usr": "s:s22_CVarArgPassedAsDoubleP",
+ "mangledName": "$ss22_CVarArgPassedAsDoubleP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "_CVarArgAligned",
+ "printedName": "_CVarArgAligned",
+ "usr": "s:s15_CVarArgAlignedP",
+ "mangledName": "$ss15_CVarArgAlignedP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "CVarArg",
+ "printedName": "CVarArg",
+ "usr": "s:s7CVarArgP",
+ "mangledName": "$ss7CVarArgP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "LosslessStringConvertible",
+ "printedName": "LosslessStringConvertible",
+ "usr": "s:s25LosslessStringConvertibleP",
+ "mangledName": "$ss25LosslessStringConvertibleP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "CustomStringConvertible",
+ "printedName": "CustomStringConvertible",
+ "usr": "s:s23CustomStringConvertibleP",
+ "mangledName": "$ss23CustomStringConvertibleP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "CustomDebugStringConvertible",
+ "printedName": "CustomDebugStringConvertible",
+ "usr": "s:s28CustomDebugStringConvertibleP",
+ "mangledName": "$ss28CustomDebugStringConvertibleP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "TextOutputStreamable",
+ "printedName": "TextOutputStreamable",
+ "usr": "s:s20TextOutputStreamableP",
+ "mangledName": "$ss20TextOutputStreamableP"
+ },
{
"kind": "Conformance",
"name": "BinaryFloatingPoint",
"usr": "s:s18AdditiveArithmeticP",
"mangledName": "$ss18AdditiveArithmeticP"
},
- {
- "kind": "Conformance",
- "name": "Decodable",
- "printedName": "Decodable",
- "usr": "s:Se",
- "mangledName": "$sSe"
- },
- {
- "kind": "Conformance",
- "name": "Encodable",
- "printedName": "Encodable",
- "usr": "s:SE",
- "mangledName": "$sSE"
- },
- {
- "kind": "Conformance",
- "name": "CustomReflectable",
- "printedName": "CustomReflectable",
- "usr": "s:s17CustomReflectableP",
- "mangledName": "$ss17CustomReflectableP"
- },
- {
- "kind": "Conformance",
- "name": "_CustomPlaygroundQuickLookable",
- "printedName": "_CustomPlaygroundQuickLookable",
- "usr": "s:s30_CustomPlaygroundQuickLookableP",
- "mangledName": "$ss30_CustomPlaygroundQuickLookableP"
- },
- {
- "kind": "Conformance",
- "name": "_CVarArgPassedAsDouble",
- "printedName": "_CVarArgPassedAsDouble",
- "usr": "s:s22_CVarArgPassedAsDoubleP",
- "mangledName": "$ss22_CVarArgPassedAsDoubleP"
- },
- {
- "kind": "Conformance",
- "name": "_CVarArgAligned",
- "printedName": "_CVarArgAligned",
- "usr": "s:s15_CVarArgAlignedP",
- "mangledName": "$ss15_CVarArgAlignedP"
- },
- {
- "kind": "Conformance",
- "name": "CVarArg",
- "printedName": "CVarArg",
- "usr": "s:s7CVarArgP",
- "mangledName": "$ss7CVarArgP"
- },
- {
- "kind": "Conformance",
- "name": "LosslessStringConvertible",
- "printedName": "LosslessStringConvertible",
- "usr": "s:s25LosslessStringConvertibleP",
- "mangledName": "$ss25LosslessStringConvertibleP"
- },
- {
- "kind": "Conformance",
- "name": "CustomStringConvertible",
- "printedName": "CustomStringConvertible",
- "usr": "s:s23CustomStringConvertibleP",
- "mangledName": "$ss23CustomStringConvertibleP"
- },
- {
- "kind": "Conformance",
- "name": "CustomDebugStringConvertible",
- "printedName": "CustomDebugStringConvertible",
- "usr": "s:s28CustomDebugStringConvertibleP",
- "mangledName": "$ss28CustomDebugStringConvertibleP"
- },
- {
- "kind": "Conformance",
- "name": "TextOutputStreamable",
- "printedName": "TextOutputStreamable",
- "usr": "s:s20TextOutputStreamableP",
- "mangledName": "$ss20TextOutputStreamableP"
- },
{
"kind": "Conformance",
"name": "_ExpressibleByBuiltinIntegerLiteral",
"usr": "s:s10SIMDScalarP",
"mangledName": "$ss10SIMDScalarP"
},
+ {
+ "kind": "Conformance",
+ "name": "BitwiseCopyable",
+ "printedName": "BitwiseCopyable",
+ "usr": "s:s15BitwiseCopyableP",
+ "mangledName": "$ss15BitwiseCopyableP"
+ },
{
"kind": "Conformance",
"name": "_FormatSpecifiable",
"usr": "s:SL",
"mangledName": "$sSL"
},
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ },
{
"kind": "Conformance",
"name": "Decodable",
"usr": "s:s10SIMDScalarP",
"mangledName": "$ss10SIMDScalarP"
},
+ {
+ "kind": "Conformance",
+ "name": "BitwiseCopyable",
+ "printedName": "BitwiseCopyable",
+ "usr": "s:s15BitwiseCopyableP",
+ "mangledName": "$ss15BitwiseCopyableP"
+ },
{
"kind": "Conformance",
"name": "_FormatSpecifiable",
"sugared_genericSig": "<Self : Swift.CustomStringConvertible, Self : Swift.Hashable, Self : Swift.Numeric, Self : Swift.Strideable, Self.Magnitude : Swift.BinaryInteger, Self.Magnitude == Self.Magnitude.Magnitude, Self.Words : Swift.RandomAccessCollection, Self.Words.Element == Swift.UInt, Self.Words.Index == Swift.Int>",
"isExternal": true,
"conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
{
"kind": "Conformance",
"name": "Strideable",
"usr": "s:ST",
"mangledName": "$sST"
},
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ },
{
"kind": "Conformance",
"name": "ReferenceConvertible",
"usr": "s:SL",
"mangledName": "$sSL"
},
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ },
{
"kind": "Conformance",
"name": "Decodable",
"usr": "s:s10SIMDScalarP",
"mangledName": "$ss10SIMDScalarP"
},
+ {
+ "kind": "Conformance",
+ "name": "BitwiseCopyable",
+ "printedName": "BitwiseCopyable",
+ "usr": "s:s15BitwiseCopyableP",
+ "mangledName": "$ss15BitwiseCopyableP"
+ },
{
"kind": "Conformance",
"name": "_FormatSpecifiable",
"usr": "s:s8SendableP",
"mangledName": "$ss8SendableP"
},
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ },
{
"kind": "Conformance",
"name": "IBPeripheralUUID",
"usr": "s:12IOTBluetooth16IBPeripheralUUIDP",
"mangledName": "$s12IOTBluetooth16IBPeripheralUUIDP"
},
- {
- "kind": "Conformance",
- "name": "Comparable",
- "printedName": "Comparable",
- "usr": "s:SL",
- "mangledName": "$sSL"
- },
{
"kind": "Conformance",
"name": "ReferenceConvertible",
"printedName": "Encodable",
"usr": "s:SE",
"mangledName": "$sSE"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Comparable",
+ "printedName": "Comparable",
+ "usr": "s:SL",
+ "mangledName": "$sSL"
}
]
}
},
"ConstValues": [
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBResponse.swift",
- "kind": "IntegerLiteral",
- "offset": 272,
- "length": 2,
- "value": "18"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBResponse.swift",
- "kind": "IntegerLiteral",
- "offset": 301,
- "length": 2,
- "value": "17"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBResponse.swift",
- "kind": "IntegerLiteral",
- "offset": 319,
- "length": 1,
- "value": "2"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBResponse.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBResponse.swift",
"kind": "StringLiteral",
"offset": 551,
"length": 14,
"value": "\"操作成功\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBResponse.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBResponse.swift",
"kind": "BooleanLiteral",
"offset": 641,
"length": 5,
"value": "false"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBResponse.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBResponse.swift",
"kind": "Array",
"offset": 747,
"length": 2,
"value": "[]"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBResponse.swift",
- "kind": "StringLiteral",
- "offset": 966,
- "length": 81,
- "value": "\"IBResponse(code: \""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBResponse.swift",
- "kind": "StringLiteral",
- "offset": 1000,
- "length": 1,
- "value": "\",isSuccess: \""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBResponse.swift",
- "kind": "StringLiteral",
- "offset": 1024,
- "length": 1,
- "value": "\", massage:\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBResponse.swift",
- "kind": "StringLiteral",
- "offset": 1044,
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBPush.swift",
+ "kind": "IntegerLiteral",
+ "offset": 247,
"length": 1,
- "value": "\", \""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBResponse.swift",
- "kind": "StringLiteral",
- "offset": 1099,
- "length": 16,
- "value": "\"value:\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBResponse.swift",
- "kind": "StringLiteral",
- "offset": 1111,
- "length": 3,
- "value": "\")\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBResponse.swift",
- "kind": "StringLiteral",
- "offset": 1164,
- "length": 19,
- "value": "\"items:\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBResponse.swift",
- "kind": "StringLiteral",
- "offset": 1179,
- "length": 3,
- "value": "\")\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryStand.swift",
- "kind": "Array",
- "offset": 203,
- "length": 2,
- "value": "[]"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryStand.swift",
- "kind": "Array",
- "offset": 287,
- "length": 2,
- "value": "[]"
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryStand.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBPush.swift",
"kind": "IntegerLiteral",
- "offset": 320,
+ "offset": 833,
"length": 1,
"value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryStand.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBPush.swift",
"kind": "IntegerLiteral",
- "offset": 343,
+ "offset": 850,
"length": 1,
- "value": "4"
+ "value": "1"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryStand.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBPush.swift",
"kind": "IntegerLiteral",
- "offset": 379,
+ "offset": 869,
"length": 1,
- "value": "3"
+ "value": "2"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryStand.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBPush.swift",
"kind": "IntegerLiteral",
- "offset": 472,
+ "offset": 889,
"length": 1,
"value": "3"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryStand.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBPush.swift",
"kind": "IntegerLiteral",
- "offset": 683,
+ "offset": 905,
"length": 1,
- "value": "0"
+ "value": "4"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBVibrateSound.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBPush.swift",
"kind": "IntegerLiteral",
- "offset": 277,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBVibrateSound.swift",
- "kind": "StringLiteral",
- "offset": 753,
- "length": 142,
- "value": "\"IBVibrateConfig(type: \""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBVibrateSound.swift",
- "kind": "StringLiteral",
- "offset": 783,
- "length": 1,
- "value": "\",systemValue: \""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBVibrateSound.swift",
- "kind": "StringLiteral",
- "offset": 811,
- "length": 1,
- "value": "\", ringsValue:\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBVibrateSound.swift",
- "kind": "StringLiteral",
- "offset": 837,
- "length": 1,
- "value": "\", ringsState:\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBVibrateSound.swift",
- "kind": "StringLiteral",
- "offset": 863,
- "length": 1,
- "value": "\", vibrateState:\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBVibrateSound.swift",
- "kind": "StringLiteral",
- "offset": 893,
+ "offset": 927,
"length": 1,
- "value": "\")\""
+ "value": "5"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBVibrateSound.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBPush.swift",
"kind": "IntegerLiteral",
- "offset": 1024,
+ "offset": 948,
"length": 1,
- "value": "0"
+ "value": "6"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBVibrateSound.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBPush.swift",
"kind": "IntegerLiteral",
- "offset": 1096,
+ "offset": 970,
"length": 1,
- "value": "0"
+ "value": "7"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBVibrateSound.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBPush.swift",
"kind": "IntegerLiteral",
- "offset": 1168,
+ "offset": 992,
"length": 1,
- "value": "0"
+ "value": "8"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBVibrateSound.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBPush.swift",
"kind": "IntegerLiteral",
- "offset": 1247,
+ "offset": 1015,
"length": 1,
- "value": "0"
+ "value": "9"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBVibrateSound.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBPush.swift",
"kind": "IntegerLiteral",
- "offset": 1355,
- "length": 1,
- "value": "0"
+ "offset": 1038,
+ "length": 2,
+ "value": "10"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBVibrateSound.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBPush.swift",
"kind": "IntegerLiteral",
- "offset": 1441,
- "length": 1,
- "value": "0"
+ "offset": 1061,
+ "length": 2,
+ "value": "11"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBVibrateSound.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBPush.swift",
"kind": "IntegerLiteral",
- "offset": 1474,
- "length": 1,
- "value": "1"
+ "offset": 1080,
+ "length": 2,
+ "value": "12"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBVibrateSound.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBPush.swift",
"kind": "IntegerLiteral",
- "offset": 1507,
- "length": 1,
- "value": "2"
+ "offset": 1099,
+ "length": 2,
+ "value": "13"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBVibrateSound.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBPush.swift",
"kind": "IntegerLiteral",
- "offset": 1540,
- "length": 1,
- "value": "3"
+ "offset": 1119,
+ "length": 2,
+ "value": "14"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBVibrateSound.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBPush.swift",
"kind": "IntegerLiteral",
- "offset": 1575,
- "length": 1,
- "value": "4"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBVibrateSound.swift",
- "kind": "StringLiteral",
- "offset": 1639,
- "length": 153,
- "value": "\"IBVibrateSound(systemValue: \""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBVibrateSound.swift",
- "kind": "StringLiteral",
- "offset": 1682,
- "length": 1,
- "value": "\", ringsValue:\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBVibrateSound.swift",
- "kind": "StringLiteral",
- "offset": 1708,
- "length": 1,
- "value": "\", mediaValue:\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBVibrateSound.swift",
- "kind": "StringLiteral",
- "offset": 1734,
- "length": 1,
- "value": "\", ringsState:\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBVibrateSound.swift",
- "kind": "StringLiteral",
- "offset": 1760,
- "length": 1,
- "value": "\", vibrateState:\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBVibrateSound.swift",
- "kind": "StringLiteral",
- "offset": 1790,
- "length": 1,
- "value": "\")\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender+Dial.swift",
- "kind": "StringLiteral",
- "offset": 2195,
- "length": 17,
- "value": "\"已取消发送\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender+Dial.swift",
- "kind": "StringLiteral",
- "offset": 2775,
- "length": 23,
- "value": "\"\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender+Dial.swift",
- "kind": "StringLiteral",
- "offset": 2784,
- "length": 1,
- "value": "\" : \""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender+Dial.swift",
- "kind": "StringLiteral",
- "offset": 2797,
+ "offset": 1139,
"length": 2,
- "value": "\"\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender+Dial.swift",
- "kind": "StringLiteral",
- "offset": 3007,
- "length": 38,
- "value": "\"发送文件超时,发送失败!\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender+Dial.swift",
- "kind": "StringLiteral",
- "offset": 3248,
- "length": 29,
- "value": "\"文件内容发送结束...\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender+Dial.swift",
- "kind": "StringLiteral",
- "offset": 3791,
- "length": 29,
- "value": "\"发送文件校验码失败\""
+ "value": "15"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender+Dial.swift",
- "kind": "Array",
- "offset": 4612,
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBPush.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1162,
"length": 2,
- "value": "[]"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender+Dial.swift",
- "kind": "StringLiteral",
- "offset": 4992,
- "length": 20,
- "value": "\"读取文件失败\""
+ "value": "16"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBAddressBook.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBPush.swift",
"kind": "IntegerLiteral",
- "offset": 237,
- "length": 1,
- "value": "0"
+ "offset": 1182,
+ "length": 2,
+ "value": "17"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBAddressBook.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryStand.swift",
"kind": "Array",
- "offset": 462,
+ "offset": 203,
"length": 2,
"value": "[]"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBAddressBook.swift",
- "kind": "StringLiteral",
- "offset": 1203,
- "length": 4,
- "value": "\"[ \""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBAddressBook.swift",
- "kind": "StringLiteral",
- "offset": 1316,
- "length": 4,
- "value": "\" ]\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBAddressBook.swift",
- "kind": "StringLiteral",
- "offset": 1336,
- "length": 80,
- "value": "\"IBAddressBook(gender: \""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBAddressBook.swift",
- "kind": "StringLiteral",
- "offset": 1368,
- "length": 1,
- "value": "\", name:\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBAddressBook.swift",
- "kind": "StringLiteral",
- "offset": 1385,
- "length": 2,
- "value": "\"\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBAddressBook.swift",
- "kind": "StringLiteral",
- "offset": 1388,
- "length": 1,
- "value": "\", phoneNumbers:\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBAddressBook.swift",
- "kind": "StringLiteral",
- "offset": 1414,
- "length": 1,
- "value": "\")\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBAddressBook.swift",
- "kind": "StringLiteral",
- "offset": 1545,
- "length": 2,
- "value": "\"\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBAddressBook.swift",
- "kind": "StringLiteral",
- "offset": 1862,
- "length": 94,
- "value": "\"IBPhoneNumber(number: \""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBAddressBook.swift",
- "kind": "StringLiteral",
- "offset": 1894,
- "length": 1,
- "value": "\", location:\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBAddressBook.swift",
- "kind": "StringLiteral",
- "offset": 1919,
- "length": 2,
- "value": "\"\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBAddressBook.swift",
- "kind": "StringLiteral",
- "offset": 1922,
- "length": 1,
- "value": "\", `operator`:\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBAddressBook.swift",
- "kind": "StringLiteral",
- "offset": 1951,
- "length": 2,
- "value": "\"\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBAddressBook.swift",
- "kind": "StringLiteral",
- "offset": 1954,
- "length": 1,
- "value": "\")\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "StringLiteral",
- "offset": 146,
- "length": 8,
- "value": "\"dialID\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "StringLiteral",
- "offset": 173,
- "length": 8,
- "value": "\"action\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "StringLiteral",
- "offset": 204,
- "length": 12,
- "value": "\"motionMode\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "StringLiteral",
- "offset": 237,
- "length": 10,
- "value": "\"language\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "StringLiteral",
- "offset": 265,
- "length": 7,
- "value": "\"value\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "StringLiteral",
- "offset": 289,
- "length": 6,
- "value": "\"file\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "StringLiteral",
- "offset": 318,
- "length": 12,
- "value": "\"targetStep\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "StringLiteral",
- "offset": 348,
- "length": 7,
- "value": "\"sleep\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "StringLiteral",
- "offset": 373,
- "length": 7,
- "value": "\"water\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "StringLiteral",
- "offset": 398,
- "length": 7,
- "value": "\"clock\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "StringLiteral",
- "offset": 427,
- "length": 11,
- "value": "\"heartRate\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "StringLiteral",
- "offset": 462,
- "length": 13,
- "value": "\"bloodOxygen\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "StringLiteral",
- "offset": 494,
- "length": 8,
- "value": "\"screen\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "StringLiteral",
- "offset": 527,
- "length": 14,
- "value": "\"vibrateSound\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "StringLiteral",
- "offset": 565,
- "length": 13,
- "value": "\"otherTarget\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "StringLiteral",
- "offset": 602,
- "length": 13,
- "value": "\"trainTarget\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "StringLiteral",
- "offset": 637,
- "length": 11,
- "value": "\"sendPhone\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "StringLiteral",
- "offset": 669,
- "length": 10,
- "value": "\"sendTime\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "StringLiteral",
- "offset": 701,
- "length": 11,
- "value": "\"auxiliary\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "StringLiteral",
- "offset": 733,
- "length": 10,
- "value": "\"userInfo\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "StringLiteral",
- "offset": 763,
- "length": 9,
- "value": "\"weather\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "StringLiteral",
- "offset": 796,
- "length": 13,
- "value": "\"addressBook\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "StringLiteral",
- "offset": 825,
- "length": 5,
- "value": "\"epo\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "StringLiteral",
- "offset": 846,
- "length": 5,
- "value": "\"ota\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "StringLiteral",
- "offset": 867,
- "length": 5,
- "value": "\"mp3\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "StringLiteral",
- "offset": 889,
- "length": 6,
- "value": "\"dial\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "StringLiteral",
- "offset": 916,
- "length": 10,
- "value": "\"dialFile\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "StringLiteral",
- "offset": 949,
- "length": 12,
- "value": "\"deleteFile\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "StringLiteral",
- "offset": 983,
- "length": 11,
- "value": "\"fetchFils\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "StringLiteral",
- "offset": 1014,
- "length": 9,
- "value": "\"aiValid\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "StringLiteral",
- "offset": 1046,
- "length": 12,
- "value": "\"aiResponse\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "StringLiteral",
- "offset": 146,
- "length": 8,
- "value": "\"dialID\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "StringLiteral",
- "offset": 173,
- "length": 8,
- "value": "\"action\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "StringLiteral",
- "offset": 204,
- "length": 12,
- "value": "\"motionMode\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "StringLiteral",
- "offset": 237,
- "length": 10,
- "value": "\"language\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "StringLiteral",
- "offset": 265,
- "length": 7,
- "value": "\"value\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "StringLiteral",
- "offset": 289,
- "length": 6,
- "value": "\"file\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "StringLiteral",
- "offset": 318,
- "length": 12,
- "value": "\"targetStep\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "StringLiteral",
- "offset": 348,
- "length": 7,
- "value": "\"sleep\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "StringLiteral",
- "offset": 373,
- "length": 7,
- "value": "\"water\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "StringLiteral",
- "offset": 398,
- "length": 7,
- "value": "\"clock\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "StringLiteral",
- "offset": 427,
- "length": 11,
- "value": "\"heartRate\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "StringLiteral",
- "offset": 462,
- "length": 13,
- "value": "\"bloodOxygen\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "StringLiteral",
- "offset": 494,
- "length": 8,
- "value": "\"screen\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "StringLiteral",
- "offset": 527,
- "length": 14,
- "value": "\"vibrateSound\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "StringLiteral",
- "offset": 565,
- "length": 13,
- "value": "\"otherTarget\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "StringLiteral",
- "offset": 602,
- "length": 13,
- "value": "\"trainTarget\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "StringLiteral",
- "offset": 637,
- "length": 11,
- "value": "\"sendPhone\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "StringLiteral",
- "offset": 669,
- "length": 10,
- "value": "\"sendTime\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "StringLiteral",
- "offset": 701,
- "length": 11,
- "value": "\"auxiliary\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "StringLiteral",
- "offset": 733,
- "length": 10,
- "value": "\"userInfo\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "StringLiteral",
- "offset": 763,
- "length": 9,
- "value": "\"weather\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "StringLiteral",
- "offset": 796,
- "length": 13,
- "value": "\"addressBook\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "StringLiteral",
- "offset": 825,
- "length": 5,
- "value": "\"epo\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "StringLiteral",
- "offset": 846,
- "length": 5,
- "value": "\"ota\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "StringLiteral",
- "offset": 867,
- "length": 5,
- "value": "\"mp3\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "StringLiteral",
- "offset": 889,
- "length": 6,
- "value": "\"dial\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "StringLiteral",
- "offset": 916,
- "length": 10,
- "value": "\"dialFile\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "StringLiteral",
- "offset": 949,
- "length": 12,
- "value": "\"deleteFile\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "StringLiteral",
- "offset": 983,
- "length": 11,
- "value": "\"fetchFils\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "StringLiteral",
- "offset": 1014,
- "length": 9,
- "value": "\"aiValid\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "StringLiteral",
- "offset": 1046,
- "length": 12,
- "value": "\"aiResponse\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "IntegerLiteral",
- "offset": 4290,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "IntegerLiteral",
- "offset": 4316,
- "length": 7,
- "value": "1"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "IntegerLiteral",
- "offset": 4348,
- "length": 4,
- "value": "2"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "IntegerLiteral",
- "offset": 4290,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "IntegerLiteral",
- "offset": 4316,
- "length": 7,
- "value": "1"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "IntegerLiteral",
- "offset": 4348,
- "length": 4,
- "value": "2"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "IntegerLiteral",
- "offset": 4290,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "IntegerLiteral",
- "offset": 4316,
- "length": 7,
- "value": "1"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "IntegerLiteral",
- "offset": 4348,
- "length": 4,
- "value": "2"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "IntegerLiteral",
- "offset": 4425,
- "length": 1,
- "value": "1"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "IntegerLiteral",
- "offset": 4455,
- "length": 3,
- "value": "2"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "IntegerLiteral",
- "offset": 4489,
- "length": 4,
- "value": "3"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "IntegerLiteral",
- "offset": 4519,
- "length": 6,
- "value": "4"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "IntegerLiteral",
- "offset": 4546,
- "length": 3,
- "value": "5"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "IntegerLiteral",
- "offset": 4425,
- "length": 1,
- "value": "1"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "IntegerLiteral",
- "offset": 4455,
- "length": 3,
- "value": "2"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "IntegerLiteral",
- "offset": 4489,
- "length": 4,
- "value": "3"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "IntegerLiteral",
- "offset": 4519,
- "length": 6,
- "value": "4"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "IntegerLiteral",
- "offset": 4546,
- "length": 3,
- "value": "5"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "IntegerLiteral",
- "offset": 4425,
- "length": 1,
- "value": "1"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "IntegerLiteral",
- "offset": 4455,
- "length": 3,
- "value": "2"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "IntegerLiteral",
- "offset": 4489,
- "length": 4,
- "value": "3"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "IntegerLiteral",
- "offset": 4519,
- "length": 6,
- "value": "4"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "IntegerLiteral",
- "offset": 4546,
- "length": 3,
- "value": "5"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "IntegerLiteral",
- "offset": 4847,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "IntegerLiteral",
- "offset": 4873,
- "length": 5,
- "value": "1"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "IntegerLiteral",
- "offset": 4909,
- "length": 11,
- "value": "2"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "IntegerLiteral",
- "offset": 4945,
- "length": 5,
- "value": "3"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "IntegerLiteral",
- "offset": 4981,
- "length": 11,
- "value": "4"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "IntegerLiteral",
- "offset": 5020,
- "length": 7,
- "value": "5"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "IntegerLiteral",
- "offset": 5052,
- "length": 7,
- "value": "6"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "IntegerLiteral",
- "offset": 5084,
- "length": 5,
- "value": "7"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "IntegerLiteral",
- "offset": 5114,
- "length": 6,
- "value": "8"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "IntegerLiteral",
- "offset": 5145,
- "length": 6,
- "value": "9"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "IntegerLiteral",
- "offset": 5176,
- "length": 11,
- "value": "10"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "IntegerLiteral",
- "offset": 5215,
- "length": 5,
- "value": "11"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "IntegerLiteral",
- "offset": 5245,
- "length": 5,
- "value": "12"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "IntegerLiteral",
- "offset": 5275,
- "length": 9,
- "value": "13"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "IntegerLiteral",
- "offset": 5309,
- "length": 5,
- "value": "14"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "IntegerLiteral",
- "offset": 5339,
- "length": 7,
- "value": "15"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "IntegerLiteral",
- "offset": 4847,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "IntegerLiteral",
- "offset": 4873,
- "length": 5,
- "value": "1"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "IntegerLiteral",
- "offset": 4909,
- "length": 11,
- "value": "2"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "IntegerLiteral",
- "offset": 4945,
- "length": 5,
- "value": "3"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "IntegerLiteral",
- "offset": 4981,
- "length": 11,
- "value": "4"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "IntegerLiteral",
- "offset": 5020,
- "length": 7,
- "value": "5"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "IntegerLiteral",
- "offset": 5052,
- "length": 7,
- "value": "6"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "IntegerLiteral",
- "offset": 5084,
- "length": 5,
- "value": "7"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "IntegerLiteral",
- "offset": 5114,
- "length": 6,
- "value": "8"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "IntegerLiteral",
- "offset": 5145,
- "length": 6,
- "value": "9"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "IntegerLiteral",
- "offset": 5176,
- "length": 11,
- "value": "10"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "IntegerLiteral",
- "offset": 5215,
- "length": 5,
- "value": "11"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "IntegerLiteral",
- "offset": 5245,
- "length": 5,
- "value": "12"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "IntegerLiteral",
- "offset": 5275,
- "length": 9,
- "value": "13"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "IntegerLiteral",
- "offset": 5309,
- "length": 5,
- "value": "14"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "IntegerLiteral",
- "offset": 5339,
- "length": 7,
- "value": "15"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "IntegerLiteral",
- "offset": 4847,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "IntegerLiteral",
- "offset": 4873,
- "length": 5,
- "value": "1"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "IntegerLiteral",
- "offset": 4909,
- "length": 11,
- "value": "2"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "IntegerLiteral",
- "offset": 4945,
- "length": 5,
- "value": "3"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "IntegerLiteral",
- "offset": 4981,
- "length": 11,
- "value": "4"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "IntegerLiteral",
- "offset": 5020,
- "length": 7,
- "value": "5"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "IntegerLiteral",
- "offset": 5052,
- "length": 7,
- "value": "6"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "IntegerLiteral",
- "offset": 5084,
- "length": 5,
- "value": "7"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "IntegerLiteral",
- "offset": 5114,
- "length": 6,
- "value": "8"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "IntegerLiteral",
- "offset": 5145,
- "length": 6,
- "value": "9"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "IntegerLiteral",
- "offset": 5176,
- "length": 11,
- "value": "10"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "IntegerLiteral",
- "offset": 5215,
- "length": 5,
- "value": "11"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "IntegerLiteral",
- "offset": 5245,
- "length": 5,
- "value": "12"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "IntegerLiteral",
- "offset": 5275,
- "length": 9,
- "value": "13"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "IntegerLiteral",
- "offset": 5309,
- "length": 5,
- "value": "14"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
- "kind": "IntegerLiteral",
- "offset": 5339,
- "length": 7,
- "value": "15"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBOtherTarget.swift",
- "kind": "IntegerLiteral",
- "offset": 228,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBOtherTarget.swift",
- "kind": "IntegerLiteral",
- "offset": 296,
- "length": 1,
- "value": "1"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBOtherTarget.swift",
- "kind": "IntegerLiteral",
- "offset": 365,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBOtherTarget.swift",
- "kind": "IntegerLiteral",
- "offset": 439,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBOtherTarget.swift",
- "kind": "IntegerLiteral",
- "offset": 517,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBOtherTarget.swift",
- "kind": "IntegerLiteral",
- "offset": 597,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBOtherTarget.swift",
- "kind": "IntegerLiteral",
- "offset": 676,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBOtherTarget.swift",
- "kind": "IntegerLiteral",
- "offset": 758,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBOtherTarget.swift",
- "kind": "IntegerLiteral",
- "offset": 762,
- "length": 1,
- "value": "1"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBOtherTarget.swift",
- "kind": "IntegerLiteral",
- "offset": 792,
- "length": 1,
- "value": "2"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBOtherTarget.swift",
- "kind": "IntegerLiteral",
- "offset": 820,
- "length": 1,
- "value": "3"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBOtherTarget.swift",
- "kind": "IntegerLiteral",
- "offset": 850,
- "length": 1,
- "value": "4"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBOtherTarget.swift",
- "kind": "IntegerLiteral",
- "offset": 883,
- "length": 1,
- "value": "5"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBOtherTarget.swift",
- "kind": "IntegerLiteral",
- "offset": 918,
- "length": 1,
- "value": "6"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBOtherTarget.swift",
- "kind": "IntegerLiteral",
- "offset": 952,
- "length": 1,
- "value": "7"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBOtherTarget.swift",
- "kind": "StringLiteral",
- "offset": 1013,
- "length": 176,
- "value": "\"IBOtherTarget(calorie: \""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBOtherTarget.swift",
- "kind": "StringLiteral",
- "offset": 1047,
- "length": 1,
- "value": "\", mileage:\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBOtherTarget.swift",
- "kind": "StringLiteral",
- "offset": 1067,
- "length": 1,
- "value": "\", stand:\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBOtherTarget.swift",
- "kind": "StringLiteral",
- "offset": 1083,
- "length": 1,
- "value": "\", burning:\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBOtherTarget.swift",
- "kind": "StringLiteral",
- "offset": 1103,
- "length": 1,
- "value": "\", ringsState:\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBOtherTarget.swift",
- "kind": "StringLiteral",
- "offset": 1129,
- "length": 1,
- "value": "\", vibrateState:\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBOtherTarget.swift",
- "kind": "StringLiteral",
- "offset": 1159,
- "length": 1,
- "value": "\", noticeState:\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBOtherTarget.swift",
- "kind": "StringLiteral",
- "offset": 1187,
- "length": 1,
- "value": "\")\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBAbout.swift",
- "kind": "IntegerLiteral",
- "offset": 259,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBAbout.swift",
- "kind": "IntegerLiteral",
- "offset": 316,
- "length": 1,
- "value": "1"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBAbout.swift",
- "kind": "IntegerLiteral",
- "offset": 372,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBAbout.swift",
- "kind": "IntegerLiteral",
- "offset": 430,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBAbout.swift",
- "kind": "StringLiteral",
- "offset": 487,
- "length": 2,
- "value": "\"\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryDistance.swift",
- "kind": "Array",
- "offset": 221,
- "length": 2,
- "value": "[]"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryDistance.swift",
- "kind": "Array",
- "offset": 308,
- "length": 2,
- "value": "[]"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryDistance.swift",
- "kind": "IntegerLiteral",
- "offset": 341,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryDistance.swift",
- "kind": "IntegerLiteral",
- "offset": 364,
- "length": 1,
- "value": "8"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryDistance.swift",
- "kind": "IntegerLiteral",
- "offset": 400,
- "length": 1,
- "value": "7"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryDistance.swift",
- "kind": "IntegerLiteral",
- "offset": 496,
- "length": 1,
- "value": "3"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryDistance.swift",
- "kind": "IntegerLiteral",
- "offset": 540,
- "length": 1,
- "value": "4"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryDistance.swift",
- "kind": "IntegerLiteral",
- "offset": 546,
- "length": 1,
- "value": "7"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryDistance.swift",
- "kind": "IntegerLiteral",
- "offset": 762,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryDistance.swift",
- "kind": "IntegerLiteral",
- "offset": 811,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
- "kind": "Array",
- "offset": 256,
- "length": 2,
- "value": "[]"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
- "kind": "StringLiteral",
- "offset": 325,
- "length": 6,
- "value": "\"recs\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
- "kind": "StringLiteral",
- "offset": 325,
- "length": 6,
- "value": "\"recs\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
- "kind": "IntegerLiteral",
- "offset": 506,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
- "kind": "IntegerLiteral",
- "offset": 890,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
- "kind": "IntegerLiteral",
- "offset": 966,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
- "kind": "IntegerLiteral",
- "offset": 1042,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
- "kind": "IntegerLiteral",
- "offset": 1158,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
- "kind": "IntegerLiteral",
- "offset": 1310,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
- "kind": "IntegerLiteral",
- "offset": 1382,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
- "kind": "IntegerLiteral",
- "offset": 1456,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
- "kind": "IntegerLiteral",
- "offset": 1673,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
- "kind": "StringLiteral",
- "offset": 2103,
- "length": 5,
- "value": "\"src\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
- "kind": "StringLiteral",
- "offset": 2134,
- "length": 4,
- "value": "\"bt\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
- "kind": "StringLiteral",
- "offset": 2167,
- "length": 4,
- "value": "\"ty\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
- "kind": "StringLiteral",
- "offset": 2192,
- "length": 4,
- "value": "\"st\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
- "kind": "StringLiteral",
- "offset": 2217,
- "length": 4,
- "value": "\"sp\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
- "kind": "StringLiteral",
- "offset": 2248,
- "length": 5,
- "value": "\"tgt\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
- "kind": "StringLiteral",
- "offset": 2276,
- "length": 4,
- "value": "\"tg\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
- "kind": "StringLiteral",
- "offset": 2305,
- "length": 4,
- "value": "\"pg\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
- "kind": "StringLiteral",
- "offset": 2334,
- "length": 4,
- "value": "\"du\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
- "kind": "StringLiteral",
- "offset": 2362,
- "length": 4,
- "value": "\"ca\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
- "kind": "StringLiteral",
- "offset": 2391,
- "length": 4,
- "value": "\"dl\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
- "kind": "StringLiteral",
- "offset": 2421,
- "length": 4,
- "value": "\"hr\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
- "kind": "StringLiteral",
- "offset": 2446,
- "length": 5,
- "value": "\"stp\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
- "kind": "StringLiteral",
- "offset": 2481,
- "length": 4,
- "value": "\"tl\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
- "kind": "StringLiteral",
- "offset": 2508,
- "length": 5,
- "value": "\"cir\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
- "kind": "StringLiteral",
- "offset": 2539,
- "length": 5,
- "value": "\"alt\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
- "kind": "StringLiteral",
- "offset": 2103,
- "length": 5,
- "value": "\"src\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
- "kind": "StringLiteral",
- "offset": 2134,
- "length": 4,
- "value": "\"bt\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
- "kind": "StringLiteral",
- "offset": 2167,
- "length": 4,
- "value": "\"ty\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
- "kind": "StringLiteral",
- "offset": 2192,
- "length": 4,
- "value": "\"st\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
- "kind": "StringLiteral",
- "offset": 2217,
- "length": 4,
- "value": "\"sp\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
- "kind": "StringLiteral",
- "offset": 2248,
- "length": 5,
- "value": "\"tgt\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
- "kind": "StringLiteral",
- "offset": 2276,
- "length": 4,
- "value": "\"tg\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
- "kind": "StringLiteral",
- "offset": 2305,
- "length": 4,
- "value": "\"pg\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
- "kind": "StringLiteral",
- "offset": 2334,
- "length": 4,
- "value": "\"du\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
- "kind": "StringLiteral",
- "offset": 2362,
- "length": 4,
- "value": "\"ca\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
- "kind": "StringLiteral",
- "offset": 2391,
- "length": 4,
- "value": "\"dl\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
- "kind": "StringLiteral",
- "offset": 2421,
- "length": 4,
- "value": "\"hr\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
- "kind": "StringLiteral",
- "offset": 2446,
- "length": 5,
- "value": "\"stp\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
- "kind": "StringLiteral",
- "offset": 2481,
- "length": 4,
- "value": "\"tl\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
- "kind": "StringLiteral",
- "offset": 2508,
- "length": 5,
- "value": "\"cir\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
- "kind": "StringLiteral",
- "offset": 2539,
- "length": 5,
- "value": "\"alt\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainingData.swift",
- "kind": "StringLiteral",
- "offset": 849,
- "length": 4,
- "value": "\"st\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainingData.swift",
- "kind": "StringLiteral",
- "offset": 886,
- "length": 4,
- "value": "\"hr\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainingData.swift",
- "kind": "StringLiteral",
- "offset": 921,
- "length": 4,
- "value": "\"ca\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainingData.swift",
- "kind": "StringLiteral",
- "offset": 957,
- "length": 4,
- "value": "\"di\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainingData.swift",
- "kind": "StringLiteral",
- "offset": 994,
- "length": 5,
- "value": "\"stp\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainingData.swift",
- "kind": "StringLiteral",
- "offset": 1032,
- "length": 4,
- "value": "\"ti\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainingData.swift",
- "kind": "StringLiteral",
- "offset": 1103,
- "length": 155,
- "value": "\"IBTrainingData(startTime: \""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainingData.swift",
- "kind": "StringLiteral",
- "offset": 1142,
- "length": 1,
- "value": "\", heartRate:\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainingData.swift",
- "kind": "StringLiteral",
- "offset": 1166,
- "length": 1,
- "value": "\", calorie:\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainingData.swift",
- "kind": "StringLiteral",
- "offset": 1186,
- "length": 1,
- "value": "\", distance:\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainingData.swift",
- "kind": "StringLiteral",
- "offset": 1208,
- "length": 1,
- "value": "\", stepCount:\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainingData.swift",
- "kind": "StringLiteral",
- "offset": 1232,
- "length": 1,
- "value": "\", intensity:\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainingData.swift",
- "kind": "StringLiteral",
- "offset": 1256,
- "length": 1,
- "value": "\")\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
- "kind": "StringLiteral",
- "offset": 543,
- "length": 22,
- "value": "\"缺少参数: dialID\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
- "kind": "StringLiteral",
- "offset": 812,
- "length": 22,
- "value": "\"缺少参数: action\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
- "kind": "StringLiteral",
- "offset": 1087,
- "length": 26,
- "value": "\"缺少参数: motionMode\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
- "kind": "StringLiteral",
- "offset": 1371,
- "length": 24,
- "value": "\"缺少参数: language\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
- "kind": "StringLiteral",
- "offset": 1657,
- "length": 25,
- "value": "\"缺少参数: auxiliary\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
- "kind": "StringLiteral",
- "offset": 1932,
- "length": 21,
- "value": "\"缺少参数: value\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
- "kind": "StringLiteral",
- "offset": 2203,
- "length": 21,
- "value": "\"缺少参数: value\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
- "kind": "IntegerLiteral",
- "offset": 2280,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
- "kind": "IntegerLiteral",
- "offset": 2284,
- "length": 3,
- "value": "255"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
- "kind": "StringLiteral",
- "offset": 2496,
- "length": 21,
- "value": "\"缺少参数: value\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
- "kind": "StringLiteral",
- "offset": 2760,
- "length": 21,
- "value": "\"缺少参数: value\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
- "kind": "StringLiteral",
- "offset": 3019,
- "length": 20,
- "value": "\"缺少参数: file\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
- "kind": "StringLiteral",
- "offset": 3283,
- "length": 19,
- "value": "\"缺少参数: ota\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
- "kind": "StringLiteral",
- "offset": 3362,
- "length": 23,
- "value": "\"json解析异常: ota\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
- "kind": "StringLiteral",
- "offset": 3428,
- "length": 2,
- "value": "\"\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
- "kind": "StringLiteral",
- "offset": 3656,
- "length": 25,
- "value": "\"缺少参数: aiReponse\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
- "kind": "StringLiteral",
- "offset": 4130,
- "length": 23,
- "value": "\"缺少参数: aiValid\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
- "kind": "IntegerLiteral",
- "offset": 4241,
- "length": 1,
- "value": "1"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
- "kind": "IntegerLiteral",
- "offset": 4250,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
- "kind": "BooleanLiteral",
- "offset": 4286,
- "length": 4,
- "value": "true"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
- "kind": "StringLiteral",
- "offset": 4611,
- "length": 26,
- "value": "\"缺少参数: targetStep\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
- "kind": "StringLiteral",
- "offset": 4961,
- "length": 21,
- "value": "\"缺少参数: sleep\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
- "kind": "IntegerLiteral",
- "offset": 5057,
- "length": 1,
- "value": "1"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
- "kind": "StringLiteral",
- "offset": 6087,
- "length": 21,
- "value": "\"缺少参数: water\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
- "kind": "IntegerLiteral",
- "offset": 6190,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
- "kind": "IntegerLiteral",
- "offset": 6427,
- "length": 1,
- "value": "1"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
- "kind": "StringLiteral",
- "offset": 6769,
- "length": 25,
- "value": "\"缺少参数: heartRate\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
- "kind": "IntegerLiteral",
- "offset": 6929,
- "length": 1,
- "value": "1"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
- "kind": "StringLiteral",
- "offset": 7238,
- "length": 25,
- "value": "\"缺少参数: heartRate\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
- "kind": "IntegerLiteral",
- "offset": 7398,
- "length": 1,
- "value": "1"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
- "kind": "StringLiteral",
- "offset": 7680,
- "length": 27,
- "value": "\"缺少参数: otherTarget\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
- "kind": "StringLiteral",
- "offset": 8181,
- "length": 31,
- "value": "\"缺少参数: IBVibrateConfig\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
- "kind": "IntegerLiteral",
- "offset": 8279,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
- "kind": "StringLiteral",
- "offset": 8456,
- "length": 30,
- "value": "\"参数错误: IBScreenConfig\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
- "kind": "IntegerLiteral",
- "offset": 8542,
- "length": 1,
- "value": "1"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
- "kind": "StringLiteral",
- "offset": 8715,
- "length": 30,
- "value": "\"参数错误: IBScreenConfig\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
- "kind": "IntegerLiteral",
- "offset": 8801,
- "length": 1,
- "value": "3"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
- "kind": "StringLiteral",
- "offset": 9034,
- "length": 30,
- "value": "\"参数错误: IBScreenConfig\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
- "kind": "Array",
- "offset": 9105,
- "length": 2,
- "value": "[]"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
- "kind": "StringLiteral",
- "offset": 9294,
- "length": 30,
- "value": "\"缺少参数: IBScreenConfig\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
- "kind": "IntegerLiteral",
- "offset": 9391,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
- "kind": "StringLiteral",
- "offset": 9565,
- "length": 30,
- "value": "\"参数错误: IBScreenConfig\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
- "kind": "StringLiteral",
- "offset": 9848,
- "length": 30,
- "value": "\"参数错误: IBScreenConfig\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
- "kind": "StringLiteral",
- "offset": 10096,
- "length": 24,
- "value": "\"缺少参数: userInfo\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
- "kind": "StringLiteral",
- "offset": 10576,
- "length": 21,
- "value": "\"缺少参数: clock\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
- "kind": "StringLiteral",
- "offset": 10657,
- "length": 25,
- "value": "\"json解析异常: clock\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
- "kind": "StringLiteral",
- "offset": 10725,
- "length": 2,
- "value": "\"\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
- "kind": "StringLiteral",
- "offset": 10965,
- "length": 27,
- "value": "\"缺少参数: trainTarget\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
- "kind": "StringLiteral",
- "offset": 11052,
- "length": 31,
- "value": "\"json解析异常: trainTarget\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
- "kind": "StringLiteral",
- "offset": 11126,
- "length": 2,
- "value": "\"\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
- "kind": "StringLiteral",
- "offset": 11360,
- "length": 25,
- "value": "\"缺少参数: sendPhone\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
- "kind": "StringLiteral",
- "offset": 11445,
- "length": 29,
- "value": "\"json解析异常: sendPhone\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
- "kind": "StringLiteral",
- "offset": 11517,
- "length": 2,
- "value": "\"\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
- "kind": "StringLiteral",
- "offset": 11748,
- "length": 24,
- "value": "\"缺少参数: sendTime\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
- "kind": "StringLiteral",
- "offset": 11832,
- "length": 28,
- "value": "\"json解析异常: sendTime\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
- "kind": "StringLiteral",
- "offset": 11903,
- "length": 2,
- "value": "\"\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
- "kind": "StringLiteral",
- "offset": 12122,
- "length": 23,
- "value": "\"缺少参数: weather\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
- "kind": "StringLiteral",
- "offset": 12205,
- "length": 27,
- "value": "\"json解析异常: weather\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
- "kind": "StringLiteral",
- "offset": 12275,
- "length": 2,
- "value": "\"\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
- "kind": "StringLiteral",
- "offset": 12505,
- "length": 27,
- "value": "\"缺少参数: addressBook\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
- "kind": "IntegerLiteral",
- "offset": 12560,
- "length": 2,
- "value": "20"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
- "kind": "StringLiteral",
- "offset": 12576,
- "length": 54,
- "value": "\"参数: addressBook,最多不能超过20个联系人\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
- "kind": "StringLiteral",
- "offset": 12689,
- "length": 4,
- "value": "\"[ \""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
- "kind": "IntegerLiteral",
- "offset": 13070,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
- "kind": "IntegerLiteral",
- "offset": 13217,
- "length": 1,
- "value": "2"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
- "kind": "StringLiteral",
- "offset": 13232,
- "length": 58,
- "value": "\"参数: addressBook,电话号码书数不能超过两个\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
- "kind": "IntegerLiteral",
- "offset": 13620,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
- "kind": "IntegerLiteral",
- "offset": 13914,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
- "kind": "IntegerLiteral",
- "offset": 14208,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
- "kind": "StringLiteral",
- "offset": 14273,
- "length": 4,
- "value": "\" ]\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
- "kind": "StringLiteral",
- "offset": 14533,
- "length": 19,
- "value": "\"缺少参数: MP3\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
- "kind": "StringLiteral",
- "offset": 14612,
- "length": 23,
- "value": "\"json解析异常: MP3\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
- "kind": "StringLiteral",
- "offset": 14678,
- "length": 2,
- "value": "\"\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
- "kind": "StringLiteral",
- "offset": 14884,
- "length": 19,
- "value": "\"缺少参数: epo\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
- "kind": "StringLiteral",
- "offset": 14962,
- "length": 4,
- "value": "\"[ \""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
- "kind": "StringLiteral",
- "offset": 15293,
- "length": 4,
- "value": "\" ]\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
- "kind": "StringLiteral",
- "offset": 16092,
- "length": 20,
- "value": "\"缺少参数: dial\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
- "kind": "IntegerLiteral",
- "offset": 16368,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
- "kind": "IntegerLiteral",
- "offset": 16504,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
- "kind": "StringLiteral",
- "offset": 16734,
- "length": 24,
- "value": "\"缺少参数: dialFile\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
- "kind": "IntegerLiteral",
- "offset": 17061,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
- "kind": "StringLiteral",
- "offset": 17331,
- "length": 26,
- "value": "\"缺少参数: deleteFile\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBDeleteFile.swift",
- "kind": "Array",
- "offset": 332,
- "length": 2,
- "value": "[]"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBDeleteFile.swift",
- "kind": "StringLiteral",
- "offset": 416,
- "length": 51,
- "value": "\"IBDeleteFile(fileType: \""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBDeleteFile.swift",
- "kind": "StringLiteral",
- "offset": 451,
- "length": 1,
- "value": "\", uids:\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBDeleteFile.swift",
- "kind": "StringLiteral",
- "offset": 465,
- "length": 1,
- "value": "\")\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTarinState.swift",
- "kind": "IntegerLiteral",
- "offset": 250,
- "length": 1,
- "value": "1"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTarinState.swift",
- "kind": "IntegerLiteral",
- "offset": 316,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTarinState.swift",
- "kind": "IntegerLiteral",
- "offset": 396,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTarinState.swift",
- "kind": "IntegerLiteral",
- "offset": 427,
- "length": 1,
- "value": "1"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTarinState.swift",
- "kind": "IntegerLiteral",
- "offset": 431,
- "length": 1,
- "value": "2"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTarinState.swift",
- "kind": "StringLiteral",
- "offset": 498,
- "length": 53,
- "value": "\"IBTarinState(state: \""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTarinState.swift",
- "kind": "StringLiteral",
- "offset": 527,
- "length": 1,
- "value": "\", duration:\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTarinState.swift",
- "kind": "StringLiteral",
- "offset": 549,
- "length": 1,
- "value": "\")\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBAiValid.swift",
- "kind": "BooleanLiteral",
- "offset": 233,
- "length": 4,
- "value": "true"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBAiValid.swift",
- "kind": "StringLiteral",
- "offset": 405,
- "length": 50,
- "value": "\"IBAiValid(isValid: \""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBAiValid.swift",
- "kind": "StringLiteral",
- "offset": 435,
- "length": 1,
- "value": "\", key:\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBAiValid.swift",
- "kind": "StringLiteral",
- "offset": 450,
- "length": 2,
- "value": "\"\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBAiValid.swift",
- "kind": "StringLiteral",
- "offset": 453,
- "length": 1,
- "value": "\")\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParser.swift",
- "kind": "IntegerLiteral",
- "offset": 333,
- "length": 1,
- "value": "7"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParser.swift",
- "kind": "IntegerLiteral",
- "offset": 337,
- "length": 2,
- "value": "10"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParser.swift",
- "kind": "IntegerLiteral",
- "offset": 378,
- "length": 2,
- "value": "17"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParser.swift",
- "kind": "Array",
- "offset": 841,
- "length": 76,
- "value": "[\"指令校验失败\", \"切换成功\", \"无该表盘资源\", \"切换失败\"]"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParser.swift",
- "kind": "IntegerLiteral",
- "offset": 956,
- "length": 1,
- "value": "1"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParser.swift",
- "kind": "Array",
- "offset": 1687,
- "length": 48,
- "value": "[\"指令校验失败\", \"已安装\", \"未安装\"]"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParser.swift",
- "kind": "IntegerLiteral",
- "offset": 1774,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParser.swift",
- "kind": "IntegerLiteral",
- "offset": 2126,
- "length": 1,
- "value": "1"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParser.swift",
- "kind": "Array",
- "offset": 2305,
- "length": 69,
- "value": "[\"指令校验失败\", \"操作成功\", \"进行手势拍照\", \"退出\"]"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParser.swift",
- "kind": "IntegerLiteral",
- "offset": 2413,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParser.swift",
- "kind": "IntegerLiteral",
- "offset": 2726,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParser.swift",
- "kind": "StringLiteral",
- "offset": 2730,
- "length": 8,
- "value": "\"关闭\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParser.swift",
- "kind": "StringLiteral",
- "offset": 2739,
- "length": 8,
- "value": "\"开启\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParser.swift",
- "kind": "Array",
- "offset": 2965,
- "length": 72,
- "value": "[\"指令校验失败\", \"操作成功\", \"手表已找到,停止查找\"]"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParser.swift",
- "kind": "IntegerLiteral",
- "offset": 3076,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParser.swift",
- "kind": "Array",
- "offset": 3287,
- "length": 120,
- "value": "[\"指令校验失败\", \"手表未与任何手机绑定\", \"手表已与该手机绑定\", \"手表已与其他手机绑定\"]"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParser.swift",
- "kind": "IntegerLiteral",
- "offset": 3446,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParser.swift",
- "kind": "Dictionary",
- "offset": 3713,
- "length": 64,
- "value": "[(0, \"空闲状态\"), (9, \"USB存储状态\"), (10, \"运动训练状态\")]"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParser.swift",
- "kind": "StringLiteral",
- "offset": 3852,
- "length": 2,
- "value": "\"\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParser.swift",
- "kind": "IntegerLiteral",
- "offset": 4022,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParser.swift",
- "kind": "IntegerLiteral",
- "offset": 4048,
- "length": 1,
- "value": "1"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParser.swift",
- "kind": "IntegerLiteral",
- "offset": 4081,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParser.swift",
- "kind": "IntegerLiteral",
- "offset": 4127,
- "length": 1,
- "value": "1"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParser.swift",
- "kind": "IntegerLiteral",
- "offset": 4456,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParser.swift",
- "kind": "StringLiteral",
- "offset": 8707,
- "length": 2,
- "value": "\"\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParser.swift",
- "kind": "StringLiteral",
- "offset": 9059,
- "length": 2,
- "value": "\"\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParser.swift",
- "kind": "StringLiteral",
- "offset": 9409,
- "length": 2,
- "value": "\"\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParser.swift",
- "kind": "IntegerLiteral",
- "offset": 9731,
- "length": 1,
- "value": "1"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParser.swift",
- "kind": "IntegerLiteral",
- "offset": 9924,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParser.swift",
- "kind": "Array",
- "offset": 9965,
- "length": 2,
- "value": "[]"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParser.swift",
- "kind": "IntegerLiteral",
- "offset": 9985,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParser.swift",
- "kind": "IntegerLiteral",
- "offset": 10035,
- "length": 1,
- "value": "2"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParser.swift",
- "kind": "IntegerLiteral",
- "offset": 10041,
- "length": 1,
- "value": "1"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParser.swift",
- "kind": "IntegerLiteral",
- "offset": 10045,
- "length": 1,
- "value": "2"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParser.swift",
- "kind": "IntegerLiteral",
- "offset": 10051,
- "length": 1,
- "value": "2"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBUserInfo.swift",
- "kind": "IntegerLiteral",
- "offset": 191,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBUserInfo.swift",
- "kind": "IntegerLiteral",
- "offset": 259,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBUserInfo.swift",
- "kind": "IntegerLiteral",
- "offset": 317,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBUserInfo.swift",
- "kind": "IntegerLiteral",
- "offset": 375,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBUserInfo.swift",
- "kind": "IntegerLiteral",
- "offset": 425,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBUserInfo.swift",
- "kind": "IntegerLiteral",
- "offset": 499,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBUserInfo.swift",
- "kind": "IntegerLiteral",
- "offset": 556,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBUserInfo.swift",
- "kind": "IntegerLiteral",
- "offset": 635,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBUserInfo.swift",
- "kind": "IntegerLiteral",
- "offset": 714,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBUserInfo.swift",
- "kind": "IntegerLiteral",
- "offset": 743,
- "length": 1,
- "value": "1"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBUserInfo.swift",
- "kind": "IntegerLiteral",
- "offset": 772,
- "length": 1,
- "value": "2"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBUserInfo.swift",
- "kind": "IntegerLiteral",
- "offset": 801,
- "length": 1,
- "value": "3"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBUserInfo.swift",
- "kind": "IntegerLiteral",
- "offset": 805,
- "length": 1,
- "value": "4"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBUserInfo.swift",
- "kind": "IntegerLiteral",
- "offset": 832,
- "length": 1,
- "value": "5"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBUserInfo.swift",
- "kind": "IntegerLiteral",
- "offset": 836,
- "length": 1,
- "value": "8"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBUserInfo.swift",
- "kind": "IntegerLiteral",
- "offset": 866,
- "length": 1,
- "value": "9"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBUserInfo.swift",
- "kind": "IntegerLiteral",
- "offset": 870,
- "length": 2,
- "value": "10"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBUserInfo.swift",
- "kind": "IntegerLiteral",
- "offset": 899,
- "length": 2,
- "value": "11"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBUserInfo.swift",
- "kind": "IntegerLiteral",
- "offset": 933,
- "length": 2,
- "value": "12"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBUserInfo.swift",
- "kind": "StringLiteral",
- "offset": 1001,
- "length": 155,
- "value": "\"IBUserInfo(age: \""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBUserInfo.swift",
- "kind": "StringLiteral",
- "offset": 1024,
- "length": 1,
- "value": "\", gender:\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBUserInfo.swift",
- "kind": "StringLiteral",
- "offset": 1042,
- "length": 1,
- "value": "\", height:\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBUserInfo.swift",
- "kind": "StringLiteral",
- "offset": 1060,
- "length": 1,
- "value": "\", weight:\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBUserInfo.swift",
- "kind": "StringLiteral",
- "offset": 1078,
- "length": 1,
- "value": "\", step:\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBUserInfo.swift",
- "kind": "StringLiteral",
- "offset": 1092,
- "length": 1,
- "value": "\", burning:\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBUserInfo.swift",
- "kind": "StringLiteral",
- "offset": 1112,
- "length": 1,
- "value": "\", stand:\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBUserInfo.swift",
- "kind": "StringLiteral",
- "offset": 1128,
- "length": 1,
- "value": "\", hourSystem:\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBUserInfo.swift",
- "kind": "StringLiteral",
- "offset": 1154,
- "length": 1,
- "value": "\")\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryHeartRate.swift",
- "kind": "Array",
- "offset": 215,
- "length": 2,
- "value": "[]"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryHeartRate.swift",
- "kind": "Array",
- "offset": 303,
- "length": 2,
- "value": "[]"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryHeartRate.swift",
- "kind": "IntegerLiteral",
- "offset": 336,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryHeartRate.swift",
- "kind": "IntegerLiteral",
- "offset": 359,
- "length": 1,
- "value": "5"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryHeartRate.swift",
- "kind": "IntegerLiteral",
- "offset": 395,
- "length": 1,
- "value": "4"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryHeartRate.swift",
- "kind": "IntegerLiteral",
- "offset": 492,
- "length": 1,
- "value": "3"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryHeartRate.swift",
- "kind": "IntegerLiteral",
- "offset": 536,
- "length": 1,
- "value": "4"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryHeartRate.swift",
- "kind": "IntegerLiteral",
- "offset": 751,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryHeartRate.swift",
- "kind": "IntegerLiteral",
- "offset": 796,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBloodOxygen.swift",
- "kind": "Array",
- "offset": 220,
- "length": 2,
- "value": "[]"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBloodOxygen.swift",
- "kind": "Array",
- "offset": 310,
- "length": 2,
- "value": "[]"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBloodOxygen.swift",
- "kind": "IntegerLiteral",
- "offset": 343,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBloodOxygen.swift",
- "kind": "IntegerLiteral",
- "offset": 366,
- "length": 1,
- "value": "5"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBloodOxygen.swift",
- "kind": "IntegerLiteral",
- "offset": 402,
- "length": 1,
- "value": "4"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBloodOxygen.swift",
- "kind": "IntegerLiteral",
- "offset": 501,
- "length": 1,
- "value": "3"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBloodOxygen.swift",
- "kind": "IntegerLiteral",
- "offset": 545,
- "length": 1,
- "value": "4"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBloodOxygen.swift",
- "kind": "IntegerLiteral",
- "offset": 762,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBloodOxygen.swift",
- "kind": "IntegerLiteral",
- "offset": 817,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
- "kind": "Array",
- "offset": 397,
- "length": 2,
- "value": "[]"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
- "kind": "StringLiteral",
- "offset": 218,
- "length": 6,
- "value": "\"IOTBluetooth.Weakly\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
- "kind": "Array",
- "offset": 589,
- "length": 2,
- "value": "[]"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
- "kind": "StringLiteral",
- "offset": 2400,
- "length": 34,
- "value": "\"observer or name must be not nil\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
- "kind": "Dictionary",
- "offset": 3015,
- "length": 3,
- "value": "[]"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
- "kind": "Dictionary",
- "offset": 3620,
- "length": 3,
- "value": "[]"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
- "kind": "StringLiteral",
- "offset": 4640,
- "length": 36,
- "value": "\"IOTBluetooth.ConnectStateDidChange\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
- "kind": "StringLiteral",
- "offset": 4810,
- "length": 24,
- "value": "\"IOTBluetooth.TakePhoto\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
- "kind": "StringLiteral",
- "offset": 4913,
- "length": 22,
- "value": "\"IOTBluetooth.weather\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
- "kind": "StringLiteral",
- "offset": 5008,
- "length": 25,
- "value": "\"IOTBluetooth.FindDevice\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
- "kind": "StringLiteral",
- "offset": 5162,
- "length": 32,
- "value": "\"IOTBluetooth.TrainStateChanged\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
- "kind": "StringLiteral",
- "offset": 5338,
- "length": 27,
- "value": "\"IOTBluetooth.TrainingData\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
- "kind": "StringLiteral",
- "offset": 5473,
- "length": 32,
- "value": "\"IOTBluetooth.TileReceiveFinish\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
- "kind": "IntegerLiteral",
- "offset": 5773,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
- "kind": "IntegerLiteral",
- "offset": 5803,
- "length": 1,
- "value": "2"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
- "kind": "IntegerLiteral",
- "offset": 5816,
- "length": 1,
- "value": "3"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
- "kind": "BooleanLiteral",
- "offset": 5899,
- "length": 4,
- "value": "true"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
- "kind": "IntegerLiteral",
- "offset": 6108,
- "length": 1,
- "value": "2"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
- "kind": "BooleanLiteral",
- "offset": 6182,
- "length": 4,
- "value": "true"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
- "kind": "IntegerLiteral",
- "offset": 6242,
- "length": 1,
- "value": "1"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
- "kind": "IntegerLiteral",
- "offset": 6248,
- "length": 4,
- "value": "0x05"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
- "kind": "IntegerLiteral",
- "offset": 6267,
- "length": 1,
- "value": "2"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
- "kind": "IntegerLiteral",
- "offset": 6273,
- "length": 4,
- "value": "0x03"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
- "kind": "BooleanLiteral",
- "offset": 6326,
- "length": 4,
- "value": "true"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
- "kind": "IntegerLiteral",
- "offset": 6392,
- "length": 1,
- "value": "1"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
- "kind": "IntegerLiteral",
- "offset": 6398,
- "length": 4,
- "value": "0x05"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
- "kind": "IntegerLiteral",
- "offset": 6417,
- "length": 1,
- "value": "2"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
- "kind": "IntegerLiteral",
- "offset": 6423,
- "length": 4,
- "value": "0x04"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
- "kind": "Array",
- "offset": 6545,
- "length": 31,
- "value": "[\"安装失败\", \"安装成功\"]"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
- "kind": "StringLiteral",
- "offset": 6600,
- "length": 23,
- "value": "\"表盘安装状态:\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
- "kind": "BooleanLiteral",
- "offset": 6655,
- "length": 4,
- "value": "true"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
- "kind": "IntegerLiteral",
- "offset": 6739,
- "length": 1,
- "value": "1"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
- "kind": "IntegerLiteral",
- "offset": 6745,
- "length": 4,
- "value": "0x05"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
- "kind": "IntegerLiteral",
- "offset": 6764,
- "length": 1,
- "value": "2"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
- "kind": "IntegerLiteral",
- "offset": 6770,
- "length": 4,
- "value": "0x06"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
- "kind": "BooleanLiteral",
- "offset": 6841,
- "length": 4,
- "value": "true"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
- "kind": "IntegerLiteral",
- "offset": 6909,
- "length": 1,
- "value": "1"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
- "kind": "IntegerLiteral",
- "offset": 6915,
- "length": 4,
- "value": "0x05"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
- "kind": "IntegerLiteral",
- "offset": 6934,
- "length": 1,
- "value": "2"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
- "kind": "IntegerLiteral",
- "offset": 6940,
- "length": 4,
- "value": "0x05"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
- "kind": "BooleanLiteral",
- "offset": 7013,
- "length": 4,
- "value": "true"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
- "kind": "IntegerLiteral",
- "offset": 7082,
- "length": 1,
- "value": "1"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
- "kind": "IntegerLiteral",
- "offset": 7088,
- "length": 4,
- "value": "0x05"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
- "kind": "IntegerLiteral",
- "offset": 7107,
- "length": 1,
- "value": "2"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
- "kind": "IntegerLiteral",
- "offset": 7113,
- "length": 4,
- "value": "0x20"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
- "kind": "IntegerLiteral",
- "offset": 7243,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
- "kind": "IntegerLiteral",
- "offset": 7253,
- "length": 1,
- "value": "1"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
- "kind": "BooleanLiteral",
- "offset": 7275,
- "length": 4,
- "value": "true"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
- "kind": "IntegerLiteral",
- "offset": 7341,
- "length": 1,
- "value": "1"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
- "kind": "IntegerLiteral",
- "offset": 7347,
- "length": 4,
- "value": "0x05"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
- "kind": "IntegerLiteral",
- "offset": 7366,
- "length": 1,
- "value": "2"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
- "kind": "IntegerLiteral",
- "offset": 7372,
- "length": 4,
- "value": "0x50"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
- "kind": "BooleanLiteral",
- "offset": 7561,
- "length": 4,
- "value": "true"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
- "kind": "BooleanLiteral",
- "offset": 7868,
- "length": 4,
- "value": "true"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
- "kind": "BooleanLiteral",
- "offset": 7960,
- "length": 4,
- "value": "true"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
- "kind": "BooleanLiteral",
- "offset": 7990,
- "length": 5,
- "value": "false"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Any.swift",
- "kind": "BooleanLiteral",
- "offset": 199,
- "length": 4,
- "value": "true"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Any.swift",
- "kind": "BooleanLiteral",
- "offset": 227,
- "length": 5,
- "value": "false"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Any.swift",
- "kind": "BooleanLiteral",
- "offset": 338,
- "length": 5,
- "value": "false"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Any.swift",
- "kind": "IntegerLiteral",
- "offset": 444,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Any.swift",
- "kind": "BooleanLiteral",
- "offset": 535,
- "length": 5,
- "value": "false"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Any.swift",
- "kind": "IntegerLiteral",
- "offset": 659,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Any.swift",
- "kind": "BooleanLiteral",
- "offset": 768,
- "length": 5,
- "value": "false"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Any.swift",
- "kind": "IntegerLiteral",
- "offset": 876,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Any.swift",
- "kind": "BooleanLiteral",
- "offset": 969,
- "length": 5,
- "value": "false"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Any.swift",
- "kind": "FloatLiteral",
- "offset": 1114,
- "length": 3,
- "value": "8.0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Any.swift",
- "kind": "IntegerLiteral",
- "offset": 1154,
- "length": 1,
- "value": "8"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Any.swift",
- "kind": "StringLiteral",
- "offset": 1202,
- "length": 3,
- "value": "\"0\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Any.swift",
- "kind": "IntegerLiteral",
- "offset": 1396,
- "length": 10,
- "value": "0b11111111"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Any.swift",
- "kind": "IntegerLiteral",
- "offset": 1646,
- "length": 1,
- "value": "1"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Any.swift",
- "kind": "IntegerLiteral",
- "offset": 1696,
- "length": 1,
- "value": "8"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Any.swift",
- "kind": "IntegerLiteral",
- "offset": 1728,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Any.swift",
- "kind": "IntegerLiteral",
- "offset": 1848,
- "length": 1,
- "value": "8"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Any.swift",
- "kind": "IntegerLiteral",
- "offset": 1879,
- "length": 1,
- "value": "1"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Any.swift",
- "kind": "IntegerLiteral",
- "offset": 2204,
- "length": 1,
- "value": "8"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Any.swift",
- "kind": "IntegerLiteral",
- "offset": 2420,
- "length": 1,
- "value": "8"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Any.swift",
- "kind": "IntegerLiteral",
- "offset": 2468,
- "length": 2,
- "value": "16"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Any.swift",
- "kind": "IntegerLiteral",
- "offset": 2685,
- "length": 1,
- "value": "8"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Any.swift",
- "kind": "IntegerLiteral",
- "offset": 2733,
- "length": 2,
- "value": "16"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Any.swift",
- "kind": "IntegerLiteral",
- "offset": 2782,
- "length": 2,
- "value": "24"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Any.swift",
- "kind": "IntegerLiteral",
- "offset": 2949,
- "length": 1,
- "value": "2"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Any.swift",
- "kind": "IntegerLiteral",
- "offset": 3139,
- "length": 1,
- "value": "8"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Any.swift",
- "kind": "IntegerLiteral",
- "offset": 3164,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Any.swift",
- "kind": "StringLiteral",
- "offset": 3394,
- "length": 6,
- "value": "\"%02x\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Any.swift",
- "kind": "StringLiteral",
- "offset": 3424,
- "length": 2,
- "value": "\"\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Any.swift",
- "kind": "StringLiteral",
- "offset": 3595,
- "length": 6,
- "value": "\"%02x\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Any.swift",
- "kind": "StringLiteral",
- "offset": 3625,
- "length": 2,
- "value": "\"\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Any.swift",
- "kind": "IntegerLiteral",
- "offset": 3897,
- "length": 1,
- "value": "8"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Any.swift",
- "kind": "IntegerLiteral",
- "offset": 3922,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Any.swift",
- "kind": "FloatLiteral",
- "offset": 4196,
- "length": 3,
- "value": "0.0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Any.swift",
- "kind": "IntegerLiteral",
- "offset": 4291,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBCode.swift",
- "kind": "StringLiteral",
- "offset": 213,
- "length": 51,
- "value": "\"IBError(rawValue:\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBCode.swift",
- "kind": "StringLiteral",
- "offset": 242,
- "length": 1,
- "value": "\", message:\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBCode.swift",
- "kind": "StringLiteral",
- "offset": 262,
- "length": 1,
- "value": "\")\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBCode.swift",
- "kind": "IntegerLiteral",
- "offset": 311,
- "length": 4,
- "value": "1000"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBCode.swift",
- "kind": "IntegerLiteral",
- "offset": 356,
- "length": 4,
- "value": "1001"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBCode.swift",
- "kind": "IntegerLiteral",
- "offset": 406,
- "length": 4,
- "value": "1002"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBCode.swift",
- "kind": "IntegerLiteral",
- "offset": 454,
- "length": 4,
- "value": "1003"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBCode.swift",
- "kind": "IntegerLiteral",
- "offset": 499,
- "length": 4,
- "value": "1004"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBCode.swift",
- "kind": "IntegerLiteral",
- "offset": 543,
- "length": 4,
- "value": "1005"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBCode.swift",
- "kind": "StringLiteral",
- "offset": 641,
- "length": 14,
- "value": "\"操作失败\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBCode.swift",
- "kind": "StringLiteral",
- "offset": 698,
- "length": 14,
- "value": "\"操作成功\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBCode.swift",
- "kind": "StringLiteral",
- "offset": 760,
- "length": 14,
- "value": "\"参数错误\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBCode.swift",
- "kind": "StringLiteral",
- "offset": 820,
- "length": 14,
- "value": "\"解析错误\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBCode.swift",
- "kind": "StringLiteral",
- "offset": 877,
- "length": 14,
- "value": "\"请求超时\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBCode.swift",
- "kind": "StringLiteral",
- "offset": 928,
- "length": 14,
- "value": "\"未知错误\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBCode.swift",
- "kind": "IntegerLiteral",
- "offset": 311,
- "length": 4,
- "value": "1000"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBCode.swift",
- "kind": "IntegerLiteral",
- "offset": 356,
- "length": 4,
- "value": "1001"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBCode.swift",
- "kind": "IntegerLiteral",
- "offset": 406,
- "length": 4,
- "value": "1002"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBCode.swift",
- "kind": "IntegerLiteral",
- "offset": 454,
- "length": 4,
- "value": "1003"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBCode.swift",
- "kind": "IntegerLiteral",
- "offset": 499,
- "length": 4,
- "value": "1004"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBCode.swift",
- "kind": "IntegerLiteral",
- "offset": 543,
- "length": 4,
- "value": "1005"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBCode.swift",
- "kind": "IntegerLiteral",
- "offset": 311,
- "length": 4,
- "value": "1000"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBCode.swift",
- "kind": "IntegerLiteral",
- "offset": 356,
- "length": 4,
- "value": "1001"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBCode.swift",
- "kind": "IntegerLiteral",
- "offset": 406,
- "length": 4,
- "value": "1002"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBCode.swift",
- "kind": "IntegerLiteral",
- "offset": 454,
- "length": 4,
- "value": "1003"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBCode.swift",
- "kind": "IntegerLiteral",
- "offset": 499,
- "length": 4,
- "value": "1004"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBCode.swift",
- "kind": "IntegerLiteral",
- "offset": 543,
- "length": 4,
- "value": "1005"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBFetchFile.swift",
- "kind": "StringLiteral",
- "offset": 481,
- "length": 6,
- "value": "\"type\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBFetchFile.swift",
- "kind": "StringLiteral",
- "offset": 625,
- "length": 6,
- "value": "\"list\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBFetchFile.swift",
- "kind": "StringLiteral",
- "offset": 861,
- "length": 5,
- "value": "\"uid\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBFetchFile.swift",
- "kind": "IntegerLiteral",
- "offset": 879,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBFetchFile.swift",
- "kind": "StringLiteral",
- "offset": 919,
- "length": 6,
- "value": "\"name\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBFetchFile.swift",
- "kind": "StringLiteral",
- "offset": 941,
- "length": 2,
- "value": "\"\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBFetchFile.swift",
- "kind": "StringLiteral",
- "offset": 982,
- "length": 6,
- "value": "\"size\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBFetchFile.swift",
- "kind": "IntegerLiteral",
- "offset": 1001,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBFetchFile.swift",
- "kind": "StringLiteral",
- "offset": 1043,
- "length": 8,
- "value": "\"artist\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBFetchFile.swift",
- "kind": "StringLiteral",
- "offset": 1067,
- "length": 2,
- "value": "\"\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBFetchFile.swift",
- "kind": "StringLiteral",
- "offset": 1112,
- "length": 10,
- "value": "\"duration\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBFetchFile.swift",
- "kind": "IntegerLiteral",
- "offset": 1135,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBFetchFile.swift",
- "kind": "StringLiteral",
- "offset": 1452,
- "length": 5,
- "value": "\"uid\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBFetchFile.swift",
- "kind": "IntegerLiteral",
- "offset": 1470,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBFetchFile.swift",
- "kind": "StringLiteral",
- "offset": 1510,
- "length": 6,
- "value": "\"name\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBFetchFile.swift",
- "kind": "StringLiteral",
- "offset": 1532,
- "length": 2,
- "value": "\"\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBFetchFile.swift",
- "kind": "StringLiteral",
- "offset": 1573,
- "length": 6,
- "value": "\"size\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBFetchFile.swift",
- "kind": "IntegerLiteral",
- "offset": 1592,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBFetchFile.swift",
- "kind": "IntegerLiteral",
- "offset": 1880,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBFetchFile.swift",
- "kind": "StringLiteral",
- "offset": 1925,
- "length": 2,
- "value": "\"\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBFetchFile.swift",
- "kind": "IntegerLiteral",
- "offset": 1981,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBFetchFile.swift",
- "kind": "IntegerLiteral",
- "offset": 2146,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBFetchFile.swift",
- "kind": "StringLiteral",
- "offset": 2191,
- "length": 2,
- "value": "\"\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBFetchFile.swift",
- "kind": "IntegerLiteral",
- "offset": 2247,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBFetchFile.swift",
- "kind": "StringLiteral",
- "offset": 2288,
- "length": 2,
- "value": "\"\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBFetchFile.swift",
- "kind": "IntegerLiteral",
- "offset": 2350,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBManufacturer.swift",
- "kind": "IntegerLiteral",
- "offset": 214,
- "length": 2,
- "value": "14"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBManufacturer.swift",
- "kind": "IntegerLiteral",
- "offset": 266,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBManufacturer.swift",
- "kind": "IntegerLiteral",
- "offset": 270,
- "length": 1,
- "value": "1"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBManufacturer.swift",
- "kind": "StringLiteral",
- "offset": 283,
- "length": 2,
- "value": "\"\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBManufacturer.swift",
- "kind": "StringLiteral",
- "offset": 308,
- "length": 4,
- "value": "\"JH\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBManufacturer.swift",
- "kind": "IntegerLiteral",
- "offset": 363,
- "length": 1,
- "value": "2"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBManufacturer.swift",
- "kind": "IntegerLiteral",
- "offset": 396,
- "length": 1,
- "value": "3"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBManufacturer.swift",
- "kind": "IntegerLiteral",
- "offset": 400,
- "length": 1,
- "value": "8"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBManufacturer.swift",
- "kind": "StringLiteral",
- "offset": 418,
- "length": 3,
- "value": "\":\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBManufacturer.swift",
- "kind": "IntegerLiteral",
- "offset": 449,
- "length": 1,
- "value": "9"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBManufacturer.swift",
- "kind": "IntegerLiteral",
- "offset": 481,
- "length": 2,
- "value": "10"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBManufacturer.swift",
- "kind": "IntegerLiteral",
- "offset": 520,
- "length": 2,
- "value": "11"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBManufacturer.swift",
- "kind": "IntegerLiteral",
- "offset": 525,
- "length": 2,
- "value": "14"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBManufacturer.swift",
- "kind": "StringLiteral",
- "offset": 544,
- "length": 4,
- "value": "\"%d\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBManufacturer.swift",
- "kind": "StringLiteral",
- "offset": 550,
- "length": 3,
- "value": "\".\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainTarget.swift",
- "kind": "StringLiteral",
- "offset": 605,
- "length": 4,
- "value": "\"ty\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainTarget.swift",
- "kind": "StringLiteral",
- "offset": 634,
- "length": 4,
- "value": "\"di\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainTarget.swift",
- "kind": "StringLiteral",
- "offset": 662,
- "length": 4,
- "value": "\"ca\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainTarget.swift",
- "kind": "StringLiteral",
- "offset": 687,
- "length": 4,
- "value": "\"tm\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainTarget.swift",
- "kind": "StringLiteral",
- "offset": 712,
- "length": 4,
- "value": "\"st\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainTarget.swift",
- "kind": "StringLiteral",
- "offset": 605,
- "length": 4,
- "value": "\"ty\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainTarget.swift",
- "kind": "StringLiteral",
- "offset": 634,
- "length": 4,
- "value": "\"di\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainTarget.swift",
- "kind": "StringLiteral",
- "offset": 662,
- "length": 4,
- "value": "\"ca\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainTarget.swift",
- "kind": "StringLiteral",
- "offset": 687,
- "length": 4,
- "value": "\"tm\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainTarget.swift",
- "kind": "StringLiteral",
- "offset": 712,
- "length": 4,
- "value": "\"st\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainTarget.swift",
- "kind": "StringLiteral",
- "offset": 769,
- "length": 120,
- "value": "\"IBTrainTarget(type: \""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainTarget.swift",
- "kind": "StringLiteral",
- "offset": 797,
- "length": 1,
- "value": "\", distance:\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainTarget.swift",
- "kind": "IntegerLiteral",
- "offset": 822,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainTarget.swift",
- "kind": "StringLiteral",
- "offset": 824,
- "length": 1,
- "value": "\", calorie:\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainTarget.swift",
- "kind": "IntegerLiteral",
- "offset": 847,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainTarget.swift",
- "kind": "StringLiteral",
- "offset": 849,
- "length": 1,
- "value": "\", time:\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainTarget.swift",
- "kind": "IntegerLiteral",
- "offset": 866,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainTarget.swift",
- "kind": "StringLiteral",
- "offset": 868,
- "length": 1,
- "value": "\", step:\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainTarget.swift",
- "kind": "IntegerLiteral",
- "offset": 885,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainTarget.swift",
- "kind": "StringLiteral",
- "offset": 887,
- "length": 1,
- "value": "\")\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainTarget.swift",
- "kind": "IntegerLiteral",
- "offset": 996,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainTarget.swift",
- "kind": "IntegerLiteral",
- "offset": 1035,
- "length": 1,
- "value": "1"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainTarget.swift",
- "kind": "IntegerLiteral",
- "offset": 1068,
- "length": 1,
- "value": "2"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainTarget.swift",
- "kind": "IntegerLiteral",
- "offset": 1101,
- "length": 1,
- "value": "4"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainTarget.swift",
- "kind": "IntegerLiteral",
- "offset": 996,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainTarget.swift",
- "kind": "IntegerLiteral",
- "offset": 1035,
- "length": 1,
- "value": "1"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainTarget.swift",
- "kind": "IntegerLiteral",
- "offset": 1068,
- "length": 1,
- "value": "2"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainTarget.swift",
- "kind": "IntegerLiteral",
- "offset": 1101,
- "length": 1,
- "value": "4"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainTarget.swift",
- "kind": "IntegerLiteral",
- "offset": 996,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainTarget.swift",
- "kind": "IntegerLiteral",
- "offset": 1035,
- "length": 1,
- "value": "1"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainTarget.swift",
- "kind": "IntegerLiteral",
- "offset": 1068,
- "length": 1,
- "value": "2"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainTarget.swift",
- "kind": "IntegerLiteral",
- "offset": 1101,
- "length": 1,
- "value": "4"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender+Mp3.swift",
- "kind": "StringLiteral",
- "offset": 992,
- "length": 20,
- "value": "\"读取文件失败\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender+Mp3.swift",
- "kind": "StringLiteral",
- "offset": 1139,
- "length": 17,
- "value": "\"已取消发送\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender+Mp3.swift",
- "kind": "StringLiteral",
- "offset": 1719,
- "length": 23,
- "value": "\"\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender+Mp3.swift",
- "kind": "StringLiteral",
- "offset": 1728,
- "length": 1,
- "value": "\" : \""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender+Mp3.swift",
- "kind": "StringLiteral",
- "offset": 1741,
- "length": 2,
- "value": "\"\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender+Mp3.swift",
- "kind": "StringLiteral",
- "offset": 1950,
- "length": 38,
- "value": "\"发送文件超时,发送失败!\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender+Mp3.swift",
- "kind": "StringLiteral",
- "offset": 2191,
- "length": 29,
- "value": "\"文件内容发送结束...\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender+Mp3.swift",
- "kind": "StringLiteral",
- "offset": 2709,
- "length": 29,
- "value": "\"发送文件校验码失败\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBSender.swift",
- "kind": "Array",
- "offset": 351,
- "length": 2,
- "value": "[]"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBSender.swift",
- "kind": "Array",
- "offset": 465,
- "length": 2,
- "value": "[]"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBSender.swift",
- "kind": "IntegerLiteral",
- "offset": 639,
- "length": 1,
- "value": "1"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBSender.swift",
- "kind": "IntegerLiteral",
- "offset": 899,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBSender.swift",
- "kind": "IntegerLiteral",
- "offset": 964,
- "length": 1,
- "value": "1"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBSender.swift",
- "kind": "IntegerLiteral",
- "offset": 1013,
- "length": 4,
- "value": "0x73"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBSender.swift",
- "kind": "IntegerLiteral",
- "offset": 1191,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBSender.swift",
- "kind": "IntegerLiteral",
- "offset": 1219,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBSender.swift",
- "kind": "IntegerLiteral",
- "offset": 1315,
- "length": 1,
- "value": "1"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBSender.swift",
- "kind": "IntegerLiteral",
- "offset": 1332,
- "length": 1,
- "value": "1"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBSender.swift",
- "kind": "IntegerLiteral",
- "offset": 1457,
- "length": 1,
- "value": "1"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBSender.swift",
- "kind": "IntegerLiteral",
- "offset": 1677,
- "length": 1,
- "value": "1"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBSender.swift",
- "kind": "IntegerLiteral",
- "offset": 1726,
- "length": 4,
- "value": "0x73"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBSender.swift",
- "kind": "IntegerLiteral",
- "offset": 1916,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBSender.swift",
- "kind": "Array",
- "offset": 2077,
- "length": 6,
- "value": "[0x00]"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBSender.swift",
- "kind": "IntegerLiteral",
- "offset": 2302,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBSender.swift",
- "kind": "IntegerLiteral",
- "offset": 2322,
- "length": 3,
- "value": "492"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBSender.swift",
- "kind": "IntegerLiteral",
- "offset": 2464,
- "length": 1,
- "value": "1"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBSender.swift",
- "kind": "IntegerLiteral",
- "offset": 2633,
- "length": 1,
- "value": "1"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBSender.swift",
- "kind": "Array",
- "offset": 3623,
- "length": 2,
- "value": "[]"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryGps.swift",
- "kind": "Array",
- "offset": 222,
- "length": 2,
- "value": "[]"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryGps.swift",
- "kind": "Array",
- "offset": 304,
- "length": 2,
- "value": "[]"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryGps.swift",
- "kind": "IntegerLiteral",
- "offset": 337,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryGps.swift",
- "kind": "IntegerLiteral",
- "offset": 360,
- "length": 2,
- "value": "12"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryGps.swift",
- "kind": "IntegerLiteral",
- "offset": 397,
- "length": 2,
- "value": "11"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryGps.swift",
- "kind": "IntegerLiteral",
- "offset": 489,
- "length": 1,
- "value": "3"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryGps.swift",
- "kind": "IntegerLiteral",
- "offset": 531,
- "length": 1,
- "value": "4"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryGps.swift",
- "kind": "IntegerLiteral",
- "offset": 537,
- "length": 1,
- "value": "7"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryGps.swift",
- "kind": "IntegerLiteral",
- "offset": 579,
- "length": 1,
- "value": "8"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryGps.swift",
- "kind": "IntegerLiteral",
- "offset": 585,
- "length": 2,
- "value": "11"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryGps.swift",
- "kind": "IntegerLiteral",
- "offset": 816,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryGps.swift",
- "kind": "IntegerLiteral",
- "offset": 903,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryGps.swift",
- "kind": "IntegerLiteral",
- "offset": 990,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBurning.swift",
- "kind": "Array",
- "offset": 209,
- "length": 2,
- "value": "[]"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBurning.swift",
- "kind": "Array",
- "offset": 295,
- "length": 2,
- "value": "[]"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBurning.swift",
- "kind": "IntegerLiteral",
- "offset": 328,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBurning.swift",
- "kind": "IntegerLiteral",
- "offset": 351,
- "length": 1,
- "value": "6"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBurning.swift",
- "kind": "IntegerLiteral",
- "offset": 387,
- "length": 1,
- "value": "5"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBurning.swift",
- "kind": "IntegerLiteral",
- "offset": 482,
- "length": 1,
- "value": "3"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBurning.swift",
- "kind": "IntegerLiteral",
- "offset": 526,
- "length": 1,
- "value": "4"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBurning.swift",
- "kind": "IntegerLiteral",
- "offset": 532,
- "length": 1,
- "value": "5"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBurning.swift",
- "kind": "IntegerLiteral",
- "offset": 745,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBurning.swift",
- "kind": "IntegerLiteral",
- "offset": 796,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/CRC16.swift",
- "kind": "Array",
- "offset": 306,
- "length": 6,
- "value": "[0, 0]"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/CRC16.swift",
- "kind": "IntegerLiteral",
- "offset": 335,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/CRC16.swift",
- "kind": "IntegerLiteral",
- "offset": 339,
- "length": 1,
- "value": "2"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/CRC16.swift",
- "kind": "IntegerLiteral",
- "offset": 402,
- "length": 3,
- "value": "256"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/CRC16.swift",
- "kind": "IntegerLiteral",
- "offset": 432,
- "length": 1,
- "value": "8"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/CRC16.swift",
- "kind": "IntegerLiteral",
- "offset": 562,
- "length": 6,
- "value": "0xffff"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/CRC16.swift",
- "kind": "IntegerLiteral",
- "offset": 599,
- "length": 6,
- "value": "0xa001"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/CRC16.swift",
- "kind": "IntegerLiteral",
- "offset": 669,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/CRC16.swift",
- "kind": "IntegerLiteral",
- "offset": 743,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/CRC16.swift",
- "kind": "IntegerLiteral",
- "offset": 747,
- "length": 1,
- "value": "8"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/CRC16.swift",
- "kind": "IntegerLiteral",
- "offset": 780,
- "length": 6,
- "value": "0x0001"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/CRC16.swift",
- "kind": "IntegerLiteral",
- "offset": 791,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/CRC16.swift",
- "kind": "IntegerLiteral",
- "offset": 827,
- "length": 1,
- "value": "1"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/CRC16.swift",
- "kind": "IntegerLiteral",
- "offset": 924,
- "length": 1,
- "value": "1"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWater.swift",
- "kind": "IntegerLiteral",
- "offset": 258,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWater.swift",
- "kind": "IntegerLiteral",
- "offset": 352,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWater.swift",
- "kind": "IntegerLiteral",
- "offset": 422,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWater.swift",
- "kind": "IntegerLiteral",
- "offset": 503,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWater.swift",
- "kind": "IntegerLiteral",
- "offset": 514,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWater.swift",
- "kind": "IntegerLiteral",
- "offset": 639,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWater.swift",
- "kind": "IntegerLiteral",
- "offset": 650,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWater.swift",
- "kind": "StringLiteral",
- "offset": 852,
- "length": 177,
- "value": "\"IBWater(alertState: \""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWater.swift",
- "kind": "StringLiteral",
- "offset": 886,
- "length": 1,
- "value": "\", alertType:\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWater.swift",
- "kind": "StringLiteral",
- "offset": 910,
- "length": 1,
- "value": "\", drinkingValue:\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWater.swift",
- "kind": "StringLiteral",
- "offset": 942,
- "length": 1,
- "value": "\", start:\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWater.swift",
- "kind": "StringLiteral",
- "offset": 970,
- "length": 1,
- "value": "\", end:\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWater.swift",
- "kind": "StringLiteral",
- "offset": 994,
- "length": 1,
- "value": "\", frequency:\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWater.swift",
- "kind": "StringLiteral",
- "offset": 1027,
- "length": 1,
- "value": "\")\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWater.swift",
- "kind": "IntegerLiteral",
- "offset": 1122,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWater.swift",
- "kind": "IntegerLiteral",
- "offset": 1149,
- "length": 5,
- "value": "1"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWater.swift",
- "kind": "IntegerLiteral",
- "offset": 1180,
- "length": 5,
- "value": "2"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWater.swift",
- "kind": "IntegerLiteral",
- "offset": 1211,
- "length": 5,
- "value": "3"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWater.swift",
- "kind": "IntegerLiteral",
- "offset": 1247,
- "length": 4,
- "value": "4"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWater.swift",
- "kind": "IntegerLiteral",
- "offset": 1122,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWater.swift",
- "kind": "IntegerLiteral",
- "offset": 1149,
- "length": 5,
- "value": "1"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWater.swift",
- "kind": "IntegerLiteral",
- "offset": 1180,
- "length": 5,
- "value": "2"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWater.swift",
- "kind": "IntegerLiteral",
- "offset": 1211,
- "length": 5,
- "value": "3"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWater.swift",
- "kind": "IntegerLiteral",
- "offset": 1247,
- "length": 4,
- "value": "4"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWater.swift",
- "kind": "IntegerLiteral",
- "offset": 1122,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWater.swift",
- "kind": "IntegerLiteral",
- "offset": 1149,
- "length": 5,
- "value": "1"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWater.swift",
- "kind": "IntegerLiteral",
- "offset": 1180,
- "length": 5,
- "value": "2"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWater.swift",
- "kind": "IntegerLiteral",
- "offset": 1211,
- "length": 5,
- "value": "3"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWater.swift",
- "kind": "IntegerLiteral",
- "offset": 1247,
- "length": 4,
- "value": "4"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 249,
- "length": 3,
- "value": "0x0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "StringLiteral",
- "offset": 1649,
- "length": 81,
- "value": "\"[\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "StringLiteral",
- "offset": 1668,
- "length": 16,
- "value": "\"0x%02X, 0x%02X\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "StringLiteral",
- "offset": 1705,
- "length": 1,
- "value": "\"] \""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "StringLiteral",
- "offset": 1729,
- "length": 3,
- "value": "\"\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 1821,
- "length": 1,
- "value": "1"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 1858,
- "length": 1,
- "value": "2"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 2035,
- "length": 4,
- "value": "0x01"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 2082,
- "length": 4,
- "value": "0x02"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 2182,
- "length": 4,
- "value": "0x04"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 2226,
- "length": 4,
- "value": "0x05"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 2035,
- "length": 4,
- "value": "0x01"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 2082,
- "length": 4,
- "value": "0x02"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 2182,
- "length": 4,
- "value": "0x04"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 2226,
- "length": 4,
- "value": "0x05"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 2035,
- "length": 4,
- "value": "0x01"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 2082,
- "length": 4,
- "value": "0x02"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 2182,
- "length": 4,
- "value": "0x04"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 2226,
- "length": 4,
- "value": "0x05"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 2389,
- "length": 4,
- "value": "0x01"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 2530,
- "length": 4,
- "value": "0x03"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 2684,
- "length": 4,
- "value": "0x02"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 2884,
- "length": 4,
- "value": "0x1B"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 3108,
- "length": 4,
- "value": "0x17"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 3306,
- "length": 4,
- "value": "0x04"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 3537,
- "length": 4,
- "value": "0x08"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 3740,
- "length": 4,
- "value": "0x0A"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 3881,
- "length": 4,
- "value": "0x0B"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 4071,
- "length": 4,
- "value": "0x14"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 4305,
- "length": 4,
- "value": "0x16"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 4490,
- "length": 4,
- "value": "0x0E"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 4724,
- "length": 4,
- "value": "0x1E"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 4895,
- "length": 4,
- "value": "0x12"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 5134,
- "length": 4,
- "value": "0x1F"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 5311,
- "length": 4,
- "value": "0x13"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 5567,
- "length": 4,
- "value": "0x0F"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 5807,
- "length": 4,
- "value": "0x11"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 6123,
- "length": 4,
- "value": "0x15"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 6363,
- "length": 4,
- "value": "0x23"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 6506,
- "length": 4,
- "value": "0x25"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 6610,
- "length": 4,
- "value": "0x26"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 6710,
- "length": 4,
- "value": "0x27"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 6900,
- "length": 4,
- "value": "0x07"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 7093,
- "length": 4,
- "value": "0x01"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 7245,
- "length": 4,
- "value": "0x21"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 7459,
- "length": 4,
- "value": "0x2A"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 7747,
- "length": 4,
- "value": "0x0D"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 8079,
- "length": 4,
- "value": "0x19"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 8278,
- "length": 4,
- "value": "0x1A"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 8435,
- "length": 4,
- "value": "0x0E"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 8682,
- "length": 4,
- "value": "0x1C"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 8877,
- "length": 4,
- "value": "0x0F"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 9093,
- "length": 4,
- "value": "0x11"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 9330,
- "length": 4,
- "value": "0x1D"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 9541,
- "length": 4,
- "value": "0x2B"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 9711,
- "length": 4,
- "value": "0x16"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 9951,
- "length": 4,
- "value": "0x2C"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 10124,
- "length": 4,
- "value": "0x17"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 10347,
- "length": 4,
- "value": "0x29"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 10490,
- "length": 4,
- "value": "0x15"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 10767,
- "length": 4,
- "value": "0x24"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 10916,
- "length": 4,
- "value": "0x14"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 11147,
- "length": 4,
- "value": "0x28"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 11346,
- "length": 4,
- "value": "0x04"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 11794,
- "length": 4,
- "value": "0x40"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 12218,
- "length": 4,
- "value": "0x41"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 12629,
- "length": 4,
- "value": "0x43"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 13049,
- "length": 4,
- "value": "0x44"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 13459,
- "length": 4,
- "value": "0x45"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 13874,
- "length": 4,
- "value": "0x46"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 14290,
- "length": 4,
- "value": "0x47"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 14714,
- "length": 4,
- "value": "0x49"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 15122,
- "length": 4,
- "value": "0x4B"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 15406,
- "length": 4,
- "value": "0x4F"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 15564,
- "length": 4,
- "value": "0x2E"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 15742,
- "length": 4,
- "value": "0x05"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 16096,
- "length": 4,
- "value": "0x10"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 16291,
- "length": 4,
- "value": "0x02"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 16439,
- "length": 4,
- "value": "0x10"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 16565,
- "length": 4,
- "value": "0x2D"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 16726,
- "length": 4,
- "value": "0x20"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 16951,
- "length": 4,
- "value": "0x0B"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 17165,
- "length": 4,
- "value": "0x21"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 17579,
- "length": 4,
- "value": "0x22"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 17788,
- "length": 4,
- "value": "0x24"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 17978,
- "length": 4,
- "value": "0x23"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 18173,
- "length": 4,
- "value": "0x22"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 18407,
- "length": 4,
- "value": "0x22"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 18587,
- "length": 4,
- "value": "0x20"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 18774,
- "length": 4,
- "value": "0x28"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 18966,
- "length": 4,
- "value": "0x20"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 19267,
- "length": 4,
- "value": "0x21"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 19518,
- "length": 4,
- "value": "0x06"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 19753,
- "length": 4,
- "value": "0x05"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 20014,
- "length": 4,
- "value": "0x34"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
- "kind": "IntegerLiteral",
- "offset": 20196,
- "length": 4,
- "value": "0x1f"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBScreen.swift",
- "kind": "IntegerLiteral",
- "offset": 249,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBScreen.swift",
- "kind": "StringLiteral",
- "offset": 607,
- "length": 31,
- "value": "\"IBScreenConfig(type: \""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBScreen.swift",
- "kind": "StringLiteral",
- "offset": 636,
- "length": 1,
- "value": "\",\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBScreen.swift",
- "kind": "StringLiteral",
- "offset": 698,
- "length": 29,
- "value": "\"brightness: \""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBScreen.swift",
- "kind": "StringLiteral",
- "offset": 725,
- "length": 1,
- "value": "\")\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBScreen.swift",
- "kind": "StringLiteral",
- "offset": 794,
- "length": 24,
- "value": "\"duration: \""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBScreen.swift",
- "kind": "StringLiteral",
- "offset": 817,
- "length": 1,
- "value": "\"\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBScreen.swift",
- "kind": "StringLiteral",
- "offset": 879,
- "length": 19,
- "value": "\"wrist: \""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBScreen.swift",
- "kind": "StringLiteral",
- "offset": 896,
- "length": 1,
- "value": "\")\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBScreen.swift",
- "kind": "IntegerLiteral",
- "offset": 1035,
- "length": 2,
- "value": "10"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBScreen.swift",
- "kind": "IntegerLiteral",
- "offset": 1188,
- "length": 1,
- "value": "1"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBScreen.swift",
- "kind": "IntegerLiteral",
- "offset": 1273,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBScreen.swift",
- "kind": "IntegerLiteral",
- "offset": 1325,
- "length": 1,
- "value": "1"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBScreen.swift",
- "kind": "IntegerLiteral",
- "offset": 1366,
- "length": 1,
- "value": "2"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBScreen.swift",
- "kind": "StringLiteral",
- "offset": 1425,
- "length": 75,
- "value": "\"IBScreen(brightness: \""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBScreen.swift",
- "kind": "StringLiteral",
- "offset": 1460,
- "length": 1,
- "value": "\", duration:\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBScreen.swift",
- "kind": "StringLiteral",
- "offset": 1482,
- "length": 1,
- "value": "\", wrist:\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBScreen.swift",
- "kind": "StringLiteral",
- "offset": 1498,
- "length": 1,
- "value": "\")\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBScreen.swift",
- "kind": "IntegerLiteral",
- "offset": 1573,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBScreen.swift",
- "kind": "IntegerLiteral",
- "offset": 1599,
- "length": 8,
- "value": "1"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBScreen.swift",
- "kind": "IntegerLiteral",
- "offset": 1632,
- "length": 8,
- "value": "2"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBScreen.swift",
- "kind": "IntegerLiteral",
- "offset": 1665,
- "length": 8,
- "value": "3"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBScreen.swift",
- "kind": "IntegerLiteral",
- "offset": 1700,
- "length": 6,
- "value": "4"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBScreen.swift",
- "kind": "IntegerLiteral",
- "offset": 1733,
- "length": 7,
- "value": "5"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBScreen.swift",
- "kind": "IntegerLiteral",
- "offset": 1573,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBScreen.swift",
- "kind": "IntegerLiteral",
- "offset": 1599,
- "length": 8,
- "value": "1"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBScreen.swift",
- "kind": "IntegerLiteral",
- "offset": 1632,
- "length": 8,
- "value": "2"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBScreen.swift",
- "kind": "IntegerLiteral",
- "offset": 1665,
- "length": 8,
- "value": "3"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBScreen.swift",
- "kind": "IntegerLiteral",
- "offset": 1700,
- "length": 6,
- "value": "4"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBScreen.swift",
- "kind": "IntegerLiteral",
- "offset": 1733,
- "length": 7,
- "value": "5"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBScreen.swift",
- "kind": "IntegerLiteral",
- "offset": 1573,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBScreen.swift",
- "kind": "IntegerLiteral",
- "offset": 1599,
- "length": 8,
- "value": "1"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBScreen.swift",
- "kind": "IntegerLiteral",
- "offset": 1632,
- "length": 8,
- "value": "2"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBScreen.swift",
- "kind": "IntegerLiteral",
- "offset": 1665,
- "length": 8,
- "value": "3"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBScreen.swift",
- "kind": "IntegerLiteral",
- "offset": 1700,
- "length": 6,
- "value": "4"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBScreen.swift",
- "kind": "IntegerLiteral",
- "offset": 1733,
- "length": 7,
- "value": "5"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBSendTime.swift",
- "kind": "IntegerLiteral",
- "offset": 207,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBSendTime.swift",
- "kind": "IntegerLiteral",
- "offset": 264,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBSendTime.swift",
- "kind": "IntegerLiteral",
- "offset": 326,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBSendTime.swift",
- "kind": "IntegerLiteral",
- "offset": 369,
- "length": 1,
- "value": "1"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBSendTime.swift",
- "kind": "IntegerLiteral",
- "offset": 410,
- "length": 1,
- "value": "1"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBSendTime.swift",
- "kind": "IntegerLiteral",
- "offset": 452,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBSendTime.swift",
- "kind": "IntegerLiteral",
- "offset": 496,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBSendTime.swift",
- "kind": "IntegerLiteral",
- "offset": 540,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/IBTools.swift",
- "kind": "StringLiteral",
- "offset": 210,
- "length": 10,
- "value": "\"temp.pcm\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTargetStep.swift",
- "kind": "IntegerLiteral",
- "offset": 206,
- "length": 4,
- "value": "5000"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTargetStep.swift",
- "kind": "IntegerLiteral",
- "offset": 285,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTargetStep.swift",
- "kind": "IntegerLiteral",
- "offset": 364,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTargetStep.swift",
- "kind": "IntegerLiteral",
- "offset": 442,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTargetStep.swift",
- "kind": "IntegerLiteral",
- "offset": 503,
- "length": 1,
- "value": "7"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTargetStep.swift",
- "kind": "IntegerLiteral",
- "offset": 546,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTargetStep.swift",
- "kind": "IntegerLiteral",
- "offset": 550,
- "length": 1,
- "value": "3"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTargetStep.swift",
- "kind": "IntegerLiteral",
- "offset": 577,
- "length": 1,
- "value": "4"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTargetStep.swift",
- "kind": "IntegerLiteral",
- "offset": 607,
- "length": 1,
- "value": "5"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTargetStep.swift",
- "kind": "IntegerLiteral",
- "offset": 636,
- "length": 1,
- "value": "6"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTargetStep.swift",
- "kind": "StringLiteral",
- "offset": 700,
- "length": 84,
- "value": "\"IBTargetStep(value: \""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTargetStep.swift",
- "kind": "StringLiteral",
- "offset": 729,
- "length": 1,
- "value": "\", ring:\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTargetStep.swift",
- "kind": "StringLiteral",
- "offset": 743,
- "length": 1,
- "value": "\", vibrate: \""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTargetStep.swift",
- "kind": "StringLiteral",
- "offset": 764,
- "length": 1,
- "value": "\", notice:\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTargetStep.swift",
- "kind": "StringLiteral",
- "offset": 782,
- "length": 1,
- "value": "\")\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender.swift",
- "kind": "Array",
- "offset": 459,
- "length": 2,
- "value": "[]"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender.swift",
- "kind": "IntegerLiteral",
- "offset": 476,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender.swift",
- "kind": "IntegerLiteral",
- "offset": 547,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender.swift",
- "kind": "Array",
- "offset": 981,
- "length": 2,
- "value": "[]"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender.swift",
- "kind": "IntegerLiteral",
- "offset": 1004,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender.swift",
- "kind": "IntegerLiteral",
- "offset": 1028,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender.swift",
- "kind": "BooleanLiteral",
- "offset": 1061,
- "length": 5,
- "value": "false"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender.swift",
- "kind": "StringLiteral",
- "offset": 1204,
- "length": 21,
- "value": "\"deinit IBFileSender\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender.swift",
- "kind": "StringLiteral",
- "offset": 1342,
- "length": 26,
- "value": "\"手表接收文件成功\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender.swift",
- "kind": "StringLiteral",
- "offset": 1479,
- "length": 26,
- "value": "\"手表接收文件失败\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender.swift",
- "kind": "IntegerLiteral",
- "offset": 2708,
- "length": 3,
- "value": "495"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender.swift",
- "kind": "IntegerLiteral",
- "offset": 2778,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender.swift",
- "kind": "IntegerLiteral",
- "offset": 2899,
- "length": 1,
- "value": "1"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender.swift",
- "kind": "IntegerLiteral",
- "offset": 2999,
- "length": 1,
- "value": "1"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender.swift",
- "kind": "IntegerLiteral",
- "offset": 4292,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender.swift",
- "kind": "IntegerLiteral",
- "offset": 4316,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender.swift",
- "kind": "IntegerLiteral",
- "offset": 4333,
- "length": 1,
- "value": "1"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender.swift",
- "kind": "IntegerLiteral",
- "offset": 5116,
- "length": 1,
- "value": "1"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender.swift",
- "kind": "StringLiteral",
- "offset": 5172,
- "length": 35,
- "value": "\"当前有文件正在传输中...\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender.swift",
- "kind": "BooleanLiteral",
- "offset": 5528,
- "length": 4,
- "value": "true"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender.swift",
- "kind": "Array",
- "offset": 5829,
- "length": 2,
- "value": "[]"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender.swift",
- "kind": "FloatLiteral",
- "offset": 6073,
- "length": 4,
- "value": "10.0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender.swift",
- "kind": "BooleanLiteral",
- "offset": 6088,
- "length": 5,
- "value": "false"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender.swift",
- "kind": "StringLiteral",
- "offset": 6211,
- "length": 20,
- "value": "\"发送文件失败\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender.swift",
- "kind": "StringLiteral",
- "offset": 6290,
- "length": 29,
- "value": "\"IBFileSender创建定时器\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender.swift",
- "kind": "StringLiteral",
- "offset": 6492,
- "length": 29,
- "value": "\"IBFileSender销毁定时器\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWatchInfo.swift",
- "kind": "IntegerLiteral",
- "offset": 198,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWatchInfo.swift",
- "kind": "IntegerLiteral",
- "offset": 227,
- "length": 1,
- "value": "1"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWatchInfo.swift",
- "kind": "IntegerLiteral",
- "offset": 231,
- "length": 1,
- "value": "2"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWatchInfo.swift",
- "kind": "IntegerLiteral",
- "offset": 269,
- "length": 1,
- "value": "3"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWatchInfo.swift",
- "kind": "IntegerLiteral",
- "offset": 273,
- "length": 1,
- "value": "5"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWatchInfo.swift",
- "kind": "StringLiteral",
- "offset": 291,
- "length": 4,
- "value": "\"%d\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWatchInfo.swift",
- "kind": "StringLiteral",
- "offset": 297,
- "length": 3,
- "value": "\".\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWatchInfo.swift",
- "kind": "IntegerLiteral",
- "offset": 328,
- "length": 1,
- "value": "6"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWatchInfo.swift",
- "kind": "IntegerLiteral",
- "offset": 332,
- "length": 2,
- "value": "11"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWatchInfo.swift",
- "kind": "StringLiteral",
- "offset": 343,
- "length": 3,
- "value": "\":\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWatchInfo.swift",
- "kind": "IntegerLiteral",
- "offset": 375,
- "length": 2,
- "value": "12"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWatchInfo.swift",
- "kind": "IntegerLiteral",
- "offset": 404,
- "length": 2,
- "value": "13"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWatchInfo.swift",
- "kind": "IntegerLiteral",
- "offset": 438,
- "length": 2,
- "value": "14"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWatchInfo.swift",
- "kind": "IntegerLiteral",
- "offset": 471,
- "length": 2,
- "value": "15"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWatchInfo.swift",
- "kind": "IntegerLiteral",
- "offset": 510,
- "length": 2,
- "value": "16"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWatchInfo.swift",
- "kind": "IntegerLiteral",
- "offset": 515,
- "length": 2,
- "value": "17"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWatchInfo.swift",
- "kind": "StringLiteral",
- "offset": 534,
- "length": 4,
- "value": "\"%d\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWatchInfo.swift",
- "kind": "StringLiteral",
- "offset": 540,
- "length": 3,
- "value": "\".\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWatchInfo.swift",
- "kind": "IntegerLiteral",
- "offset": 577,
- "length": 2,
- "value": "18"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWatchInfo.swift",
- "kind": "IntegerLiteral",
- "offset": 582,
- "length": 2,
- "value": "19"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWatchInfo.swift",
- "kind": "StringLiteral",
- "offset": 601,
- "length": 4,
- "value": "\"%d\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWatchInfo.swift",
- "kind": "StringLiteral",
- "offset": 607,
- "length": 3,
- "value": "\".\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/IBPeripheralUUID.swift",
- "kind": "BooleanLiteral",
- "offset": 413,
- "length": 5,
- "value": "false"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryCalorie.swift",
- "kind": "Array",
- "offset": 212,
- "length": 2,
- "value": "[]"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryCalorie.swift",
- "kind": "Array",
- "offset": 298,
- "length": 2,
- "value": "[]"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryCalorie.swift",
- "kind": "IntegerLiteral",
- "offset": 331,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryCalorie.swift",
- "kind": "IntegerLiteral",
- "offset": 354,
- "length": 1,
- "value": "8"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryCalorie.swift",
- "kind": "IntegerLiteral",
- "offset": 390,
- "length": 1,
- "value": "7"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryCalorie.swift",
- "kind": "IntegerLiteral",
- "offset": 485,
- "length": 1,
- "value": "3"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryCalorie.swift",
- "kind": "IntegerLiteral",
- "offset": 529,
- "length": 1,
- "value": "4"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryCalorie.swift",
- "kind": "IntegerLiteral",
- "offset": 535,
- "length": 1,
- "value": "7"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryCalorie.swift",
- "kind": "IntegerLiteral",
- "offset": 753,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryCalorie.swift",
- "kind": "IntegerLiteral",
- "offset": 804,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBMp3.swift",
- "kind": "StringLiteral",
- "offset": 210,
- "length": 2,
- "value": "\"\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBMp3.swift",
- "kind": "StringLiteral",
- "offset": 264,
- "length": 2,
- "value": "\"\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBMp3.swift",
- "kind": "IntegerLiteral",
- "offset": 330,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBMp3.swift",
- "kind": "StringLiteral",
- "offset": 461,
- "length": 2,
- "value": "\"\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBMp3.swift",
- "kind": "IntegerLiteral",
- "offset": 515,
- "length": 1,
- "value": "2"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBMp3.swift",
- "kind": "IntegerLiteral",
- "offset": 571,
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryStand.swift",
+ "kind": "IntegerLiteral",
+ "offset": 683,
"length": 1,
"value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBManager.swift",
- "kind": "StringLiteral",
- "offset": 897,
- "length": 8,
- "value": "\"1.0.23\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBManager.swift",
- "kind": "BooleanLiteral",
- "offset": 961,
- "length": 5,
- "value": "false"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
- "kind": "StringLiteral",
- "offset": 221,
- "length": 2,
- "value": "\"\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
- "kind": "BooleanLiteral",
- "offset": 273,
- "length": 4,
- "value": "true"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
- "kind": "Array",
- "offset": 451,
- "length": 43,
- "value": "[\"文心一言\", \"ChatGPT\", \"KIMI\", \":豆包\"]"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
- "kind": "StringLiteral",
- "offset": 514,
- "length": 29,
- "value": "\"询问模型是否可用:\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
- "kind": "BooleanLiteral",
- "offset": 612,
- "length": 4,
- "value": "true"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
- "kind": "IntegerLiteral",
- "offset": 636,
- "length": 1,
- "value": "1"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
- "kind": "StringLiteral",
- "offset": 664,
- "length": 58,
- "value": "\"sk-proj-04ogvrZQqyaiv1OWw8OZT3BlbkFJG9Gyr8oFvRdmr3oXQNbX\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
- "kind": "Array",
- "offset": 1043,
- "length": 43,
- "value": "[\"文心一言\", \"ChatGPT\", \"KIMI\", \":豆包\"]"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
- "kind": "StringLiteral",
- "offset": 1106,
- "length": 17,
- "value": "\"使用模型:\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
- "kind": "IntegerLiteral",
- "offset": 1227,
- "length": 1,
- "value": "1"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
- "kind": "StringLiteral",
- "offset": 1398,
- "length": 2,
- "value": "\"\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBVibrateSound.swift",
"kind": "IntegerLiteral",
- "offset": 1420,
+ "offset": 277,
"length": 1,
"value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBVibrateSound.swift",
"kind": "IntegerLiteral",
- "offset": 1488,
+ "offset": 1024,
"length": 1,
- "value": "1"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
- "kind": "StringLiteral",
- "offset": 1542,
- "length": 58,
- "value": "\"sk-proj-04ogvrZQqyaiv1OWw8OZT3BlbkFJG9Gyr8oFvRdmr3oXQNbX\""
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBVibrateSound.swift",
"kind": "IntegerLiteral",
- "offset": 1743,
+ "offset": 1096,
"length": 1,
- "value": "2"
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBVibrateSound.swift",
"kind": "IntegerLiteral",
- "offset": 1810,
+ "offset": 1168,
"length": 1,
- "value": "3"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
- "kind": "Array",
- "offset": 2028,
- "length": 2,
- "value": "[]"
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBVibrateSound.swift",
"kind": "IntegerLiteral",
- "offset": 2407,
+ "offset": 1247,
"length": 1,
"value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBVibrateSound.swift",
"kind": "IntegerLiteral",
- "offset": 2648,
+ "offset": 1355,
"length": 1,
"value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
- "kind": "StringLiteral",
- "offset": 2674,
- "length": 15,
- "value": "\"sbc2pcm失败\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBAddressBook.swift",
"kind": "IntegerLiteral",
- "offset": 2755,
+ "offset": 237,
"length": 1,
"value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
- "kind": "StringLiteral",
- "offset": 2967,
- "length": 5,
- "value": "\"pcm\""
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBAddressBook.swift",
+ "kind": "Array",
+ "offset": 462,
+ "length": 2,
+ "value": "[]"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBAddressBook.swift",
"kind": "StringLiteral",
- "offset": 2985,
- "length": 7,
- "value": "\"16000\""
+ "offset": 1545,
+ "length": 2,
+ "value": "\"\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
"kind": "StringLiteral",
- "offset": 2999,
- "length": 7,
- "value": "\"zh-cn\""
+ "offset": 146,
+ "length": 8,
+ "value": "\"dialID\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
- "kind": "IntegerLiteral",
- "offset": 3128,
- "length": 1,
- "value": "0"
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "StringLiteral",
+ "offset": 173,
+ "length": 8,
+ "value": "\"action\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
- "kind": "IntegerLiteral",
- "offset": 3236,
- "length": 1,
- "value": "1"
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "StringLiteral",
+ "offset": 204,
+ "length": 12,
+ "value": "\"motionMode\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
"kind": "StringLiteral",
- "offset": 3453,
- "length": 2,
- "value": "\"\""
+ "offset": 237,
+ "length": 10,
+ "value": "\"language\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
- "kind": "IntegerLiteral",
- "offset": 3529,
- "length": 1,
- "value": "0"
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "StringLiteral",
+ "offset": 265,
+ "length": 7,
+ "value": "\"value\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
"kind": "StringLiteral",
- "offset": 3787,
- "length": 40,
- "value": "\"\""
+ "offset": 289,
+ "length": 6,
+ "value": "\"file\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
"kind": "StringLiteral",
- "offset": 3801,
- "length": 1,
- "value": "\" : \""
+ "offset": 318,
+ "length": 12,
+ "value": "\"targetStep\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
"kind": "StringLiteral",
- "offset": 3823,
- "length": 2,
- "value": "\"\""
+ "offset": 348,
+ "length": 7,
+ "value": "\"sleep\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
"kind": "StringLiteral",
- "offset": 3826,
- "length": 2,
- "value": "\"\""
+ "offset": 373,
+ "length": 7,
+ "value": "\"water\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
"kind": "StringLiteral",
- "offset": 3871,
+ "offset": 398,
"length": 7,
- "value": "\"start\""
+ "value": "\"clock\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
"kind": "StringLiteral",
- "offset": 3905,
- "length": 2,
- "value": "\"\""
+ "offset": 427,
+ "length": 11,
+ "value": "\"heartRate\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
"kind": "StringLiteral",
- "offset": 3956,
- "length": 5,
- "value": "\"end\""
+ "offset": 462,
+ "length": 13,
+ "value": "\"bloodOxygen\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
"kind": "StringLiteral",
- "offset": 4170,
+ "offset": 494,
"length": 8,
- "value": "\"middle\""
+ "value": "\"screen\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
- "kind": "IntegerLiteral",
- "offset": 4297,
- "length": 1,
- "value": "2"
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "StringLiteral",
+ "offset": 527,
+ "length": 14,
+ "value": "\"vibrateSound\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
"kind": "StringLiteral",
- "offset": 4345,
- "length": 2,
- "value": "\"\""
+ "offset": 565,
+ "length": 13,
+ "value": "\"otherTarget\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
- "kind": "BooleanLiteral",
- "offset": 4742,
- "length": 4,
- "value": "true"
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "StringLiteral",
+ "offset": 602,
+ "length": 13,
+ "value": "\"trainTarget\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
"kind": "StringLiteral",
- "offset": 4765,
- "length": 32,
- "value": "\"aWGKrBWaijsKD5eEsVVU5rjWPI1sVy\""
+ "offset": 637,
+ "length": 11,
+ "value": "\"sendPhone\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
- "kind": "BooleanLiteral",
- "offset": 4936,
- "length": 4,
- "value": "true"
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "StringLiteral",
+ "offset": 669,
+ "length": 10,
+ "value": "\"sendTime\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
"kind": "StringLiteral",
- "offset": 4964,
- "length": 14,
- "value": "\"281106AFB0F7\""
+ "offset": 701,
+ "length": 11,
+ "value": "\"auxiliary\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
"kind": "StringLiteral",
- "offset": 5004,
- "length": 34,
- "value": "\"HHosiYUNdG42t1cTgKOzIUPOvAVMI2QT\""
+ "offset": 733,
+ "length": 10,
+ "value": "\"userInfo\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
- "kind": "IntegerLiteral",
- "offset": 5277,
- "length": 5,
- "value": "50021"
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "StringLiteral",
+ "offset": 763,
+ "length": 9,
+ "value": "\"weather\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
"kind": "StringLiteral",
- "offset": 5564,
- "length": 2,
- "value": "\"\""
+ "offset": 796,
+ "length": 13,
+ "value": "\"addressBook\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
"kind": "StringLiteral",
- "offset": 5655,
- "length": 14,
- "value": "\"281106AFB0F7\""
+ "offset": 825,
+ "length": 5,
+ "value": "\"epo\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
"kind": "StringLiteral",
- "offset": 5694,
- "length": 22,
- "value": "\"pafOCKLiUbeVHbdZlddH\""
+ "offset": 846,
+ "length": 5,
+ "value": "\"ota\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
"kind": "StringLiteral",
- "offset": 5742,
- "length": 34,
- "value": "\"HHosiYUNdG42t1cTgKOzIUPOvAVMI2QT\""
+ "offset": 867,
+ "length": 5,
+ "value": "\"mp3\""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "StringLiteral",
+ "offset": 889,
+ "length": 6,
+ "value": "\"dial\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender+Ota.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
"kind": "StringLiteral",
- "offset": 987,
- "length": 20,
- "value": "\"读取文件失败\""
+ "offset": 916,
+ "length": 10,
+ "value": "\"dialFile\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender+Ota.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
"kind": "StringLiteral",
- "offset": 1134,
- "length": 17,
- "value": "\"已取消发送\""
+ "offset": 949,
+ "length": 12,
+ "value": "\"deleteFile\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender+Ota.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
"kind": "StringLiteral",
- "offset": 1714,
- "length": 23,
- "value": "\"\""
+ "offset": 983,
+ "length": 11,
+ "value": "\"fetchFils\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender+Ota.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
"kind": "StringLiteral",
- "offset": 1723,
- "length": 1,
- "value": "\" : \""
+ "offset": 1014,
+ "length": 9,
+ "value": "\"aiValid\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender+Ota.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
"kind": "StringLiteral",
- "offset": 1736,
- "length": 2,
- "value": "\"\""
+ "offset": 1046,
+ "length": 12,
+ "value": "\"aiResponse\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender+Ota.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
"kind": "StringLiteral",
- "offset": 1945,
- "length": 38,
- "value": "\"发送文件超时,发送失败!\""
+ "offset": 1087,
+ "length": 13,
+ "value": "\"setPassword\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender+Ota.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
"kind": "StringLiteral",
- "offset": 2186,
- "length": 29,
- "value": "\"文件内容发送结束...\""
+ "offset": 1120,
+ "length": 15,
+ "value": "\"setPushConfig\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender+Ota.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
"kind": "StringLiteral",
- "offset": 2704,
- "length": 29,
- "value": "\"发送文件校验码失败\""
+ "offset": 1161,
+ "length": 15,
+ "value": "\"setSosContact\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBPhoneInfo.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
"kind": "StringLiteral",
- "offset": 212,
- "length": 8,
- "value": "\"iphone\""
+ "offset": 1201,
+ "length": 14,
+ "value": "\"sendSchedule\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBPhoneInfo.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
"kind": "IntegerLiteral",
- "offset": 291,
+ "offset": 4889,
"length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 4915,
+ "length": 7,
"value": "1"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBPhoneInfo.swift",
- "kind": "StringLiteral",
- "offset": 479,
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 4947,
"length": 4,
- "value": "\"pn\""
+ "value": "2"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBPhoneInfo.swift",
- "kind": "StringLiteral",
- "offset": 504,
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 5024,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 5054,
+ "length": 3,
+ "value": "2"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 5088,
"length": 4,
- "value": "\"tp\""
+ "value": "3"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBPhoneInfo.swift",
- "kind": "StringLiteral",
- "offset": 528,
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 5118,
+ "length": 6,
+ "value": "4"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 5145,
+ "length": 3,
+ "value": "5"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 5446,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 5472,
"length": 5,
- "value": "\"mac\""
+ "value": "1"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBPhoneInfo.swift",
- "kind": "StringLiteral",
- "offset": 479,
- "length": 4,
- "value": "\"pn\""
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 5508,
+ "length": 11,
+ "value": "2"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBPhoneInfo.swift",
- "kind": "StringLiteral",
- "offset": 504,
- "length": 4,
- "value": "\"tp\""
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 5544,
+ "length": 5,
+ "value": "3"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBPhoneInfo.swift",
- "kind": "StringLiteral",
- "offset": 528,
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 5580,
+ "length": 11,
+ "value": "4"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 5619,
+ "length": 7,
+ "value": "5"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 5651,
+ "length": 7,
+ "value": "6"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 5683,
"length": 5,
- "value": "\"mac\""
+ "value": "7"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 5713,
+ "length": 6,
+ "value": "8"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 5744,
+ "length": 6,
+ "value": "9"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 5775,
+ "length": 11,
+ "value": "10"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 5814,
+ "length": 5,
+ "value": "11"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 5844,
+ "length": 5,
+ "value": "12"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 5874,
+ "length": 9,
+ "value": "13"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 5908,
+ "length": 5,
+ "value": "14"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 5938,
+ "length": 7,
+ "value": "15"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBPairling.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBOtherTarget.swift",
"kind": "IntegerLiteral",
- "offset": 190,
+ "offset": 228,
"length": 1,
- "value": "1"
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBPairling.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBOtherTarget.swift",
"kind": "IntegerLiteral",
- "offset": 196,
- "length": 4,
- "value": "0x05"
+ "offset": 296,
+ "length": 1,
+ "value": "1"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBPairling.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBOtherTarget.swift",
"kind": "IntegerLiteral",
- "offset": 215,
+ "offset": 365,
"length": 1,
- "value": "2"
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBPairling.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBOtherTarget.swift",
"kind": "IntegerLiteral",
- "offset": 221,
- "length": 4,
- "value": "0x11"
+ "offset": 439,
+ "length": 1,
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBPairling.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBOtherTarget.swift",
"kind": "IntegerLiteral",
- "offset": 316,
+ "offset": 517,
"length": 1,
"value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBPairling.swift",
- "kind": "Array",
- "offset": 346,
- "length": 67,
- "value": "[\"拒绝配对\", \"确认配对\", \"确认解绑其他手机\", \"其他\"]"
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBOtherTarget.swift",
+ "kind": "IntegerLiteral",
+ "offset": 597,
+ "length": 1,
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBPairling.swift",
- "kind": "StringLiteral",
- "offset": 437,
- "length": 29,
- "value": "\"收到确认配对消息:\""
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBOtherTarget.swift",
+ "kind": "IntegerLiteral",
+ "offset": 676,
+ "length": 1,
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBPairling.swift",
- "kind": "BooleanLiteral",
- "offset": 498,
- "length": 4,
- "value": "true"
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBAbout.swift",
+ "kind": "IntegerLiteral",
+ "offset": 259,
+ "length": 1,
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBPairling.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBAbout.swift",
"kind": "IntegerLiteral",
- "offset": 535,
+ "offset": 316,
"length": 1,
"value": "1"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBPairling.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBAbout.swift",
"kind": "IntegerLiteral",
- "offset": 541,
- "length": 4,
- "value": "0x05"
+ "offset": 372,
+ "length": 1,
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBPairling.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBAbout.swift",
"kind": "IntegerLiteral",
- "offset": 560,
+ "offset": 430,
"length": 1,
- "value": "2"
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBAbout.swift",
+ "kind": "StringLiteral",
+ "offset": 487,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryDistance.swift",
+ "kind": "Array",
+ "offset": 221,
+ "length": 2,
+ "value": "[]"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBPairling.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryDistance.swift",
"kind": "IntegerLiteral",
- "offset": 566,
- "length": 3,
- "value": "0x1"
+ "offset": 762,
+ "length": 1,
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBPairling.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryDistance.swift",
"kind": "IntegerLiteral",
- "offset": 681,
+ "offset": 811,
"length": 1,
"value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBPairling.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
"kind": "Array",
- "offset": 711,
- "length": 31,
- "value": "[\"拒绝解绑\", \"确认解绑\"]"
+ "offset": 256,
+ "length": 2,
+ "value": "[]"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBPairling.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
"kind": "StringLiteral",
- "offset": 766,
- "length": 27,
- "value": "\"收到确认解绑消息 \""
+ "offset": 325,
+ "length": 6,
+ "value": "\"recs\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBPairling.swift",
- "kind": "BooleanLiteral",
- "offset": 825,
- "length": 4,
- "value": "true"
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
+ "kind": "IntegerLiteral",
+ "offset": 506,
+ "length": 1,
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBPairling.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
"kind": "IntegerLiteral",
- "offset": 862,
+ "offset": 890,
"length": 1,
- "value": "1"
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBPairling.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
"kind": "IntegerLiteral",
- "offset": 868,
- "length": 4,
- "value": "0x05"
+ "offset": 966,
+ "length": 1,
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBPairling.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
"kind": "IntegerLiteral",
- "offset": 887,
+ "offset": 1042,
"length": 1,
- "value": "2"
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBPairling.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
"kind": "IntegerLiteral",
- "offset": 893,
- "length": 4,
- "value": "0x10"
+ "offset": 1158,
+ "length": 1,
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBPairling.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
"kind": "IntegerLiteral",
- "offset": 1015,
+ "offset": 1310,
"length": 1,
"value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBPairling.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
"kind": "IntegerLiteral",
- "offset": 1045,
+ "offset": 1382,
"length": 1,
- "value": "1"
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1456,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1673,
+ "length": 1,
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBPairling.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
"kind": "StringLiteral",
- "offset": 1148,
- "length": 17,
- "value": "\"IOTBletooth.mac\""
+ "offset": 2103,
+ "length": 5,
+ "value": "\"src\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBPairling.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
"kind": "StringLiteral",
- "offset": 1263,
- "length": 26,
- "value": "\"收到配对成功消息\""
+ "offset": 2134,
+ "length": 4,
+ "value": "\"bt\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBPairling.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
"kind": "StringLiteral",
- "offset": 1425,
- "length": 26,
- "value": "\"收到配对失败消息\""
+ "offset": 2167,
+ "length": 4,
+ "value": "\"ty\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBPairling.swift",
- "kind": "BooleanLiteral",
- "offset": 1496,
- "length": 5,
- "value": "false"
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
+ "kind": "StringLiteral",
+ "offset": 2192,
+ "length": 4,
+ "value": "\"st\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBPairling.swift",
- "kind": "BooleanLiteral",
- "offset": 1597,
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
+ "kind": "StringLiteral",
+ "offset": 2217,
"length": 4,
- "value": "true"
+ "value": "\"sp\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBPairling.swift",
- "kind": "BooleanLiteral",
- "offset": 1627,
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
+ "kind": "StringLiteral",
+ "offset": 2248,
"length": 5,
- "value": "false"
+ "value": "\"tgt\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBPairling.swift",
- "kind": "IntegerLiteral",
- "offset": 1830,
- "length": 1,
- "value": "1"
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
+ "kind": "StringLiteral",
+ "offset": 2276,
+ "length": 4,
+ "value": "\"tg\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBPairling.swift",
- "kind": "IntegerLiteral",
- "offset": 1865,
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
+ "kind": "StringLiteral",
+ "offset": 2305,
"length": 4,
- "value": "2000"
+ "value": "\"pg\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBPairling.swift",
- "kind": "BooleanLiteral",
- "offset": 2258,
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
+ "kind": "StringLiteral",
+ "offset": 2334,
"length": 4,
- "value": "true"
+ "value": "\"du\""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
+ "kind": "StringLiteral",
+ "offset": 2362,
+ "length": 4,
+ "value": "\"ca\""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
+ "kind": "StringLiteral",
+ "offset": 2391,
+ "length": 4,
+ "value": "\"dl\""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
+ "kind": "StringLiteral",
+ "offset": 2421,
+ "length": 4,
+ "value": "\"hr\""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
+ "kind": "StringLiteral",
+ "offset": 2446,
+ "length": 5,
+ "value": "\"stp\""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
+ "kind": "StringLiteral",
+ "offset": 2481,
+ "length": 4,
+ "value": "\"tl\""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
+ "kind": "StringLiteral",
+ "offset": 2508,
+ "length": 5,
+ "value": "\"cir\""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
+ "kind": "StringLiteral",
+ "offset": 2539,
+ "length": 5,
+ "value": "\"alt\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBDeleteFile.swift",
"kind": "Array",
- "offset": 203,
+ "offset": 332,
"length": 2,
"value": "[]"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTarinState.swift",
+ "kind": "IntegerLiteral",
+ "offset": 250,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTarinState.swift",
"kind": "IntegerLiteral",
- "offset": 265,
+ "offset": 316,
"length": 1,
"value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
- "kind": "Array",
- "offset": 345,
- "length": 2,
- "value": "[]"
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBAiValid.swift",
+ "kind": "BooleanLiteral",
+ "offset": 233,
+ "length": 4,
+ "value": "true"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBUserInfo.swift",
"kind": "IntegerLiteral",
- "offset": 373,
+ "offset": 191,
"length": 1,
"value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBUserInfo.swift",
"kind": "IntegerLiteral",
- "offset": 429,
+ "offset": 259,
"length": 1,
- "value": "1"
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBUserInfo.swift",
"kind": "IntegerLiteral",
- "offset": 469,
+ "offset": 317,
"length": 1,
"value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBUserInfo.swift",
"kind": "IntegerLiteral",
- "offset": 488,
+ "offset": 375,
"length": 1,
"value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBUserInfo.swift",
"kind": "IntegerLiteral",
- "offset": 543,
+ "offset": 425,
"length": 1,
- "value": "1"
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBUserInfo.swift",
"kind": "IntegerLiteral",
- "offset": 599,
+ "offset": 499,
"length": 1,
- "value": "1"
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBUserInfo.swift",
"kind": "IntegerLiteral",
- "offset": 712,
+ "offset": 556,
"length": 1,
- "value": "2"
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBUserInfo.swift",
"kind": "IntegerLiteral",
- "offset": 724,
+ "offset": 635,
"length": 1,
- "value": "1"
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
- "kind": "IntegerLiteral",
- "offset": 844,
- "length": 1,
- "value": "0"
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryHeartRate.swift",
+ "kind": "Array",
+ "offset": 215,
+ "length": 2,
+ "value": "[]"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryHeartRate.swift",
"kind": "IntegerLiteral",
- "offset": 892,
+ "offset": 751,
"length": 1,
- "value": "1"
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryHeartRate.swift",
"kind": "IntegerLiteral",
- "offset": 945,
+ "offset": 796,
"length": 1,
- "value": "2"
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
- "kind": "IntegerLiteral",
- "offset": 949,
- "length": 1,
- "value": "5"
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBloodOxygen.swift",
+ "kind": "Array",
+ "offset": 220,
+ "length": 2,
+ "value": "[]"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBloodOxygen.swift",
"kind": "IntegerLiteral",
- "offset": 1000,
+ "offset": 762,
"length": 1,
- "value": "6"
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBloodOxygen.swift",
"kind": "IntegerLiteral",
- "offset": 1004,
+ "offset": 817,
"length": 1,
- "value": "9"
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
- "kind": "IntegerLiteral",
- "offset": 1076,
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
+ "kind": "Array",
+ "offset": 397,
"length": 2,
- "value": "10"
+ "value": "[]"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
- "kind": "IntegerLiteral",
- "offset": 1102,
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
+ "kind": "Array",
+ "offset": 589,
"length": 2,
- "value": "11"
+ "value": "[]"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
- "kind": "IntegerLiteral",
- "offset": 1147,
- "length": 1,
- "value": "1"
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
+ "kind": "Dictionary",
+ "offset": 3015,
+ "length": 3,
+ "value": "[]"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
- "kind": "IntegerLiteral",
- "offset": 1219,
- "length": 2,
- "value": "12"
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
+ "kind": "StringLiteral",
+ "offset": 4640,
+ "length": 36,
+ "value": "\"IOTBluetooth.ConnectStateDidChange\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
- "kind": "IntegerLiteral",
- "offset": 1245,
- "length": 2,
- "value": "13"
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
+ "kind": "StringLiteral",
+ "offset": 4810,
+ "length": 24,
+ "value": "\"IOTBluetooth.TakePhoto\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
- "kind": "IntegerLiteral",
- "offset": 1323,
- "length": 2,
- "value": "14"
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
+ "kind": "StringLiteral",
+ "offset": 4913,
+ "length": 22,
+ "value": "\"IOTBluetooth.weather\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
- "kind": "IntegerLiteral",
- "offset": 1349,
- "length": 2,
- "value": "15"
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
+ "kind": "StringLiteral",
+ "offset": 5008,
+ "length": 25,
+ "value": "\"IOTBluetooth.FindDevice\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
- "kind": "IntegerLiteral",
- "offset": 1425,
- "length": 2,
- "value": "16"
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
+ "kind": "StringLiteral",
+ "offset": 5162,
+ "length": 32,
+ "value": "\"IOTBluetooth.TrainStateChanged\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
- "kind": "IntegerLiteral",
- "offset": 1451,
- "length": 2,
- "value": "17"
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
+ "kind": "StringLiteral",
+ "offset": 5338,
+ "length": 27,
+ "value": "\"IOTBluetooth.TrainingData\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
- "kind": "IntegerLiteral",
- "offset": 1524,
- "length": 2,
- "value": "18"
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
+ "kind": "StringLiteral",
+ "offset": 5473,
+ "length": 32,
+ "value": "\"IOTBluetooth.TileReceiveFinish\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBPassword.swift",
"kind": "IntegerLiteral",
- "offset": 1550,
+ "offset": 211,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBPassword.swift",
+ "kind": "StringLiteral",
+ "offset": 263,
"length": 2,
- "value": "19"
+ "value": "\"\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Any.swift",
"kind": "IntegerLiteral",
- "offset": 1623,
- "length": 2,
- "value": "20"
+ "offset": 1396,
+ "length": 10,
+ "value": "0b11111111"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
- "kind": "Array",
- "offset": 1676,
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Any.swift",
+ "kind": "StringLiteral",
+ "offset": 3394,
+ "length": 6,
+ "value": "\"%02x\""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Any.swift",
+ "kind": "StringLiteral",
+ "offset": 3424,
"length": 2,
- "value": "[]"
+ "value": "\"\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
- "kind": "IntegerLiteral",
- "offset": 1738,
- "length": 1,
- "value": "5"
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Any.swift",
+ "kind": "StringLiteral",
+ "offset": 3595,
+ "length": 6,
+ "value": "\"%02x\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
- "kind": "IntegerLiteral",
- "offset": 1829,
- "length": 1,
- "value": "3"
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Any.swift",
+ "kind": "StringLiteral",
+ "offset": 3625,
+ "length": 2,
+ "value": "\"\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBCode.swift",
"kind": "IntegerLiteral",
- "offset": 1862,
- "length": 1,
- "value": "4"
+ "offset": 311,
+ "length": 4,
+ "value": "1000"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBCode.swift",
"kind": "IntegerLiteral",
- "offset": 1967,
- "length": 1,
- "value": "5"
+ "offset": 356,
+ "length": 4,
+ "value": "1001"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBCode.swift",
"kind": "IntegerLiteral",
- "offset": 2148,
- "length": 1,
- "value": "2"
+ "offset": 406,
+ "length": 4,
+ "value": "1002"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBCode.swift",
"kind": "IntegerLiteral",
- "offset": 2352,
- "length": 1,
- "value": "0"
+ "offset": 454,
+ "length": 4,
+ "value": "1003"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBCode.swift",
"kind": "IntegerLiteral",
- "offset": 2464,
- "length": 1,
- "value": "0"
+ "offset": 499,
+ "length": 4,
+ "value": "1004"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBCode.swift",
"kind": "IntegerLiteral",
- "offset": 2538,
- "length": 1,
- "value": "0"
+ "offset": 543,
+ "length": 4,
+ "value": "1005"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBFetchFile.swift",
"kind": "IntegerLiteral",
- "offset": 2610,
+ "offset": 1880,
"length": 1,
"value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
- "kind": "IntegerLiteral",
- "offset": 2689,
- "length": 1,
- "value": "0"
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBFetchFile.swift",
+ "kind": "StringLiteral",
+ "offset": 1925,
+ "length": 2,
+ "value": "\"\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBFetchFile.swift",
"kind": "IntegerLiteral",
- "offset": 2700,
+ "offset": 1981,
"length": 1,
"value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
- "kind": "StringLiteral",
- "offset": 3309,
- "length": 45,
- "value": "\"IBSleepTime(hour: \""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
- "kind": "StringLiteral",
- "offset": 3335,
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBFetchFile.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2146,
"length": 1,
- "value": "\", minute:\""
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBFetchFile.swift",
"kind": "StringLiteral",
- "offset": 3353,
- "length": 1,
+ "offset": 2191,
+ "length": 2,
"value": "\"\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBFetchFile.swift",
"kind": "IntegerLiteral",
- "offset": 3460,
+ "offset": 2247,
"length": 1,
"value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
- "kind": "IntegerLiteral",
- "offset": 3843,
- "length": 1,
- "value": "0"
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBFetchFile.swift",
+ "kind": "StringLiteral",
+ "offset": 2288,
+ "length": 2,
+ "value": "\"\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBAiResponse.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBFetchFile.swift",
"kind": "IntegerLiteral",
- "offset": 318,
+ "offset": 2350,
"length": 1,
"value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBAiResponse.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainTarget.swift",
"kind": "StringLiteral",
- "offset": 367,
- "length": 2,
- "value": "\"\""
+ "offset": 605,
+ "length": 4,
+ "value": "\"ty\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBAiResponse.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainTarget.swift",
"kind": "StringLiteral",
- "offset": 455,
- "length": 45,
- "value": "\"IBAiResponse(type: \""
+ "offset": 634,
+ "length": 4,
+ "value": "\"di\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBAiResponse.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainTarget.swift",
"kind": "StringLiteral",
- "offset": 482,
- "length": 1,
- "value": "\", value:\""
+ "offset": 662,
+ "length": 4,
+ "value": "\"ca\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBAiResponse.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainTarget.swift",
"kind": "StringLiteral",
- "offset": 498,
- "length": 1,
- "value": "\")\""
+ "offset": 687,
+ "length": 4,
+ "value": "\"tm\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBClock.swift",
- "kind": "Array",
- "offset": 212,
- "length": 2,
- "value": "[]"
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainTarget.swift",
+ "kind": "StringLiteral",
+ "offset": 712,
+ "length": 4,
+ "value": "\"st\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBClock.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainTarget.swift",
"kind": "IntegerLiteral",
- "offset": 685,
+ "offset": 996,
"length": 1,
"value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBClock.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainTarget.swift",
"kind": "IntegerLiteral",
- "offset": 729,
+ "offset": 1035,
"length": 1,
- "value": "0"
+ "value": "1"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBClock.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainTarget.swift",
"kind": "IntegerLiteral",
- "offset": 775,
+ "offset": 1068,
"length": 1,
- "value": "0"
+ "value": "2"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBClock.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainTarget.swift",
"kind": "IntegerLiteral",
- "offset": 844,
+ "offset": 1101,
"length": 1,
- "value": "0"
+ "value": "4"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBClock.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBSender.swift",
"kind": "Array",
- "offset": 1022,
- "length": 3,
- "value": "[0]"
+ "offset": 351,
+ "length": 2,
+ "value": "[]"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/JSON.swift",
- "kind": "StringLiteral",
- "offset": 321,
- "length": 22,
- "value": "\"无效的 JSONObject\""
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBSender.swift",
+ "kind": "Array",
+ "offset": 3623,
+ "length": 2,
+ "value": "[]"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/JSON.swift",
- "kind": "StringLiteral",
- "offset": 735,
- "length": 22,
- "value": "\"无效的 JSONObject\""
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryGps.swift",
+ "kind": "Array",
+ "offset": 222,
+ "length": 2,
+ "value": "[]"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHeartRate.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryGps.swift",
"kind": "IntegerLiteral",
- "offset": 338,
+ "offset": 816,
"length": 1,
- "value": "1"
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHeartRate.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryGps.swift",
"kind": "IntegerLiteral",
- "offset": 441,
+ "offset": 903,
"length": 1,
"value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHeartRate.swift",
- "kind": "IntegerLiteral",
- "offset": 505,
- "length": 3,
- "value": "100"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHeartRate.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryGps.swift",
"kind": "IntegerLiteral",
- "offset": 616,
+ "offset": 990,
"length": 1,
"value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHeartRate.swift",
- "kind": "IntegerLiteral",
- "offset": 654,
- "length": 1,
- "value": "1"
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBurning.swift",
+ "kind": "Array",
+ "offset": 209,
+ "length": 2,
+ "value": "[]"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHeartRate.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBurning.swift",
"kind": "IntegerLiteral",
- "offset": 690,
+ "offset": 745,
"length": 1,
- "value": "2"
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHeartRate.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBurning.swift",
"kind": "IntegerLiteral",
- "offset": 718,
- "length": 1,
- "value": "3"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHeartRate.swift",
- "kind": "StringLiteral",
- "offset": 779,
- "length": 92,
- "value": "\"IBHeartRate(rate: \""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHeartRate.swift",
- "kind": "StringLiteral",
- "offset": 805,
+ "offset": 796,
"length": 1,
- "value": "\", state:\""
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHeartRate.swift",
- "kind": "StringLiteral",
- "offset": 821,
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWater.swift",
+ "kind": "IntegerLiteral",
+ "offset": 258,
"length": 1,
- "value": "\", higherOrLower:\""
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHeartRate.swift",
- "kind": "StringLiteral",
- "offset": 853,
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWater.swift",
+ "kind": "IntegerLiteral",
+ "offset": 352,
"length": 1,
- "value": "\", value:\""
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHeartRate.swift",
- "kind": "StringLiteral",
- "offset": 869,
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWater.swift",
+ "kind": "IntegerLiteral",
+ "offset": 422,
"length": 1,
- "value": "\")\""
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHeartRate.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWater.swift",
"kind": "IntegerLiteral",
- "offset": 968,
+ "offset": 503,
"length": 1,
"value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHeartRate.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWater.swift",
"kind": "IntegerLiteral",
- "offset": 995,
- "length": 4,
- "value": "1"
+ "offset": 514,
+ "length": 1,
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHeartRate.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWater.swift",
"kind": "IntegerLiteral",
- "offset": 1025,
- "length": 4,
- "value": "2"
+ "offset": 639,
+ "length": 1,
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHeartRate.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWater.swift",
"kind": "IntegerLiteral",
- "offset": 1056,
- "length": 5,
- "value": "3"
+ "offset": 650,
+ "length": 1,
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHeartRate.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWater.swift",
"kind": "IntegerLiteral",
- "offset": 968,
+ "offset": 1122,
"length": 1,
"value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHeartRate.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWater.swift",
"kind": "IntegerLiteral",
- "offset": 995,
- "length": 4,
+ "offset": 1149,
+ "length": 5,
"value": "1"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHeartRate.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWater.swift",
"kind": "IntegerLiteral",
- "offset": 1025,
- "length": 4,
+ "offset": 1180,
+ "length": 5,
"value": "2"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHeartRate.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWater.swift",
"kind": "IntegerLiteral",
- "offset": 1056,
+ "offset": 1211,
"length": 5,
"value": "3"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHeartRate.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWater.swift",
"kind": "IntegerLiteral",
- "offset": 968,
- "length": 1,
- "value": "0"
+ "offset": 1247,
+ "length": 4,
+ "value": "4"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHeartRate.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
"kind": "IntegerLiteral",
- "offset": 995,
- "length": 4,
- "value": "1"
+ "offset": 249,
+ "length": 3,
+ "value": "0x0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHeartRate.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
"kind": "IntegerLiteral",
- "offset": 1025,
+ "offset": 2035,
"length": 4,
- "value": "2"
+ "value": "0x01"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHeartRate.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
"kind": "IntegerLiteral",
- "offset": 1056,
- "length": 5,
- "value": "3"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWeather.swift",
- "kind": "Array",
- "offset": 369,
- "length": 2,
- "value": "[]"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWeather.swift",
- "kind": "StringLiteral",
- "offset": 495,
- "length": 2,
- "value": "\"\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWeather.swift",
- "kind": "StringLiteral",
- "offset": 547,
- "length": 2,
- "value": "\"\""
+ "offset": 2082,
+ "length": 4,
+ "value": "0x02"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWeather.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
"kind": "IntegerLiteral",
- "offset": 617,
- "length": 1,
- "value": "0"
+ "offset": 2182,
+ "length": 4,
+ "value": "0x06"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWeather.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
"kind": "IntegerLiteral",
- "offset": 704,
- "length": 1,
- "value": "0"
+ "offset": 2226,
+ "length": 4,
+ "value": "0x05"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWeather.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
"kind": "IntegerLiteral",
- "offset": 759,
- "length": 1,
- "value": "0"
+ "offset": 2415,
+ "length": 4,
+ "value": "0x2f"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWeather.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
"kind": "IntegerLiteral",
- "offset": 909,
- "length": 10,
- "value": "1654012800"
+ "offset": 2581,
+ "length": 4,
+ "value": "0x1c"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWeather.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
"kind": "IntegerLiteral",
- "offset": 998,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWeather.swift",
- "kind": "StringLiteral",
- "offset": 1123,
- "length": 2,
- "value": "\"\""
+ "offset": 2814,
+ "length": 4,
+ "value": "0x33"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWeather.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
"kind": "IntegerLiteral",
- "offset": 1189,
- "length": 1,
- "value": "0"
+ "offset": 2976,
+ "length": 4,
+ "value": "0x1e"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWeather.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
"kind": "IntegerLiteral",
- "offset": 1254,
- "length": 1,
- "value": "0"
+ "offset": 3205,
+ "length": 4,
+ "value": "0x36"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWeather.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
"kind": "IntegerLiteral",
- "offset": 1394,
- "length": 1,
- "value": "0"
+ "offset": 3381,
+ "length": 4,
+ "value": "0x25"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWeather.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
"kind": "IntegerLiteral",
- "offset": 1459,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWeather.swift",
- "kind": "StringLiteral",
- "offset": 1523,
- "length": 2,
- "value": "\"\""
+ "offset": 3590,
+ "length": 4,
+ "value": "0x24"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWeather.swift",
- "kind": "StringLiteral",
- "offset": 1576,
- "length": 2,
- "value": "\"\""
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 3791,
+ "length": 4,
+ "value": "0x01"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWeather.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
"kind": "IntegerLiteral",
- "offset": 1626,
- "length": 1,
- "value": "0"
+ "offset": 3932,
+ "length": 4,
+ "value": "0x03"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWeather.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
"kind": "IntegerLiteral",
- "offset": 1688,
- "length": 1,
- "value": "0"
+ "offset": 4086,
+ "length": 4,
+ "value": "0x02"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBOta.swift",
- "kind": "StringLiteral",
- "offset": 210,
- "length": 2,
- "value": "\"\""
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 4286,
+ "length": 4,
+ "value": "0x1B"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBOta.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
"kind": "IntegerLiteral",
- "offset": 276,
- "length": 1,
- "value": "0"
+ "offset": 4510,
+ "length": 4,
+ "value": "0x17"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBOta.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
"kind": "IntegerLiteral",
- "offset": 451,
- "length": 1,
- "value": "0"
+ "offset": 4708,
+ "length": 4,
+ "value": "0x04"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBOta.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
"kind": "IntegerLiteral",
- "offset": 509,
- "length": 1,
- "value": "0"
+ "offset": 4939,
+ "length": 4,
+ "value": "0x08"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBOta.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
"kind": "IntegerLiteral",
- "offset": 568,
- "length": 1,
- "value": "0"
+ "offset": 5142,
+ "length": 4,
+ "value": "0x0A"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBOta.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
"kind": "IntegerLiteral",
- "offset": 657,
- "length": 1,
- "value": "0"
+ "offset": 5283,
+ "length": 4,
+ "value": "0x0B"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBOta.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
"kind": "IntegerLiteral",
- "offset": 799,
- "length": 1,
- "value": "1"
+ "offset": 5473,
+ "length": 4,
+ "value": "0x14"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBOta.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
"kind": "IntegerLiteral",
- "offset": 864,
- "length": 1,
- "value": "0"
+ "offset": 5707,
+ "length": 4,
+ "value": "0x16"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBOta.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
"kind": "IntegerLiteral",
- "offset": 1041,
- "length": 1,
- "value": "0"
+ "offset": 5892,
+ "length": 4,
+ "value": "0x0E"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBOta.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
"kind": "IntegerLiteral",
- "offset": 1101,
- "length": 1,
- "value": "0"
+ "offset": 6126,
+ "length": 4,
+ "value": "0x1E"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBOta.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
"kind": "IntegerLiteral",
- "offset": 1162,
- "length": 1,
- "value": "0"
+ "offset": 6297,
+ "length": 4,
+ "value": "0x12"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBOta.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
"kind": "IntegerLiteral",
- "offset": 1253,
- "length": 1,
- "value": "0"
+ "offset": 6536,
+ "length": 4,
+ "value": "0x1F"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBSleep.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
"kind": "IntegerLiteral",
- "offset": 253,
- "length": 1,
- "value": "0"
+ "offset": 6713,
+ "length": 4,
+ "value": "0x13"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBSleep.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
"kind": "IntegerLiteral",
- "offset": 465,
- "length": 1,
- "value": "0"
+ "offset": 6969,
+ "length": 4,
+ "value": "0x0F"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBSleep.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
"kind": "IntegerLiteral",
- "offset": 525,
- "length": 1,
- "value": "0"
+ "offset": 7209,
+ "length": 4,
+ "value": "0x11"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBSleep.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
"kind": "IntegerLiteral",
- "offset": 559,
- "length": 1,
- "value": "1"
+ "offset": 7525,
+ "length": 4,
+ "value": "0x15"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBSleep.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
"kind": "IntegerLiteral",
- "offset": 608,
- "length": 1,
- "value": "1"
+ "offset": 7765,
+ "length": 4,
+ "value": "0x23"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBSleep.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
"kind": "IntegerLiteral",
- "offset": 629,
- "length": 1,
- "value": "2"
+ "offset": 7908,
+ "length": 4,
+ "value": "0x25"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBSleep.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
"kind": "IntegerLiteral",
- "offset": 683,
- "length": 1,
- "value": "3"
+ "offset": 8012,
+ "length": 4,
+ "value": "0x26"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBSleep.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
"kind": "IntegerLiteral",
- "offset": 704,
- "length": 1,
- "value": "4"
+ "offset": 8112,
+ "length": 4,
+ "value": "0x27"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBSleep.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
"kind": "IntegerLiteral",
- "offset": 748,
- "length": 1,
- "value": "5"
+ "offset": 8302,
+ "length": 4,
+ "value": "0x07"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBSleep.swift",
- "kind": "StringLiteral",
- "offset": 1015,
- "length": 164,
- "value": "\"IBSleep(sleepTimeSet: \""
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 8495,
+ "length": 4,
+ "value": "0x01"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBSleep.swift",
- "kind": "StringLiteral",
- "offset": 1053,
- "length": 1,
- "value": "\", sleepTime:\""
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 8647,
+ "length": 4,
+ "value": "0x21"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBSleep.swift",
- "kind": "StringLiteral",
- "offset": 1093,
- "length": 2,
- "value": "\"\""
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 8861,
+ "length": 4,
+ "value": "0x2A"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBSleep.swift",
- "kind": "StringLiteral",
- "offset": 1096,
- "length": 1,
- "value": "\", getUpTime:\""
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 9149,
+ "length": 4,
+ "value": "0x0D"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBSleep.swift",
- "kind": "StringLiteral",
- "offset": 1136,
- "length": 2,
- "value": "\"\""
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 9481,
+ "length": 4,
+ "value": "0x19"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBSleep.swift",
- "kind": "StringLiteral",
- "offset": 1139,
- "length": 1,
- "value": "\", alertBeforeMin20:\""
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 9680,
+ "length": 4,
+ "value": "0x1A"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBSleep.swift",
- "kind": "StringLiteral",
- "offset": 1177,
- "length": 1,
- "value": "\")\""
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 9837,
+ "length": 4,
+ "value": "0x0E"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBSleep.swift",
- "kind": "StringLiteral",
- "offset": 1468,
- "length": 44,
- "value": "\"IBTimeItem(hour: \""
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 10084,
+ "length": 4,
+ "value": "0x1C"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBSleep.swift",
- "kind": "StringLiteral",
- "offset": 1493,
- "length": 1,
- "value": "\", minute:\""
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 10279,
+ "length": 4,
+ "value": "0x0F"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBSleep.swift",
- "kind": "StringLiteral",
- "offset": 1511,
- "length": 1,
- "value": "\"\""
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 10495,
+ "length": 4,
+ "value": "0x11"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
"kind": "IntegerLiteral",
- "offset": 166,
- "length": 3,
- "value": "450"
+ "offset": 10732,
+ "length": 4,
+ "value": "0x1D"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
- "kind": "Dictionary",
- "offset": 232,
- "length": 3,
- "value": "[]"
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 10943,
+ "length": 4,
+ "value": "0x2B"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
- "kind": "StringLiteral",
- "offset": 934,
- "length": 6,
- "value": "\"18E0\""
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 11113,
+ "length": 4,
+ "value": "0x16"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
- "kind": "StringLiteral",
- "offset": 1001,
- "length": 6,
- "value": "\"2AE5\""
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 11353,
+ "length": 4,
+ "value": "0x2C"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
- "kind": "StringLiteral",
- "offset": 1064,
- "length": 6,
- "value": "\"2AE2\""
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 11526,
+ "length": 4,
+ "value": "0x17"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
- "kind": "StringLiteral",
- "offset": 1151,
- "length": 6,
- "value": "\"2AE3\""
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 11749,
+ "length": 4,
+ "value": "0x29"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
- "kind": "StringLiteral",
- "offset": 1239,
- "length": 6,
- "value": "\"2AE4\""
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 11892,
+ "length": 4,
+ "value": "0x15"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
- "kind": "StringLiteral",
- "offset": 1334,
- "length": 6,
- "value": "\"2AE0\""
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 12169,
+ "length": 4,
+ "value": "0x24"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
- "kind": "Array",
- "offset": 2211,
- "length": 2,
- "value": "[]"
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 12318,
+ "length": 4,
+ "value": "0x14"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
- "kind": "StringLiteral",
- "offset": 3092,
- "length": 29,
- "value": "\"开始扫描蓝牙设备...\""
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 12549,
+ "length": 4,
+ "value": "0x28"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
- "kind": "StringLiteral",
- "offset": 3607,
- "length": 29,
- "value": "\"停止扫描蓝牙设备...\""
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 12748,
+ "length": 4,
+ "value": "0x04"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
- "kind": "StringLiteral",
- "offset": 4474,
- "length": 29,
- "value": "\"有命令正在执行中...\""
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 13196,
+ "length": 4,
+ "value": "0x40"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
- "kind": "StringLiteral",
- "offset": 4557,
- "length": 29,
- "value": "\"有命令正在执行中...\""
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 13620,
+ "length": 4,
+ "value": "0x41"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
- "kind": "FloatLiteral",
- "offset": 4848,
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 14031,
"length": 4,
- "value": "0.02"
+ "value": "0x43"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
- "kind": "StringLiteral",
- "offset": 4890,
- "length": 46,
- "value": "\"\""
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 14451,
+ "length": 4,
+ "value": "0x44"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
- "kind": "StringLiteral",
- "offset": 4928,
- "length": 5,
- "value": "\" Write:\""
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 14861,
+ "length": 4,
+ "value": "0x45"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
- "kind": "StringLiteral",
- "offset": 4961,
- "length": 3,
- "value": "\" \""
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 15276,
+ "length": 4,
+ "value": "0x46"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
- "kind": "StringLiteral",
- "offset": 4967,
- "length": 28,
- "value": "\"Bytes(\""
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 15692,
+ "length": 4,
+ "value": "0x47"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
- "kind": "StringLiteral",
- "offset": 4993,
- "length": 1,
- "value": "\")\""
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 16116,
+ "length": 4,
+ "value": "0x49"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
- "kind": "StringLiteral",
- "offset": 5942,
- "length": 39,
- "value": "\"\""
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 16524,
+ "length": 4,
+ "value": "0x4B"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
- "kind": "StringLiteral",
- "offset": 5973,
- "length": 5,
- "value": "\" Write:\""
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 16808,
+ "length": 4,
+ "value": "0x4F"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
- "kind": "StringLiteral",
- "offset": 6298,
- "length": 9,
- "value": "\"unknown\""
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 16966,
+ "length": 4,
+ "value": "0x2E"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
- "kind": "StringLiteral",
- "offset": 6357,
- "length": 11,
- "value": "\"resetting\""
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 17144,
+ "length": 4,
+ "value": "0x05"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
- "kind": "StringLiteral",
- "offset": 6420,
- "length": 13,
- "value": "\"unsupported\""
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 17498,
+ "length": 4,
+ "value": "0x10"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
- "kind": "StringLiteral",
- "offset": 6486,
- "length": 14,
- "value": "\"unauthorized\""
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 17693,
+ "length": 4,
+ "value": "0x02"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
- "kind": "StringLiteral",
- "offset": 6551,
- "length": 12,
- "value": "\"poweredOff\""
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 17841,
+ "length": 4,
+ "value": "0x10"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
- "kind": "StringLiteral",
- "offset": 6637,
- "length": 11,
- "value": "\"poweredOn\""
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 17967,
+ "length": 4,
+ "value": "0x2D"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
- "kind": "StringLiteral",
- "offset": 6924,
- "length": 28,
- "value": "\"kCBAdvDataManufacturerData\""
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 18128,
+ "length": 4,
+ "value": "0x20"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
- "kind": "StringLiteral",
- "offset": 7920,
- "length": 11,
- "value": "\"已连接\""
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 18353,
+ "length": 4,
+ "value": "0x0B"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
"kind": "IntegerLiteral",
- "offset": 8010,
- "length": 1,
- "value": "1"
+ "offset": 18567,
+ "length": 4,
+ "value": "0x07"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
- "kind": "StringLiteral",
- "offset": 8156,
- "length": 14,
- "value": "\"连接失败\""
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 18981,
+ "length": 4,
+ "value": "0x05"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
- "kind": "StringLiteral",
- "offset": 8202,
- "length": 2,
- "value": "\"\""
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 19190,
+ "length": 4,
+ "value": "0x06"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
- "kind": "BooleanLiteral",
- "offset": 8273,
- "length": 5,
- "value": "false"
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 19380,
+ "length": 4,
+ "value": "0x08"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
- "kind": "StringLiteral",
- "offset": 8470,
- "length": 14,
- "value": "\"断开连接\""
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 19575,
+ "length": 4,
+ "value": "0x22"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
- "kind": "StringLiteral",
- "offset": 8771,
- "length": 26,
- "value": "\"蓝牙设备断开连接\""
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 19809,
+ "length": 4,
+ "value": "0x22"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
- "kind": "BooleanLiteral",
- "offset": 8844,
- "length": 5,
- "value": "false"
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 19989,
+ "length": 4,
+ "value": "0x01"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
"kind": "IntegerLiteral",
- "offset": 8944,
- "length": 1,
- "value": "0"
+ "offset": 20176,
+ "length": 4,
+ "value": "0x28"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
- "kind": "BooleanLiteral",
- "offset": 9688,
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 20367,
"length": 4,
- "value": "true"
+ "value": "0x0B"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
- "kind": "BooleanLiteral",
- "offset": 9921,
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 20668,
"length": 4,
- "value": "true"
+ "value": "0x21"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
- "kind": "StringLiteral",
- "offset": 11292,
- "length": 15,
- "value": "\"write success\""
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 20919,
+ "length": 4,
+ "value": "0x06"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
- "kind": "BooleanLiteral",
- "offset": 11897,
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 21154,
"length": 4,
- "value": "true"
+ "value": "0x05"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
- "kind": "FloatLiteral",
- "offset": 12400,
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 21415,
"length": 4,
- "value": "10.0"
+ "value": "0x34"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
- "kind": "BooleanLiteral",
- "offset": 12415,
- "length": 5,
- "value": "false"
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 21597,
+ "length": 4,
+ "value": "0x1f"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Logger.swift",
- "kind": "BooleanLiteral",
- "offset": 148,
- "length": 5,
- "value": "false"
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBScreen.swift",
+ "kind": "IntegerLiteral",
+ "offset": 249,
+ "length": 1,
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Logger.swift",
- "kind": "Array",
- "offset": 502,
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBScreen.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1035,
"length": 2,
- "value": "[]"
+ "value": "10"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Logger.swift",
- "kind": "StringLiteral",
- "offset": 696,
- "length": 26,
- "value": "\"\/Documents\/IOTBluetooth\/\""
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBScreen.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1188,
+ "length": 1,
+ "value": "1"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Logger.swift",
- "kind": "BooleanLiteral",
- "offset": 944,
- "length": 4,
- "value": "true"
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBScreen.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1573,
+ "length": 1,
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Logger.swift",
- "kind": "StringLiteral",
- "offset": 1012,
- "length": 2,
- "value": "\"\""
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBScreen.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1599,
+ "length": 8,
+ "value": "1"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Logger.swift",
- "kind": "StringLiteral",
- "offset": 1069,
- "length": 30,
- "value": "\"\""
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBScreen.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1632,
+ "length": 8,
+ "value": "2"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Logger.swift",
- "kind": "StringLiteral",
- "offset": 1094,
- "length": 1,
- "value": "\".log\""
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBScreen.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1665,
+ "length": 8,
+ "value": "3"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Logger.swift",
- "kind": "StringLiteral",
- "offset": 1381,
- "length": 3,
- "value": "\" \""
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBScreen.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1700,
+ "length": 6,
+ "value": "4"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Logger.swift",
- "kind": "StringLiteral",
- "offset": 1407,
- "length": 4,
- "value": "\"\n\""
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBScreen.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1733,
+ "length": 7,
+ "value": "5"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Logger.swift",
- "kind": "StringLiteral",
- "offset": 1505,
- "length": 51,
- "value": "\" [IOTBluetooth-\""
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBSendTime.swift",
+ "kind": "IntegerLiteral",
+ "offset": 207,
+ "length": 1,
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Logger.swift",
- "kind": "StringLiteral",
- "offset": 1538,
- "length": 6,
- "value": "\"%03d\""
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBSendTime.swift",
+ "kind": "IntegerLiteral",
+ "offset": 264,
+ "length": 1,
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Logger.swift",
- "kind": "StringLiteral",
- "offset": 1552,
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBSendTime.swift",
+ "kind": "IntegerLiteral",
+ "offset": 326,
"length": 1,
- "value": "\"]: \""
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Logger.swift",
- "kind": "StringLiteral",
- "offset": 1570,
- "length": 7,
- "value": "\"\""
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBSendTime.swift",
+ "kind": "IntegerLiteral",
+ "offset": 369,
+ "length": 1,
+ "value": "1"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Logger.swift",
- "kind": "StringLiteral",
- "offset": 1576,
- "length": 46,
- "value": "\"\""
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBSendTime.swift",
+ "kind": "IntegerLiteral",
+ "offset": 410,
+ "length": 1,
+ "value": "1"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Logger.swift",
- "kind": "StringLiteral",
- "offset": 1707,
- "length": 51,
- "value": "\" [IOTBluetooth-\""
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBSendTime.swift",
+ "kind": "IntegerLiteral",
+ "offset": 452,
+ "length": 1,
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Logger.swift",
- "kind": "StringLiteral",
- "offset": 1740,
- "length": 6,
- "value": "\"%03d\""
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBSendTime.swift",
+ "kind": "IntegerLiteral",
+ "offset": 496,
+ "length": 1,
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Logger.swift",
- "kind": "StringLiteral",
- "offset": 1754,
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBSendTime.swift",
+ "kind": "IntegerLiteral",
+ "offset": 540,
"length": 1,
- "value": "\"]: \""
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryStep.swift",
- "kind": "Array",
- "offset": 200,
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBContact.swift",
+ "kind": "IntegerLiteral",
+ "offset": 208,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBContact.swift",
+ "kind": "StringLiteral",
+ "offset": 254,
"length": 2,
- "value": "[]"
+ "value": "\"\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryStep.swift",
- "kind": "Array",
- "offset": 283,
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBContact.swift",
+ "kind": "StringLiteral",
+ "offset": 300,
"length": 2,
- "value": "[]"
+ "value": "\"\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryStep.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTargetStep.swift",
"kind": "IntegerLiteral",
- "offset": 316,
- "length": 1,
- "value": "0"
+ "offset": 206,
+ "length": 4,
+ "value": "5000"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryStep.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTargetStep.swift",
"kind": "IntegerLiteral",
- "offset": 339,
+ "offset": 285,
"length": 1,
- "value": "8"
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryStep.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTargetStep.swift",
"kind": "IntegerLiteral",
- "offset": 375,
+ "offset": 364,
"length": 1,
- "value": "7"
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryStep.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTargetStep.swift",
"kind": "IntegerLiteral",
- "offset": 467,
+ "offset": 442,
"length": 1,
- "value": "3"
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender.swift",
+ "kind": "Array",
+ "offset": 458,
+ "length": 2,
+ "value": "[]"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryStep.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender.swift",
"kind": "IntegerLiteral",
- "offset": 511,
+ "offset": 513,
"length": 1,
- "value": "4"
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryStep.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender.swift",
"kind": "IntegerLiteral",
- "offset": 517,
+ "offset": 564,
"length": 1,
- "value": "7"
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryStep.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender.swift",
"kind": "IntegerLiteral",
- "offset": 727,
+ "offset": 609,
"length": 1,
"value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryStep.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender.swift",
+ "kind": "Array",
+ "offset": 1494,
+ "length": 2,
+ "value": "[]"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender.swift",
"kind": "IntegerLiteral",
- "offset": 775,
+ "offset": 1517,
"length": 1,
"value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/LRC.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender.swift",
"kind": "IntegerLiteral",
- "offset": 237,
+ "offset": 1541,
"length": 1,
"value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/LRC.swift",
- "kind": "IntegerLiteral",
- "offset": 343,
- "length": 3,
- "value": "256"
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender.swift",
+ "kind": "BooleanLiteral",
+ "offset": 1574,
+ "length": 5,
+ "value": "false"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/LRC.swift",
- "kind": "IntegerLiteral",
- "offset": 375,
- "length": 1,
- "value": "0"
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender.swift",
+ "kind": "Array",
+ "offset": 8386,
+ "length": 2,
+ "value": "[]"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/LRC.swift",
- "kind": "IntegerLiteral",
- "offset": 379,
- "length": 1,
- "value": "0"
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryCalorie.swift",
+ "kind": "Array",
+ "offset": 212,
+ "length": 2,
+ "value": "[]"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/LRC.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryCalorie.swift",
"kind": "IntegerLiteral",
- "offset": 383,
- "length": 3,
- "value": "256"
+ "offset": 753,
+ "length": 1,
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/LRC.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryCalorie.swift",
"kind": "IntegerLiteral",
- "offset": 521,
+ "offset": 804,
"length": 1,
"value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
- "kind": "StringLiteral",
- "offset": 402,
- "length": 10,
- "value": "\"HH:mm:ss\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
- "kind": "StringLiteral",
- "offset": 491,
- "length": 7,
- "value": "\"HH:mm\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBMp3.swift",
"kind": "StringLiteral",
- "offset": 572,
- "length": 7,
- "value": "\"MM-dd\""
+ "offset": 210,
+ "length": 2,
+ "value": "\"\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBMp3.swift",
"kind": "StringLiteral",
- "offset": 659,
- "length": 12,
- "value": "\"MM月dd日\""
+ "offset": 264,
+ "length": 2,
+ "value": "\"\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
- "kind": "StringLiteral",
- "offset": 751,
- "length": 12,
- "value": "\"yyyy-MM-dd\""
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBMp3.swift",
+ "kind": "IntegerLiteral",
+ "offset": 330,
+ "length": 1,
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBMp3.swift",
"kind": "StringLiteral",
- "offset": 851,
- "length": 18,
- "value": "\"yyy年MM月dd日\""
+ "offset": 461,
+ "length": 2,
+ "value": "\"\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
- "kind": "StringLiteral",
- "offset": 956,
- "length": 18,
- "value": "\"yyyy-MM-dd HH:mm\""
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBMp3.swift",
+ "kind": "IntegerLiteral",
+ "offset": 515,
+ "length": 1,
+ "value": "2"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
- "kind": "StringLiteral",
- "offset": 1069,
- "length": 24,
- "value": "\"yyy年MM月dd日 HH:mm\""
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBMp3.swift",
+ "kind": "IntegerLiteral",
+ "offset": 571,
+ "length": 1,
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBManager.swift",
"kind": "StringLiteral",
- "offset": 1181,
- "length": 21,
- "value": "\"yyyy-MM-dd HH:mm:ss\""
+ "offset": 897,
+ "length": 8,
+ "value": "\"1.0.23\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
- "kind": "StringLiteral",
- "offset": 1298,
- "length": 28,
- "value": "\"yyyy年MM月dd日 HH:mm:ss\""
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBManager.swift",
+ "kind": "BooleanLiteral",
+ "offset": 961,
+ "length": 5,
+ "value": "false"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBPhoneInfo.swift",
"kind": "StringLiteral",
- "offset": 1413,
- "length": 19,
- "value": "\"yyyy-MM-dd HHmmss\""
+ "offset": 212,
+ "length": 8,
+ "value": "\"iphone\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
- "kind": "StringLiteral",
- "offset": 1524,
- "length": 25,
- "value": "\"yyyy-MM-dd HH:mm:ss.SSS\""
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBPhoneInfo.swift",
+ "kind": "IntegerLiteral",
+ "offset": 291,
+ "length": 1,
+ "value": "1"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBPhoneInfo.swift",
"kind": "StringLiteral",
- "offset": 1649,
- "length": 32,
- "value": "\"yyyy年MM月dd日 HH:mm:ss.SSS\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
- "kind": "FloatLiteral",
- "offset": 2126,
+ "offset": 479,
"length": 4,
- "value": "60.0"
+ "value": "\"pn\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
- "kind": "FloatLiteral",
- "offset": 2189,
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBPhoneInfo.swift",
+ "kind": "StringLiteral",
+ "offset": 504,
"length": 4,
- "value": "60.0"
+ "value": "\"tp\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
- "kind": "FloatLiteral",
- "offset": 2196,
- "length": 4,
- "value": "60.0"
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBPhoneInfo.swift",
+ "kind": "StringLiteral",
+ "offset": 528,
+ "length": 5,
+ "value": "\"mac\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
- "kind": "FloatLiteral",
- "offset": 2255,
- "length": 4,
- "value": "60.0"
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBSchedule.swift",
+ "kind": "IntegerLiteral",
+ "offset": 182,
+ "length": 1,
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
- "kind": "FloatLiteral",
- "offset": 2262,
- "length": 4,
- "value": "60.0"
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBSchedule.swift",
+ "kind": "StringLiteral",
+ "offset": 230,
+ "length": 2,
+ "value": "\"\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
- "kind": "FloatLiteral",
- "offset": 2269,
- "length": 4,
- "value": "24.0"
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBSchedule.swift",
+ "kind": "IntegerLiteral",
+ "offset": 284,
+ "length": 10,
+ "value": "1737196185"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBSchedule.swift",
"kind": "IntegerLiteral",
- "offset": 2459,
- "length": 1,
- "value": "1"
+ "offset": 344,
+ "length": 10,
+ "value": "1737396185"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
- "kind": "IntegerLiteral",
- "offset": 2496,
- "length": 3,
- "value": "2"
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
+ "kind": "Array",
+ "offset": 203,
+ "length": 2,
+ "value": "[]"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
"kind": "IntegerLiteral",
- "offset": 2535,
- "length": 3,
- "value": "3"
+ "offset": 2352,
+ "length": 1,
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
"kind": "IntegerLiteral",
- "offset": 2574,
- "length": 3,
- "value": "4"
+ "offset": 2464,
+ "length": 1,
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
"kind": "IntegerLiteral",
- "offset": 2613,
- "length": 4,
- "value": "5"
+ "offset": 2538,
+ "length": 1,
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
"kind": "IntegerLiteral",
- "offset": 2653,
- "length": 3,
- "value": "6"
+ "offset": 2610,
+ "length": 1,
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
"kind": "IntegerLiteral",
- "offset": 2692,
- "length": 3,
- "value": "7"
+ "offset": 2689,
+ "length": 1,
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
"kind": "IntegerLiteral",
- "offset": 2459,
+ "offset": 2700,
"length": 1,
- "value": "1"
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
"kind": "IntegerLiteral",
- "offset": 2496,
- "length": 3,
- "value": "2"
+ "offset": 3460,
+ "length": 1,
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
"kind": "IntegerLiteral",
- "offset": 2535,
- "length": 3,
- "value": "3"
+ "offset": 3843,
+ "length": 1,
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBAiResponse.swift",
"kind": "IntegerLiteral",
- "offset": 2574,
- "length": 3,
- "value": "4"
+ "offset": 318,
+ "length": 1,
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
- "kind": "IntegerLiteral",
- "offset": 2613,
- "length": 4,
- "value": "5"
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBAiResponse.swift",
+ "kind": "StringLiteral",
+ "offset": 367,
+ "length": 2,
+ "value": "\"\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
- "kind": "IntegerLiteral",
- "offset": 2653,
- "length": 3,
- "value": "6"
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBClock.swift",
+ "kind": "Array",
+ "offset": 212,
+ "length": 2,
+ "value": "[]"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBClock.swift",
"kind": "IntegerLiteral",
- "offset": 2692,
- "length": 3,
- "value": "7"
+ "offset": 685,
+ "length": 1,
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBClock.swift",
"kind": "IntegerLiteral",
- "offset": 2459,
+ "offset": 729,
"length": 1,
- "value": "1"
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBClock.swift",
"kind": "IntegerLiteral",
- "offset": 2496,
- "length": 3,
- "value": "2"
+ "offset": 775,
+ "length": 1,
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBClock.swift",
"kind": "IntegerLiteral",
- "offset": 2535,
- "length": 3,
- "value": "3"
+ "offset": 844,
+ "length": 1,
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
- "kind": "IntegerLiteral",
- "offset": 2574,
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBClock.swift",
+ "kind": "Array",
+ "offset": 1022,
"length": 3,
- "value": "4"
+ "value": "[0]"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHeartRate.swift",
"kind": "IntegerLiteral",
- "offset": 2613,
- "length": 4,
- "value": "5"
+ "offset": 338,
+ "length": 1,
+ "value": "1"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHeartRate.swift",
"kind": "IntegerLiteral",
- "offset": 2653,
- "length": 3,
- "value": "6"
+ "offset": 441,
+ "length": 1,
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHeartRate.swift",
"kind": "IntegerLiteral",
- "offset": 2692,
+ "offset": 505,
"length": 3,
- "value": "7"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBDial.swift",
- "kind": "IntegerLiteral",
- "offset": 1577,
- "length": 1,
- "value": "5"
+ "value": "100"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBDial.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHeartRate.swift",
"kind": "IntegerLiteral",
- "offset": 1750,
+ "offset": 968,
"length": 1,
"value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBDial.swift",
- "kind": "StringLiteral",
- "offset": 2354,
- "length": 77,
- "value": "\"IBMarketDail(UID: \""
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHeartRate.swift",
+ "kind": "IntegerLiteral",
+ "offset": 995,
+ "length": 4,
+ "value": "1"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBDial.swift",
- "kind": "StringLiteral",
- "offset": 2379,
- "length": 1,
- "value": "\", themeLength:\""
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHeartRate.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1025,
+ "length": 4,
+ "value": "2"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBDial.swift",
- "kind": "StringLiteral",
- "offset": 2407,
- "length": 1,
- "value": "\", theme:\""
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHeartRate.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1056,
+ "length": 5,
+ "value": "3"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBDial.swift",
- "kind": "StringLiteral",
- "offset": 2426,
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWeather.swift",
+ "kind": "Array",
+ "offset": 369,
"length": 2,
- "value": "\"\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBDial.swift",
- "kind": "StringLiteral",
- "offset": 2429,
- "length": 1,
- "value": "\")\""
+ "value": "[]"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBDial.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWeather.swift",
"kind": "StringLiteral",
- "offset": 2557,
+ "offset": 495,
"length": 2,
"value": "\"\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBDial.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWeather.swift",
"kind": "StringLiteral",
- "offset": 2615,
+ "offset": 547,
"length": 2,
"value": "\"\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBDial.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWeather.swift",
"kind": "IntegerLiteral",
- "offset": 2695,
+ "offset": 617,
"length": 1,
"value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBDial.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWeather.swift",
"kind": "IntegerLiteral",
- "offset": 2852,
+ "offset": 704,
"length": 1,
"value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBDial.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWeather.swift",
"kind": "IntegerLiteral",
- "offset": 3139,
+ "offset": 759,
"length": 1,
- "value": "1"
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBDial.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWeather.swift",
"kind": "IntegerLiteral",
- "offset": 3356,
+ "offset": 909,
+ "length": 10,
+ "value": "1654012800"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWeather.swift",
+ "kind": "IntegerLiteral",
+ "offset": 998,
"length": 1,
- "value": "1"
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBDial.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWeather.swift",
"kind": "StringLiteral",
- "offset": 3445,
- "length": 147,
- "value": "\"IBDialFile(UID: \""
+ "offset": 1123,
+ "length": 2,
+ "value": "\"\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBDial.swift",
- "kind": "StringLiteral",
- "offset": 3468,
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWeather.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1189,
"length": 1,
- "value": "\", index:\""
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBDial.swift",
- "kind": "StringLiteral",
- "offset": 3484,
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWeather.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1254,
"length": 1,
- "value": "\",fileType: \""
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBDial.swift",
- "kind": "StringLiteral",
- "offset": 3506,
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWeather.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1394,
"length": 1,
- "value": "\", nameLength:\""
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBDial.swift",
- "kind": "StringLiteral",
- "offset": 3532,
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWeather.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1459,
"length": 1,
- "value": "\", filePath:\""
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBDial.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWeather.swift",
"kind": "StringLiteral",
- "offset": 3554,
- "length": 1,
- "value": "\", fileName:\""
+ "offset": 1523,
+ "length": 2,
+ "value": "\"\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBDial.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWeather.swift",
"kind": "StringLiteral",
- "offset": 3576,
- "length": 1,
- "value": "\", size:\""
+ "offset": 1576,
+ "length": 2,
+ "value": "\"\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBDial.swift",
- "kind": "StringLiteral",
- "offset": 3590,
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWeather.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1626,
"length": 1,
- "value": "\")\""
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBBloodOxygen.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWeather.swift",
"kind": "IntegerLiteral",
- "offset": 345,
+ "offset": 1688,
"length": 1,
- "value": "1"
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBBloodOxygen.swift",
- "kind": "IntegerLiteral",
- "offset": 402,
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBOta.swift",
+ "kind": "StringLiteral",
+ "offset": 210,
"length": 2,
- "value": "95"
+ "value": "\"\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBBloodOxygen.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBOta.swift",
"kind": "IntegerLiteral",
- "offset": 514,
+ "offset": 276,
"length": 1,
"value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBBloodOxygen.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBOta.swift",
"kind": "IntegerLiteral",
- "offset": 552,
+ "offset": 451,
"length": 1,
- "value": "1"
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBBloodOxygen.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBOta.swift",
"kind": "IntegerLiteral",
- "offset": 579,
+ "offset": 509,
"length": 1,
- "value": "1"
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBBloodOxygen.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBOta.swift",
"kind": "IntegerLiteral",
- "offset": 608,
+ "offset": 568,
"length": 1,
- "value": "2"
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBBloodOxygen.swift",
- "kind": "StringLiteral",
- "offset": 679,
- "length": 62,
- "value": "\"IBBloodOxygen(rate: \""
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBOta.swift",
+ "kind": "IntegerLiteral",
+ "offset": 657,
+ "length": 1,
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBBloodOxygen.swift",
- "kind": "StringLiteral",
- "offset": 707,
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBOta.swift",
+ "kind": "IntegerLiteral",
+ "offset": 799,
"length": 1,
- "value": "\", state:\""
+ "value": "1"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBBloodOxygen.swift",
- "kind": "StringLiteral",
- "offset": 723,
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBOta.swift",
+ "kind": "IntegerLiteral",
+ "offset": 864,
"length": 1,
- "value": "\", value:\""
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBBloodOxygen.swift",
- "kind": "StringLiteral",
- "offset": 739,
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBOta.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1041,
"length": 1,
- "value": "\")\""
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBBloodOxygen.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBOta.swift",
"kind": "IntegerLiteral",
- "offset": 846,
+ "offset": 1101,
"length": 1,
"value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBBloodOxygen.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBOta.swift",
"kind": "IntegerLiteral",
- "offset": 874,
- "length": 5,
- "value": "1"
+ "offset": 1162,
+ "length": 1,
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBBloodOxygen.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBOta.swift",
"kind": "IntegerLiteral",
- "offset": 905,
- "length": 5,
- "value": "2"
+ "offset": 1253,
+ "length": 1,
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBBloodOxygen.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBSleep.swift",
"kind": "IntegerLiteral",
- "offset": 936,
- "length": 5,
- "value": "3"
+ "offset": 253,
+ "length": 1,
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBBloodOxygen.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBSleep.swift",
"kind": "IntegerLiteral",
- "offset": 846,
+ "offset": 465,
"length": 1,
"value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBBloodOxygen.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
"kind": "IntegerLiteral",
- "offset": 874,
- "length": 5,
- "value": "1"
+ "offset": 166,
+ "length": 3,
+ "value": "450"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBBloodOxygen.swift",
- "kind": "IntegerLiteral",
- "offset": 905,
- "length": 5,
- "value": "2"
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
+ "kind": "Dictionary",
+ "offset": 232,
+ "length": 3,
+ "value": "[]"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBBloodOxygen.swift",
- "kind": "IntegerLiteral",
- "offset": 936,
- "length": 5,
- "value": "3"
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
+ "kind": "StringLiteral",
+ "offset": 934,
+ "length": 6,
+ "value": "\"18E0\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBBloodOxygen.swift",
- "kind": "IntegerLiteral",
- "offset": 846,
- "length": 1,
- "value": "0"
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
+ "kind": "StringLiteral",
+ "offset": 1001,
+ "length": 6,
+ "value": "\"2AE5\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBBloodOxygen.swift",
- "kind": "IntegerLiteral",
- "offset": 874,
- "length": 5,
- "value": "1"
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
+ "kind": "StringLiteral",
+ "offset": 1064,
+ "length": 6,
+ "value": "\"2AE2\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBBloodOxygen.swift",
- "kind": "IntegerLiteral",
- "offset": 905,
- "length": 5,
- "value": "2"
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
+ "kind": "StringLiteral",
+ "offset": 1151,
+ "length": 6,
+ "value": "\"2AE3\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBBloodOxygen.swift",
- "kind": "IntegerLiteral",
- "offset": 936,
- "length": 5,
- "value": "3"
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
+ "kind": "StringLiteral",
+ "offset": 1239,
+ "length": 6,
+ "value": "\"2AE4\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBPeripheral.swift",
- "kind": "IntegerLiteral",
- "offset": 231,
- "length": 1,
- "value": "0"
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
+ "kind": "StringLiteral",
+ "offset": 1334,
+ "length": 6,
+ "value": "\"2AE6\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBPeripheral.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
"kind": "StringLiteral",
- "offset": 562,
- "length": 2,
- "value": "\"\""
+ "offset": 1377,
+ "length": 6,
+ "value": "\"2AE7\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBPeripheral.swift",
- "kind": "Dictionary",
- "offset": 655,
- "length": 3,
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
+ "kind": "Array",
+ "offset": 2256,
+ "length": 2,
"value": "[]"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBPeripheral.swift",
- "kind": "StringLiteral",
- "offset": 799,
- "length": 9,
- "value": "\"Unknown\""
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Logger.swift",
+ "kind": "BooleanLiteral",
+ "offset": 148,
+ "length": 5,
+ "value": "false"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBPeripheral.swift",
- "kind": "StringLiteral",
- "offset": 890,
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Logger.swift",
+ "kind": "Array",
+ "offset": 502,
"length": 2,
- "value": "\"\""
+ "value": "[]"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBPeripheral.swift",
- "kind": "IntegerLiteral",
- "offset": 995,
- "length": 1,
- "value": "0"
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Logger.swift",
+ "kind": "StringLiteral",
+ "offset": 1381,
+ "length": 3,
+ "value": "\" \""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBPeripheral.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Logger.swift",
"kind": "StringLiteral",
- "offset": 1043,
+ "offset": 1407,
+ "length": 4,
+ "value": "\"\n\""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryStep.swift",
+ "kind": "Array",
+ "offset": 200,
"length": 2,
- "value": "\"\""
+ "value": "[]"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBPeripheral.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryStep.swift",
"kind": "IntegerLiteral",
- "offset": 1104,
+ "offset": 727,
"length": 1,
"value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBPeripheral.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryStep.swift",
"kind": "IntegerLiteral",
- "offset": 1155,
+ "offset": 775,
"length": 1,
"value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBPeripheral.swift",
- "kind": "IntegerLiteral",
- "offset": 1204,
- "length": 1,
- "value": "0"
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
+ "kind": "StringLiteral",
+ "offset": 402,
+ "length": 10,
+ "value": "\"HH:mm:ss\""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
+ "kind": "StringLiteral",
+ "offset": 491,
+ "length": 7,
+ "value": "\"HH:mm\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBEpo.swift",
- "kind": "IntegerLiteral",
- "offset": 193,
- "length": 1,
- "value": "5"
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
+ "kind": "StringLiteral",
+ "offset": 572,
+ "length": 7,
+ "value": "\"MM-dd\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBEpo.swift",
- "kind": "IntegerLiteral",
- "offset": 305,
- "length": 1,
- "value": "6"
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
+ "kind": "StringLiteral",
+ "offset": 659,
+ "length": 12,
+ "value": "\"MM月dd日\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBEpo.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
"kind": "StringLiteral",
- "offset": 421,
- "length": 2,
- "value": "\"\""
+ "offset": 751,
+ "length": 12,
+ "value": "\"yyyy-MM-dd\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBEpo.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
"kind": "StringLiteral",
- "offset": 479,
- "length": 2,
- "value": "\"\""
+ "offset": 851,
+ "length": 18,
+ "value": "\"yyy年MM月dd日\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBEpo.swift",
- "kind": "IntegerLiteral",
- "offset": 540,
- "length": 1,
- "value": "0"
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
+ "kind": "StringLiteral",
+ "offset": 956,
+ "length": 18,
+ "value": "\"yyyy-MM-dd HH:mm\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBEpo.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
"kind": "StringLiteral",
- "offset": 627,
- "length": 112,
- "value": "\"IBEpo(UID: \""
+ "offset": 1069,
+ "length": 24,
+ "value": "\"yyy年MM月dd日 HH:mm\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBEpo.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
"kind": "StringLiteral",
- "offset": 645,
- "length": 1,
- "value": "\", nameLength:\""
+ "offset": 1181,
+ "length": 21,
+ "value": "\"yyyy-MM-dd HH:mm:ss\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBEpo.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
"kind": "StringLiteral",
- "offset": 671,
- "length": 1,
- "value": "\",fileName: \""
+ "offset": 1298,
+ "length": 28,
+ "value": "\"yyyy年MM月dd日 HH:mm:ss\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBEpo.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
"kind": "StringLiteral",
- "offset": 693,
- "length": 1,
- "value": "\",filePath: \""
+ "offset": 1413,
+ "length": 19,
+ "value": "\"yyyy-MM-dd HHmmss\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBEpo.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
"kind": "StringLiteral",
- "offset": 715,
- "length": 1,
- "value": "\",fileSize: \""
+ "offset": 1524,
+ "length": 25,
+ "value": "\"yyyy-MM-dd HH:mm:ss.SSS\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBEpo.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
"kind": "StringLiteral",
- "offset": 737,
- "length": 1,
- "value": "\")\""
+ "offset": 1649,
+ "length": 32,
+ "value": "\"yyyy年MM月dd日 HH:mm:ss.SSS\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
"kind": "IntegerLiteral",
- "offset": 208,
+ "offset": 2459,
"length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
- "kind": "IntegerLiteral",
- "offset": 234,
- "length": 7,
"value": "1"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
"kind": "IntegerLiteral",
- "offset": 269,
- "length": 8,
+ "offset": 2496,
+ "length": 3,
"value": "2"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
"kind": "IntegerLiteral",
- "offset": 302,
- "length": 6,
+ "offset": 2535,
+ "length": 3,
"value": "3"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
"kind": "IntegerLiteral",
- "offset": 339,
- "length": 7,
+ "offset": 2574,
+ "length": 3,
"value": "4"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
"kind": "IntegerLiteral",
- "offset": 371,
- "length": 7,
+ "offset": 2613,
+ "length": 4,
"value": "5"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
"kind": "IntegerLiteral",
- "offset": 412,
- "length": 8,
+ "offset": 2653,
+ "length": 3,
"value": "6"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
"kind": "IntegerLiteral",
- "offset": 445,
- "length": 6,
+ "offset": 2692,
+ "length": 3,
"value": "7"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
- "kind": "IntegerLiteral",
- "offset": 482,
- "length": 10,
- "value": "8"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
- "kind": "IntegerLiteral",
- "offset": 517,
- "length": 6,
- "value": "9"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
- "kind": "IntegerLiteral",
- "offset": 551,
- "length": 5,
- "value": "10"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
- "kind": "IntegerLiteral",
- "offset": 587,
- "length": 7,
- "value": "11"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
- "kind": "IntegerLiteral",
- "offset": 622,
- "length": 5,
- "value": "12"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBDial.swift",
"kind": "IntegerLiteral",
- "offset": 655,
- "length": 5,
- "value": "13"
+ "offset": 1577,
+ "length": 1,
+ "value": "5"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBDial.swift",
"kind": "IntegerLiteral",
- "offset": 688,
- "length": 5,
- "value": "14"
+ "offset": 1750,
+ "length": 1,
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
- "kind": "IntegerLiteral",
- "offset": 730,
- "length": 10,
- "value": "15"
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBDial.swift",
+ "kind": "StringLiteral",
+ "offset": 2557,
+ "length": 2,
+ "value": "\"\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
- "kind": "IntegerLiteral",
- "offset": 774,
- "length": 9,
- "value": "16"
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBDial.swift",
+ "kind": "StringLiteral",
+ "offset": 2615,
+ "length": 2,
+ "value": "\"\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBDial.swift",
"kind": "IntegerLiteral",
- "offset": 811,
- "length": 6,
- "value": "17"
+ "offset": 2695,
+ "length": 1,
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBDial.swift",
"kind": "IntegerLiteral",
- "offset": 842,
- "length": 4,
- "value": "18"
+ "offset": 2852,
+ "length": 1,
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBDial.swift",
"kind": "IntegerLiteral",
- "offset": 874,
- "length": 10,
- "value": "19"
+ "offset": 3139,
+ "length": 1,
+ "value": "1"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBDial.swift",
"kind": "IntegerLiteral",
- "offset": 912,
- "length": 7,
- "value": "20"
+ "offset": 3356,
+ "length": 1,
+ "value": "1"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBBloodOxygen.swift",
"kind": "IntegerLiteral",
- "offset": 953,
- "length": 8,
- "value": "21"
+ "offset": 345,
+ "length": 1,
+ "value": "1"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBBloodOxygen.swift",
"kind": "IntegerLiteral",
- "offset": 992,
- "length": 7,
- "value": "22"
+ "offset": 402,
+ "length": 2,
+ "value": "95"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBBloodOxygen.swift",
"kind": "IntegerLiteral",
- "offset": 208,
+ "offset": 846,
"length": 1,
"value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBBloodOxygen.swift",
"kind": "IntegerLiteral",
- "offset": 234,
- "length": 7,
+ "offset": 874,
+ "length": 5,
"value": "1"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBBloodOxygen.swift",
"kind": "IntegerLiteral",
- "offset": 269,
- "length": 8,
+ "offset": 905,
+ "length": 5,
"value": "2"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBBloodOxygen.swift",
"kind": "IntegerLiteral",
- "offset": 302,
- "length": 6,
+ "offset": 936,
+ "length": 5,
"value": "3"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
- "kind": "IntegerLiteral",
- "offset": 339,
- "length": 7,
- "value": "4"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
- "kind": "IntegerLiteral",
- "offset": 371,
- "length": 7,
- "value": "5"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
- "kind": "IntegerLiteral",
- "offset": 412,
- "length": 8,
- "value": "6"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
- "kind": "IntegerLiteral",
- "offset": 445,
- "length": 6,
- "value": "7"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBPeripheral.swift",
"kind": "IntegerLiteral",
- "offset": 482,
- "length": 10,
- "value": "8"
+ "offset": 231,
+ "length": 1,
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
- "kind": "IntegerLiteral",
- "offset": 517,
- "length": 6,
- "value": "9"
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBPeripheral.swift",
+ "kind": "StringLiteral",
+ "offset": 562,
+ "length": 2,
+ "value": "\"\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
- "kind": "IntegerLiteral",
- "offset": 551,
- "length": 5,
- "value": "10"
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBPeripheral.swift",
+ "kind": "Dictionary",
+ "offset": 655,
+ "length": 3,
+ "value": "[]"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
- "kind": "IntegerLiteral",
- "offset": 587,
- "length": 7,
- "value": "11"
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBPeripheral.swift",
+ "kind": "StringLiteral",
+ "offset": 799,
+ "length": 9,
+ "value": "\"Unknown\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
- "kind": "IntegerLiteral",
- "offset": 622,
- "length": 5,
- "value": "12"
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBPeripheral.swift",
+ "kind": "StringLiteral",
+ "offset": 890,
+ "length": 2,
+ "value": "\"\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBPeripheral.swift",
"kind": "IntegerLiteral",
- "offset": 655,
- "length": 5,
- "value": "13"
+ "offset": 995,
+ "length": 1,
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
- "kind": "IntegerLiteral",
- "offset": 688,
- "length": 5,
- "value": "14"
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBPeripheral.swift",
+ "kind": "StringLiteral",
+ "offset": 1043,
+ "length": 2,
+ "value": "\"\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBPeripheral.swift",
"kind": "IntegerLiteral",
- "offset": 730,
- "length": 10,
- "value": "15"
+ "offset": 1104,
+ "length": 1,
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBPeripheral.swift",
"kind": "IntegerLiteral",
- "offset": 774,
- "length": 9,
- "value": "16"
+ "offset": 1155,
+ "length": 1,
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBPeripheral.swift",
"kind": "IntegerLiteral",
- "offset": 811,
- "length": 6,
- "value": "17"
+ "offset": 1204,
+ "length": 1,
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBEpo.swift",
"kind": "IntegerLiteral",
- "offset": 842,
- "length": 4,
- "value": "18"
+ "offset": 193,
+ "length": 1,
+ "value": "5"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBEpo.swift",
"kind": "IntegerLiteral",
- "offset": 874,
- "length": 10,
- "value": "19"
+ "offset": 305,
+ "length": 1,
+ "value": "6"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
- "kind": "IntegerLiteral",
- "offset": 912,
- "length": 7,
- "value": "20"
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBEpo.swift",
+ "kind": "StringLiteral",
+ "offset": 421,
+ "length": 2,
+ "value": "\"\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
- "kind": "IntegerLiteral",
- "offset": 953,
- "length": 8,
- "value": "21"
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBEpo.swift",
+ "kind": "StringLiteral",
+ "offset": 479,
+ "length": 2,
+ "value": "\"\""
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBEpo.swift",
"kind": "IntegerLiteral",
- "offset": 992,
- "length": 7,
- "value": "22"
+ "offset": 540,
+ "length": 1,
+ "value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
"kind": "IntegerLiteral",
"offset": 208,
"length": 1,
"value": "0"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
"kind": "IntegerLiteral",
"offset": 234,
"length": 7,
"value": "1"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
"kind": "IntegerLiteral",
"offset": 269,
"length": 8,
"value": "2"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
"kind": "IntegerLiteral",
"offset": 302,
"length": 6,
"value": "3"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
"kind": "IntegerLiteral",
"offset": 339,
"length": 7,
"value": "4"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
"kind": "IntegerLiteral",
"offset": 371,
"length": 7,
"value": "5"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
"kind": "IntegerLiteral",
"offset": 412,
"length": 8,
"value": "6"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
"kind": "IntegerLiteral",
"offset": 445,
"length": 6,
"value": "7"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
"kind": "IntegerLiteral",
"offset": 482,
"length": 10,
"value": "8"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
"kind": "IntegerLiteral",
"offset": 517,
"length": 6,
"value": "9"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
"kind": "IntegerLiteral",
"offset": 551,
"length": 5,
"value": "10"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
"kind": "IntegerLiteral",
"offset": 587,
"length": 7,
"value": "11"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
"kind": "IntegerLiteral",
"offset": 622,
"length": 5,
"value": "12"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
"kind": "IntegerLiteral",
"offset": 655,
"length": 5,
"value": "13"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
"kind": "IntegerLiteral",
"offset": 688,
"length": 5,
"value": "14"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
"kind": "IntegerLiteral",
"offset": 730,
"length": 10,
"value": "15"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
"kind": "IntegerLiteral",
"offset": 774,
"length": 9,
"value": "16"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
"kind": "IntegerLiteral",
"offset": 811,
"length": 6,
"value": "17"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
"kind": "IntegerLiteral",
"offset": 842,
"length": 4,
"value": "18"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
"kind": "IntegerLiteral",
"offset": 874,
"length": 10,
"value": "19"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
"kind": "IntegerLiteral",
"offset": 912,
"length": 7,
"value": "20"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
"kind": "IntegerLiteral",
"offset": 953,
"length": 8,
"value": "21"
},
{
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/IOTBluetooth-iOS\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
"kind": "IntegerLiteral",
"offset": 992,
"length": 7,
"value": "22"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBReceiveManager.swift",
- "kind": "IntegerLiteral",
- "offset": 606,
- "length": 1,
- "value": "2"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBReceiveManager.swift",
- "kind": "IntegerLiteral",
- "offset": 623,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBReceiveManager.swift",
- "kind": "IntegerLiteral",
- "offset": 741,
- "length": 2,
- "value": "18"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBReceiveManager.swift",
- "kind": "IntegerLiteral",
- "offset": 749,
- "length": 1,
- "value": "0"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBReceiveManager.swift",
- "kind": "IntegerLiteral",
- "offset": 755,
- "length": 4,
- "value": "0x72"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBReceiveManager.swift",
- "kind": "StringLiteral",
- "offset": 813,
- "length": 13,
- "value": "\"Notify Read\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBReceiveManager.swift",
- "kind": "StringLiteral",
- "offset": 829,
- "length": 6,
- "value": "\"Read\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBReceiveManager.swift",
- "kind": "IntegerLiteral",
- "offset": 922,
- "length": 1,
- "value": "3"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBReceiveManager.swift",
- "kind": "IntegerLiteral",
- "offset": 926,
- "length": 1,
- "value": "6"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBReceiveManager.swift",
- "kind": "IntegerLiteral",
- "offset": 966,
- "length": 1,
- "value": "7"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBReceiveManager.swift",
- "kind": "IntegerLiteral",
- "offset": 970,
- "length": 2,
- "value": "10"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBReceiveManager.swift",
- "kind": "IntegerLiteral",
- "offset": 1010,
- "length": 2,
- "value": "11"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBReceiveManager.swift",
- "kind": "IntegerLiteral",
- "offset": 1015,
- "length": 2,
- "value": "14"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBReceiveManager.swift",
- "kind": "IntegerLiteral",
- "offset": 1053,
- "length": 2,
- "value": "15"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBReceiveManager.swift",
- "kind": "IntegerLiteral",
- "offset": 1058,
- "length": 2,
- "value": "16"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBReceiveManager.swift",
- "kind": "StringLiteral",
- "offset": 1114,
- "length": 4,
- "value": "\"->\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBReceiveManager.swift",
- "kind": "StringLiteral",
- "offset": 1120,
- "length": 91,
- "value": "\"pkgTotal = \""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBReceiveManager.swift",
- "kind": "StringLiteral",
- "offset": 1143,
- "length": 1,
- "value": "\",dataTotal = \""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBReceiveManager.swift",
- "kind": "StringLiteral",
- "offset": 1168,
- "length": 1,
- "value": "\",pkgIndex = \""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBReceiveManager.swift",
- "kind": "StringLiteral",
- "offset": 1191,
- "length": 1,
- "value": "\",pkgLen = \""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBReceiveManager.swift",
- "kind": "StringLiteral",
- "offset": 1210,
- "length": 15,
- "value": "\"\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBReceiveManager.swift",
- "kind": "StringLiteral",
- "offset": 1224,
- "length": 3,
- "value": "\" \""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBReceiveManager.swift",
- "kind": "IntegerLiteral",
- "offset": 1353,
- "length": 1,
- "value": "1"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBReceiveManager.swift",
- "kind": "IntegerLiteral",
- "offset": 1399,
- "length": 2,
- "value": "17"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBReceiveManager.swift",
- "kind": "IntegerLiteral",
- "offset": 1446,
- "length": 1,
- "value": "1"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBReceiveManager.swift",
- "kind": "IntegerLiteral",
- "offset": 1622,
- "length": 2,
- "value": "17"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBReceiveManager.swift",
- "kind": "StringLiteral",
- "offset": 1713,
- "length": 51,
- "value": "\"total = \""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBReceiveManager.swift",
- "kind": "StringLiteral",
- "offset": 1734,
- "length": 1,
- "value": "\",receive = \""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBReceiveManager.swift",
- "kind": "StringLiteral",
- "offset": 1763,
- "length": 2,
- "value": "\"\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBReceiveManager.swift",
- "kind": "StringLiteral",
- "offset": 2123,
- "length": 3,
- "value": "\" \""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBReceiveManager.swift",
- "kind": "StringLiteral",
- "offset": 3122,
- "length": 17,
- "value": "\"IOTBletooth.mac\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBReceiveManager.swift",
- "kind": "Array",
- "offset": 3154,
- "length": 2,
- "value": "[]"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBReceiveManager.swift",
- "kind": "BooleanLiteral",
- "offset": 3522,
- "length": 5,
- "value": "false"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBReceiveManager.swift",
- "kind": "IntegerLiteral",
- "offset": 3723,
- "length": 1,
- "value": "2"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBReceiveManager.swift",
- "kind": "BooleanLiteral",
- "offset": 3815,
- "length": 4,
- "value": "true"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBReceiveManager.swift",
- "kind": "IntegerLiteral",
- "offset": 3924,
- "length": 1,
- "value": "1"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBReceiveManager.swift",
- "kind": "StringLiteral",
- "offset": 4005,
- "length": 26,
- "value": "\"等待手表同意连接\""
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBReceiveManager.swift",
- "kind": "IntegerLiteral",
- "offset": 4084,
- "length": 1,
- "value": "3"
- },
- {
- "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBReceiveManager.swift",
- "kind": "BooleanLiteral",
- "offset": 4187,
- "length": 5,
- "value": "false"
}
]
}
\ No newline at end of file
// swift-interface-format-version: 1.0
-// swift-compiler-version: Apple Swift version 5.9.2 effective-4.2 (swiftlang-5.9.2.2.56 clang-1500.1.0.2.5)
-// swift-module-flags: -target arm64-apple-ios13.0 -enable-objc-interop -enable-library-evolution -swift-version 4.2 -enforce-exclusivity=checked -O -module-name IOTBluetooth
-// swift-module-flags-ignorable: -enable-bare-slash-regex
+// swift-compiler-version: Apple Swift version 6.0.3 effective-4.2 (swiftlang-6.0.3.1.10 clang-1600.0.30.1)
+// swift-module-flags: -target arm64-apple-ios13.0 -enable-objc-interop -enable-library-evolution -swift-version 4.2 -enforce-exclusivity=checked -O -enable-bare-slash-regex -module-name IOTBluetooth
+// swift-module-flags-ignorable: -no-verify-emitted-module-interface
import CoreBluetooth
import Foundation
@_exported import IOTBluetooth
-import MixSdk
import Swift
import _Concurrency
import _StringProcessing
}
@objc deinit
}
+public class IBPush {
+ public var type: IOTBluetooth.IBPushType
+ public var state: Swift.Int
+ public init()
+ public init(type: IOTBluetooth.IBPushType, state: Swift.Int)
+ public static var all: [IOTBluetooth.IBPush] {
+ get
+ }
+ @objc deinit
+}
+public enum IBPushType : Swift.Int {
+ case tel
+ case sms
+ case email
+ case wechat
+ case qq
+ case facebook
+ case twitter
+ case whatsapp
+ case linkedIn
+ case instagram
+ case messenger
+ case snapchat
+ case line
+ case talk
+ case viber
+ case skype
+ case telegram
+ case other
+ public var name: Swift.String {
+ get
+ }
+ public var bundleId: Swift.String {
+ get
+ }
+ public init?(rawValue: Swift.Int)
+ public typealias RawValue = Swift.Int
+ public var rawValue: Swift.Int {
+ get
+ }
+}
public class IBHistoryStandItem {
public var time: Swift.Int
public init()
case fetchFils(IOTBluetooth.IBFile)
case aiValid(IOTBluetooth.IBAiValid)
case aiResponse(IOTBluetooth.IBAiResponse)
+ case setPassword(IOTBluetooth.IBPassword)
+ case setPush([IOTBluetooth.IBPush])
+ case setSosContact([IOTBluetooth.IBContact])
+ case sendSchedule([IOTBluetooth.IBSchedule])
}
public enum IBMotionMode : Swift.Int {
case walking
public static let trainStateDidChanged: IOTBluetooth.IBNotify.Name
public static let trainingData: IOTBluetooth.IBNotify.Name
}
+public class IBPassword : Swift.Codable {
+ public var type: Swift.Int
+ public var password: Swift.String
+ public init()
+ public init(type: Swift.Int, password: Swift.String)
+ @objc deinit
+ public func encode(to encoder: any Swift.Encoder) throws
+ required public init(from decoder: any Swift.Decoder) throws
+}
extension Swift.String {
public var binary: Swift.String {
get
@objc deinit
}
extension IOTBluetooth.IBAbility {
+ public static let getPasssword: IOTBluetooth.IBAbility
+ public static let setPasssword: IOTBluetooth.IBAbility
+ public static let getPushConfig: IOTBluetooth.IBAbility
+ public static let setPushConfig: IOTBluetooth.IBAbility
+ public static let getSosContact: IOTBluetooth.IBAbility
+ public static let setSosContact: IOTBluetooth.IBAbility
+ public static let sendSchedule: IOTBluetooth.IBAbility
public static let userData: IOTBluetooth.IBAbility
public static let about: IOTBluetooth.IBAbility
public static let switchDial: IOTBluetooth.IBAbility
public func encode(to encoder: any Swift.Encoder) throws
required public init(from decoder: any Swift.Decoder) throws
}
+public class IBContact {
+ public var gender: Swift.Int
+ public var name: Swift.String
+ public var tel: Swift.String
+ public init()
+ @objc deinit
+}
@_hasMissingDesignatedInitializers public class IBTargetStep {
public var value: Swift.Int
public var ring: Swift.Int
public func encode(to encoder: any Swift.Encoder) throws
required public init(from decoder: any Swift.Decoder) throws
}
+public class IBSchedule {
+ public var id: Swift.Int
+ public var title: Swift.String
+ public var begin: Swift.Int
+ public var end: Swift.Int
+ public var content: Swift.String?
+ public init()
+ @objc deinit
+}
public class IBHistorySleepItem {
public var sleepId: Swift.Int
public var type: Swift.Int
get
}
}
+extension IOTBluetooth.IBPushType : Swift.Equatable {}
+extension IOTBluetooth.IBPushType : Swift.Hashable {}
+extension IOTBluetooth.IBPushType : Swift.RawRepresentable {}
extension IOTBluetooth.IBMotionMode : Swift.Equatable {}
extension IOTBluetooth.IBMotionMode : Swift.Hashable {}
extension IOTBluetooth.IBMotionMode : Swift.RawRepresentable {}
// swift-interface-format-version: 1.0
-// swift-compiler-version: Apple Swift version 5.9.2 effective-4.2 (swiftlang-5.9.2.2.56 clang-1500.1.0.2.5)
-// swift-module-flags: -target arm64-apple-ios13.0 -enable-objc-interop -enable-library-evolution -swift-version 4.2 -enforce-exclusivity=checked -O -module-name IOTBluetooth
-// swift-module-flags-ignorable: -enable-bare-slash-regex
+// swift-compiler-version: Apple Swift version 6.0.3 effective-4.2 (swiftlang-6.0.3.1.10 clang-1600.0.30.1)
+// swift-module-flags: -target arm64-apple-ios13.0 -enable-objc-interop -enable-library-evolution -swift-version 4.2 -enforce-exclusivity=checked -O -enable-bare-slash-regex -module-name IOTBluetooth
+// swift-module-flags-ignorable: -no-verify-emitted-module-interface
import CoreBluetooth
import Foundation
@_exported import IOTBluetooth
-import MixSdk
import Swift
import _Concurrency
import _StringProcessing
}
@objc deinit
}
+public class IBPush {
+ public var type: IOTBluetooth.IBPushType
+ public var state: Swift.Int
+ public init()
+ public init(type: IOTBluetooth.IBPushType, state: Swift.Int)
+ public static var all: [IOTBluetooth.IBPush] {
+ get
+ }
+ @objc deinit
+}
+public enum IBPushType : Swift.Int {
+ case tel
+ case sms
+ case email
+ case wechat
+ case qq
+ case facebook
+ case twitter
+ case whatsapp
+ case linkedIn
+ case instagram
+ case messenger
+ case snapchat
+ case line
+ case talk
+ case viber
+ case skype
+ case telegram
+ case other
+ public var name: Swift.String {
+ get
+ }
+ public var bundleId: Swift.String {
+ get
+ }
+ public init?(rawValue: Swift.Int)
+ public typealias RawValue = Swift.Int
+ public var rawValue: Swift.Int {
+ get
+ }
+}
public class IBHistoryStandItem {
public var time: Swift.Int
public init()
case fetchFils(IOTBluetooth.IBFile)
case aiValid(IOTBluetooth.IBAiValid)
case aiResponse(IOTBluetooth.IBAiResponse)
+ case setPassword(IOTBluetooth.IBPassword)
+ case setPush([IOTBluetooth.IBPush])
+ case setSosContact([IOTBluetooth.IBContact])
+ case sendSchedule([IOTBluetooth.IBSchedule])
}
public enum IBMotionMode : Swift.Int {
case walking
public static let trainStateDidChanged: IOTBluetooth.IBNotify.Name
public static let trainingData: IOTBluetooth.IBNotify.Name
}
+public class IBPassword : Swift.Codable {
+ public var type: Swift.Int
+ public var password: Swift.String
+ public init()
+ public init(type: Swift.Int, password: Swift.String)
+ @objc deinit
+ public func encode(to encoder: any Swift.Encoder) throws
+ required public init(from decoder: any Swift.Decoder) throws
+}
extension Swift.String {
public var binary: Swift.String {
get
@objc deinit
}
extension IOTBluetooth.IBAbility {
+ public static let getPasssword: IOTBluetooth.IBAbility
+ public static let setPasssword: IOTBluetooth.IBAbility
+ public static let getPushConfig: IOTBluetooth.IBAbility
+ public static let setPushConfig: IOTBluetooth.IBAbility
+ public static let getSosContact: IOTBluetooth.IBAbility
+ public static let setSosContact: IOTBluetooth.IBAbility
+ public static let sendSchedule: IOTBluetooth.IBAbility
public static let userData: IOTBluetooth.IBAbility
public static let about: IOTBluetooth.IBAbility
public static let switchDial: IOTBluetooth.IBAbility
public func encode(to encoder: any Swift.Encoder) throws
required public init(from decoder: any Swift.Decoder) throws
}
+public class IBContact {
+ public var gender: Swift.Int
+ public var name: Swift.String
+ public var tel: Swift.String
+ public init()
+ @objc deinit
+}
@_hasMissingDesignatedInitializers public class IBTargetStep {
public var value: Swift.Int
public var ring: Swift.Int
public func encode(to encoder: any Swift.Encoder) throws
required public init(from decoder: any Swift.Decoder) throws
}
+public class IBSchedule {
+ public var id: Swift.Int
+ public var title: Swift.String
+ public var begin: Swift.Int
+ public var end: Swift.Int
+ public var content: Swift.String?
+ public init()
+ @objc deinit
+}
public class IBHistorySleepItem {
public var sleepId: Swift.Int
public var type: Swift.Int
get
}
}
+extension IOTBluetooth.IBPushType : Swift.Equatable {}
+extension IOTBluetooth.IBPushType : Swift.Hashable {}
+extension IOTBluetooth.IBPushType : Swift.RawRepresentable {}
extension IOTBluetooth.IBMotionMode : Swift.Equatable {}
extension IOTBluetooth.IBMotionMode : Swift.Hashable {}
extension IOTBluetooth.IBMotionMode : Swift.RawRepresentable {}
</data>
<key>Headers/IOTBluetooth-Swift.h</key>
<data>
- 4u7s3lgUU0ZRCs9KLo9RlIeeDdY=
+ luzWnQ+hMKIlTxr0f7z9TWyQBLY=
</data>
<key>Headers/IOTBluetooth.h</key>
<data>
</data>
<key>Info.plist</key>
<data>
- EhrQc/+GENRMda4/EH3YiGtlFfs=
+ B8fADgmg9OhFP1iTlsEj70ueUZU=
</data>
<key>Modules/IOTBluetooth.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo</key>
<data>
- Xd+6FadCG/e00/SbQiZBoH2ak4g=
+ XSbxdn1cnNs6DZT57SMNLyf+HOY=
</data>
<key>Modules/IOTBluetooth.swiftmodule/arm64-apple-ios.abi.json</key>
<data>
- HI7hQPlR2SbqXr08cD3LuvrDx4Y=
+ zH5b139fZH5YPJlXQ4djsuYmoks=
</data>
<key>Modules/IOTBluetooth.swiftmodule/arm64-apple-ios.private.swiftinterface</key>
<data>
- nZG5CM56VGfa2pCNjsFdMuyyyVg=
+ kEOUCLrSXjc+UkDENmWXbd0GHTM=
</data>
<key>Modules/IOTBluetooth.swiftmodule/arm64-apple-ios.swiftdoc</key>
<data>
- N8uLFZexijo9zMeNDQmCESJERk0=
+ ix9KIXfvRaiBezkeFbh+Zm6iaMs=
</data>
<key>Modules/IOTBluetooth.swiftmodule/arm64-apple-ios.swiftinterface</key>
<data>
- nZG5CM56VGfa2pCNjsFdMuyyyVg=
+ kEOUCLrSXjc+UkDENmWXbd0GHTM=
</data>
<key>Modules/IOTBluetooth.swiftmodule/arm64-apple-ios.swiftmodule</key>
<data>
- epeSFLhUak/AegK9lUEDoluhwhQ=
+ 7pWTpI1uYLUKSNcU65hjT1yTmkQ=
</data>
<key>Modules/module.modulemap</key>
<data>
<dict>
<key>AIAudio.sbc</key>
<dict>
+ <key>hash</key>
+ <data>
+ RpFgliSugx7VRkEHRc78ZrqRreA=
+ </data>
<key>hash2</key>
<data>
lug8RrnIKGI1YtMEMhWLfcDk+wMEUF5obxlr3Cxw6p8=
</dict>
<key>Headers/IOTBluetooth-Swift.h</key>
<dict>
+ <key>hash</key>
+ <data>
+ luzWnQ+hMKIlTxr0f7z9TWyQBLY=
+ </data>
<key>hash2</key>
<data>
- Xd0LmXqn8nVUZTLM0kPVtRYwhJozURjexTerWZVZCg0=
+ 1E/uDm8vNPhK8Gnczl6UVHO9fUtGU0jmTC8AxNJHz2Y=
</data>
</dict>
<key>Headers/IOTBluetooth.h</key>
<dict>
+ <key>hash</key>
+ <data>
+ CrKsp3/hSXf2W2Rs1jwI971L6AA=
+ </data>
<key>hash2</key>
<data>
KtifMyVkNOlsgy1BY5TN2xjfY/5n6yI4GLJspf4NES4=
</dict>
<key>Modules/IOTBluetooth.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo</key>
<dict>
+ <key>hash</key>
+ <data>
+ XSbxdn1cnNs6DZT57SMNLyf+HOY=
+ </data>
<key>hash2</key>
<data>
- DRXHRqxqAPOF26Ykkyxp6NmW9t4nPg8ageaRVFnpqs8=
+ +X+g6H19gmntfw0r2PoakeESTukm17kS5+9zcH2mR/k=
</data>
</dict>
<key>Modules/IOTBluetooth.swiftmodule/arm64-apple-ios.abi.json</key>
<dict>
+ <key>hash</key>
+ <data>
+ zH5b139fZH5YPJlXQ4djsuYmoks=
+ </data>
<key>hash2</key>
<data>
- 3QIWxXinIghXukooR3LOMtjmQpdasdHGmi+p6rioPTc=
+ 3xUGYZs6W5lRUVrwnbbUFLmxFFagnvxi1/A1SoAxZvs=
</data>
</dict>
<key>Modules/IOTBluetooth.swiftmodule/arm64-apple-ios.private.swiftinterface</key>
<dict>
+ <key>hash</key>
+ <data>
+ kEOUCLrSXjc+UkDENmWXbd0GHTM=
+ </data>
<key>hash2</key>
<data>
- 0B82j99gBNGsxG1Oc3ZTTEeKVM85W/XVHIid5u+y8fU=
+ bumi5dmMMniMZ88m9ydzdDaE/0z4YbNkS030HY3FHlY=
</data>
</dict>
<key>Modules/IOTBluetooth.swiftmodule/arm64-apple-ios.swiftdoc</key>
<dict>
+ <key>hash</key>
+ <data>
+ ix9KIXfvRaiBezkeFbh+Zm6iaMs=
+ </data>
<key>hash2</key>
<data>
- SGmXdFXpzCNaYxdt/1oW3BFX5MXeNegzx42u3WXG6kg=
+ XaJ5MBtdEXlhxmpO3QZx3FuLFe4BxKHPsNHTQwfTRaw=
</data>
</dict>
<key>Modules/IOTBluetooth.swiftmodule/arm64-apple-ios.swiftinterface</key>
<dict>
+ <key>hash</key>
+ <data>
+ kEOUCLrSXjc+UkDENmWXbd0GHTM=
+ </data>
<key>hash2</key>
<data>
- 0B82j99gBNGsxG1Oc3ZTTEeKVM85W/XVHIid5u+y8fU=
+ bumi5dmMMniMZ88m9ydzdDaE/0z4YbNkS030HY3FHlY=
</data>
</dict>
<key>Modules/IOTBluetooth.swiftmodule/arm64-apple-ios.swiftmodule</key>
<dict>
+ <key>hash</key>
+ <data>
+ 7pWTpI1uYLUKSNcU65hjT1yTmkQ=
+ </data>
<key>hash2</key>
<data>
- 1850HxTfSzyipId5RLpOidHTa4BMFtIxDbguSuZqTBs=
+ Lvfu+Jb1QlFvFe6qqYGn/toNOL4onkwpvu92K17mTM4=
</data>
</dict>
<key>Modules/module.modulemap</key>
<dict>
+ <key>hash</key>
+ <data>
+ pRm+64P7ZdWVtxHxqRuknKgapcg=
+ </data>
<key>hash2</key>
<data>
oFH+JoszZH+8P329Q+m8Vqe6dNQeyY879pW0aT/2770=
1839DBDB2C18754600E33B6E /* galaxy.lzma in Resources */ = {isa = PBXBuildFile; fileRef = 1839DBD72C18754600E33B6E /* galaxy.lzma */; };
1839DBDC2C18754600E33B6E /* 黄沙-名决.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = 1839DBD82C18754600E33B6E /* 黄沙-名决.mp3 */; };
1839DBDD2C18754600E33B6E /* 大约在冬季.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = 1839DBD92C18754600E33B6E /* 大约在冬季.mp3 */; };
- 184B94CE2BF610790042BEB3 /* IOTBluetooth.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 184B94CC2BF6102C0042BEB3 /* IOTBluetooth.framework */; };
- 184B94CF2BF610790042BEB3 /* IOTBluetooth.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 184B94CC2BF6102C0042BEB3 /* IOTBluetooth.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
185E9C392C255C460078C808 /* 20240604_155433_2_V1.0.1_20240618_113111_ota.fwpkg in Resources */ = {isa = PBXBuildFile; fileRef = 185E9C382C255C460078C808 /* 20240604_155433_2_V1.0.1_20240618_113111_ota.fwpkg */; };
+ 3FD5D1412D3E3786009E86FE /* AIAudio.sbc in Resources */ = {isa = PBXBuildFile; fileRef = 3FD5D1402D3E3786009E86FE /* AIAudio.sbc */; };
+ 3FD5D1422D3E37F9009E86FE /* IOTBluetooth.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 184B94CC2BF6102C0042BEB3 /* IOTBluetooth.framework */; };
8A1DFF522B9EB4F800B735FF /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8A1DFF512B9EB4F800B735FF /* AppDelegate.swift */; };
8A1DFF562B9EB4F800B735FF /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8A1DFF552B9EB4F800B735FF /* ViewController.swift */; };
8A1DFF592B9EB4F900B735FF /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 8A1DFF572B9EB4F900B735FF /* Main.storyboard */; };
8A9F6ABE2BA0475100DA520F /* CoreBluetooth.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8A0A39C82B980CC2006A3B18 /* CoreBluetooth.framework */; };
/* End PBXBuildFile section */
-/* Begin PBXCopyFilesBuildPhase section */
- 8A9F6AC62BA05CB500DA520F /* Embed Frameworks */ = {
- isa = PBXCopyFilesBuildPhase;
- buildActionMask = 2147483647;
- dstPath = "";
- dstSubfolderSpec = 10;
- files = (
- 184B94CF2BF610790042BEB3 /* IOTBluetooth.framework in Embed Frameworks */,
- );
- name = "Embed Frameworks";
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXCopyFilesBuildPhase section */
-
/* Begin PBXFileReference section */
1839DBD72C18754600E33B6E /* galaxy.lzma */ = {isa = PBXFileReference; lastKnownFileType = file; path = galaxy.lzma; sourceTree = "<group>"; };
1839DBD82C18754600E33B6E /* 黄沙-名决.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = "黄沙-名决.mp3"; sourceTree = "<group>"; };
1839DBD92C18754600E33B6E /* 大约在冬季.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = "大约在冬季.mp3"; sourceTree = "<group>"; };
184B94CC2BF6102C0042BEB3 /* IOTBluetooth.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = IOTBluetooth.framework; sourceTree = "<group>"; };
185E9C382C255C460078C808 /* 20240604_155433_2_V1.0.1_20240618_113111_ota.fwpkg */ = {isa = PBXFileReference; lastKnownFileType = file; path = 20240604_155433_2_V1.0.1_20240618_113111_ota.fwpkg; sourceTree = "<group>"; };
+ 3FD5D1402D3E3786009E86FE /* AIAudio.sbc */ = {isa = PBXFileReference; lastKnownFileType = file; path = AIAudio.sbc; sourceTree = "<group>"; };
8A0A39C82B980CC2006A3B18 /* CoreBluetooth.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreBluetooth.framework; path = System/Library/Frameworks/CoreBluetooth.framework; sourceTree = SDKROOT; };
8A1DFF4F2B9EB4F800B735FF /* Example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Example.app; sourceTree = BUILT_PRODUCTS_DIR; };
8A1DFF512B9EB4F800B735FF /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
- 184B94CE2BF610790042BEB3 /* IOTBluetooth.framework in Frameworks */,
+ 3FD5D1422D3E37F9009E86FE /* IOTBluetooth.framework in Frameworks */,
8A9F6ABE2BA0475100DA520F /* CoreBluetooth.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
1839DBD52C18754600E33B6E /* Resource */ = {
isa = PBXGroup;
children = (
+ 3FD5D1402D3E3786009E86FE /* AIAudio.sbc */,
185E9C382C255C460078C808 /* 20240604_155433_2_V1.0.1_20240618_113111_ota.fwpkg */,
1839DBD72C18754600E33B6E /* galaxy.lzma */,
1839DBD82C18754600E33B6E /* 黄沙-名决.mp3 */,
8A1DFF4B2B9EB4F800B735FF /* Sources */,
8A1DFF4C2B9EB4F800B735FF /* Frameworks */,
8A1DFF4D2B9EB4F800B735FF /* Resources */,
- 8A9F6AC62BA05CB500DA520F /* Embed Frameworks */,
);
buildRules = (
);
8A1DFF5B2B9EB4F900B735FF /* Assets.xcassets in Resources */,
8A1DFF592B9EB4F900B735FF /* Main.storyboard in Resources */,
185E9C392C255C460078C808 /* 20240604_155433_2_V1.0.1_20240618_113111_ota.fwpkg in Resources */,
+ 3FD5D1412D3E3786009E86FE /* AIAudio.sbc in Resources */,
1839DBDD2C18754600E33B6E /* 大约在冬季.mp3 in Resources */,
1839DBDB2C18754600E33B6E /* galaxy.lzma in Resources */,
);
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>SchemeUserState</key>
+ <dict>
+ <key>Example.xcscheme_^#shared#^_</key>
+ <dict>
+ <key>orderHint</key>
+ <integer>0</integer>
+ </dict>
+ </dict>
+</dict>
+</plist>
override func viewDidLoad() {
super.viewDidLoad()
title = "已连接" + IBManager.currentConnected!.name
- navigationItem.rightBarButtonItem = UIBarButtonItem(title: "Log", style: .plain, target: self, action: #selector(showLog))
+ navigationItem.rightBarButtonItems = [UIBarButtonItem(title: "Log", style: .plain, target: self, action: #selector(showLog)),
+ UIBarButtonItem(title: "chat", style: .plain, target: self, action: #selector(chatAction))]
}
deinit {
let vc = storyboard!.instantiateViewController(identifier: "LogViewController")
navigationController?.pushViewController(vc, animated: true)
}
+ @objc func chatAction(){
+ let vc = ChatViewController()
+ navigationController?.pushViewController(vc, animated: true)
+ }
}
extension AbilityViewController: UITableViewDelegate, UITableViewDataSource {
// ID: 103 | Name: jellyfish
// ID: 1028 | Name: KUMI
- guard let path = Bundle.main.path(forResource: "galaxy", ofType: "lzma") else {return}
+ guard let path = Bundle.main.path(forResource: "nangua", ofType: "lzma") else {return}
let file = IBDialFile()
file.filePath = path
- file.fileName = "galaxy.lzma"
+ file.fileName = "nangua.lzma"
let info = IBDial()
- info.UID = 10002
+ info.UID = 120
info.files = [file]
- info.theme = "黑暗001"
+ info.theme = "万圣南瓜"
// activityIndicatorView.startAnimating()
IBFileSender().dial(info).progress({ total, current in
// Override point for customization after application launch.
IBManager.isDebug = true
IBManager.initializationSDK()
+ IBAiManager.shared.productId = "WTxAKo2qD2pXOZZLW3zz"
+ IBAiManager.shared.productKey = "YqggeKCxfEOVQGjUYrpQQdEstGpvojzn"
+ IBAiManager.shared.chatGptKey = "sk-proj-04ogvrZQqyaiv1OWw8OZT3BlbkFJG9Gyr8oFvRdmr3oXQNbX"
+
return true
}
--- /dev/null
+//
+// ChatCell.swift
+// IOTBluetooth
+//
+// Created by liangshi on 2025/2/8.
+//
+
+
+
+import UIKit
+import IOTBluetooth
+let kScreenWidth = UIScreen.main.bounds.size.width
+class ChatCell:UITableViewCell{
+ static let ID = "ChatCell"
+ var bgView = UIView()
+ var msgLabel = UILabel()
+
+ override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
+ super.init(style: style, reuseIdentifier: reuseIdentifier)
+
+
+ bgView.layer.cornerRadius = 10
+ bgView.layer.masksToBounds = true
+ msgLabel.numberOfLines = 0
+
+ contentView.addSubview(bgView)
+ bgView.addSubview(msgLabel)
+
+ bgView.snp.makeConstraints { make in
+ make.top.bottom.equalToSuperview().inset(10)
+// make.width.lessThanOrEqualTo(kScreenWidth - 40)
+ }
+
+ msgLabel.snp.makeConstraints { make in
+ make.top.bottom.equalToSuperview().inset(5)
+ make.left.right.equalToSuperview().inset(10)
+ make.width.lessThanOrEqualTo(kScreenWidth - 100)
+ }
+ }
+
+ required init?(coder: NSCoder) {
+ fatalError("init(coder:) has not been implemented")
+ }
+
+ var data:IBAiResponse!{
+ didSet{
+ if data.type == 1 {
+ bgView.backgroundColor = .lightGray
+ bgView.snp.remakeConstraints { make in
+ make.top.bottom.equalToSuperview().inset(10)
+ // make.width.lessThanOrEqualTo(kScreenWidth - 40)
+ make.right.equalToSuperview().inset(20)
+ }
+ }
+ else{
+ bgView.backgroundColor = .systemGreen
+ bgView.snp.remakeConstraints { make in
+ make.top.bottom.equalToSuperview().inset(10)
+ // make.width.lessThanOrEqualTo(kScreenWidth - 40)
+ make.left.equalToSuperview().inset(20)
+ }
+ }
+ msgLabel.text = data.value
+ }
+ }
+}
--- /dev/null
+//
+// Untitled.swift
+// IOTBluetooth
+//
+// Created by liangshi on 2025/2/8.
+//
+
+import UIKit
+import MixSdk
+import SnapKit
+import Toast_Swift
+import IOTBluetooth
+class ChatViewController: UIViewController{
+ let tableView = UITableView(frame: CGRectZero, style: .plain)
+
+ var list:[IBAiResponse] = [
+
+ ]
+
+ override func viewDidLoad() {
+ super.viewDidLoad()
+ // Do any additional setup after loading the view.
+
+ setupViews()
+ setupChatCallBack()
+ //设置默认平台
+ self.title = MSPlatform.doubao.title
+
+ }
+
+
+ func setupViews(){
+ self.title = "大模型对话"
+ self.view.backgroundColor = .white
+ self.navigationItem.rightBarButtonItems = [UIBarButtonItem(title: "切换平台", style: .done, target: self, action: #selector(changePlatform)),UIBarButtonItem(title: "clean", style: .done, target: self, action: #selector(cleanAction))]
+
+
+ tableView.delegate = self
+ tableView.dataSource = self
+ tableView.estimatedRowHeight = 60
+ tableView.register(ChatCell.self, forCellReuseIdentifier: ChatCell.ID)
+ view.addSubview(tableView)
+ tableView.snp.makeConstraints { make in
+ make.top.equalToSuperview().inset(80)
+ make.left.right.equalToSuperview()
+ make.bottom.equalToSuperview()
+ }
+ }
+
+ func setupChatCallBack(){
+ IBAiManager.shared.aiResponse = {[weak self] response in
+ print(response.description)
+ guard let self = self else {return}
+ if response.state == "end",response.type != 0 {
+ list.append(response)
+ tableView.reloadData()
+ }
+
+ }
+
+// let chat = MixSdk.shared.chat
+// chat.connectStateCallBack = {[weak self] state in
+// guard let self = self else {return}
+// if state == .disConnected{
+// textView.text += Date().format(.full) + " 断开连接。。。" + "\n"
+// let range = NSMakeRange(textView.text.count - 1, 1)
+// textView.scrollRangeToVisible(range)
+// }
+// else{
+// textView.text += Date().format(.full) + " 已连接。。。" + "\n"
+// let range = NSMakeRange(textView.text.count - 1, 1)
+// textView.scrollRangeToVisible(range)
+// }
+// }
+//
+// chat.callBack = {[weak self] model in
+// guard let self = self else {return}
+//
+// if model.type == "start" {
+// textView.text += Date().format(.full) + "[receive] "
+// }
+// else if model.type == "end" {
+// textView.text += "\n"
+// }
+// else if model.type == "middle"{
+// textView.text += model.content ?? ""
+// }
+// let range = NSMakeRange(self.textView.text.count - 1, 1)
+// self.textView.scrollRangeToVisible(range)
+// }
+ }
+
+
+ @objc func changePlatform(){
+ let vc = UIAlertController(title: nil, message: "请选择", preferredStyle: .actionSheet)
+ vc.addAction( UIAlertAction(title: MSPlatform.doubao.title, style: .default) { action in
+ self.title = MSPlatform.doubao.title
+ })
+ vc.addAction(UIAlertAction(title:MSPlatform.yiyan.title, style: .default) { action in
+ self.title = MSPlatform.yiyan.title
+ })
+ vc.addAction(UIAlertAction(title: MSPlatform.kimi.title, style: .default) { action in
+ self.title = MSPlatform.kimi.title
+ })
+ vc.addAction(UIAlertAction(title: MSPlatform.xunfei.title, style: .default) { action in
+ self.title = MSPlatform.xunfei.title
+ })
+ vc.addAction(UIAlertAction(title: MSPlatform.aliyun.title, style: .default) { action in
+// MixSdk.shared.setPlatform(.aliyun)
+ self.title = MSPlatform.aliyun.title
+ })
+ vc.addAction(UIAlertAction(title: MSPlatform.chatGPT.title, style: .default) { action in
+// MixSdk.shared.setPlatform(.chatGPT, key: gptKey)
+// MixSdk.shared.chatGpt.changeModel(model: gptModel)
+ self.title = MSPlatform.chatGPT.title
+ })
+
+ vc.addAction(UIAlertAction(title: "取消", style: .cancel) { action in
+ })
+
+ self.present(vc, animated: true)
+ }
+
+ @objc func cleanAction(){
+// MixSdk.shared.chat.reset()
+ }
+}
+
+extension ChatViewController:UITableViewDelegate,UITableViewDataSource {
+ func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
+ return list.count
+ }
+
+ func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
+ var cell = tableView.dequeueReusableCell(withIdentifier: ChatCell.ID, for: indexPath) as? ChatCell
+ if cell == nil{
+ cell = ChatCell(style: .default, reuseIdentifier: ChatCell.ID)
+ }
+ cell?.data = list[indexPath.row]
+ return cell!
+ }
+ func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
+
+ }
+}
let datas: [(ability: IBAbility, label: String, parameters: [IBParameter])] = [
- (.sendSchedule,"发送日程管理给手表",[.sendSchedule([IBSchedule()])]),
- (.getSosContact,"获取OS紧急联系人",[]),
- (.setSosContact,"设置SOS紧急联系人",[.setSosContact([IBContact()])]),
-
- (.getPushConfig,"获取推送配置",[]),
- (.setPushConfig,"设置推送",[.setPush(IBPush.all)]),
-
- (.getPasssword,"获取密码",[]),
- (.setPasssword,"启用密码",[.setPassword(IBPassword(type: 1, password: "123456"))]),
- (.setPasssword,"删除密码",[.setPassword(IBPassword(type: 0, password: ""))]),
-
- (.userData,"设置用户数据",[.userInfo(IBUserInfo())]),
- (.language, "设置语言", [.language(.chinese)]),
- (.about,"关于本机内容",[]),
- (.find, "开始查找手表", [.action(1)]),
- (.find, "停止查找手表", [.action(0)]),
- (.message, "开启消息推送功能", [.action(1)]),
- (.message, "关闭消息推送功能", [.action(0)]),
-
- (.takePhoto, "开启手势拍照", [.action(1)]),
- (.takePhoto, "关闭手势拍照", [.action(0)]),
- (.restore, "恢复出厂设置", []),
- (.reboot, "重新启动", []),
- (.shutdown, "关机", []),
- (.fetchScreen, "获取手表屏幕参数", []),
- (.screen, "设置手表屏幕参数", [.screen(Config.setScreen())]),
- (.fetchBattery, "获取电量", []),
- (.fetchClock, "获取闹钟设置", []),
- (.setClock, "发送闹钟设置", [.clock(IBClock())]),
+// (.sendSchedule,"发送日程管理给手表",[.sendSchedule([IBSchedule()])]),
+// (.getSosContact,"获取OS紧急联系人",[]),
+// (.setSosContact,"设置SOS紧急联系人",[.setSosContact([IBContact()])]),
+//
+// (.getPushConfig,"获取推送配置",[]),
+// (.setPushConfig,"设置推送",[.setPush(IBPush.all)]),
+//
+// (.getPasssword,"获取密码",[]),
+// (.setPasssword,"启用密码",[.setPassword(IBPassword(type: 1, password: "123456"))]),
+// (.setPasssword,"删除密码",[.setPassword(IBPassword(type: 0, password: ""))]),
+//
+// (.userData,"设置用户数据",[.userInfo(IBUserInfo())]),
+// (.language, "设置语言", [.language(.chinese)]),
+// (.about,"关于本机内容",[]),
+// (.find, "开始查找手表", [.action(1)]),
+// (.find, "停止查找手表", [.action(0)]),
+// (.message, "开启消息推送功能", [.action(1)]),
+// (.message, "关闭消息推送功能", [.action(0)]),
+//
+// (.takePhoto, "开启手势拍照", [.action(1)]),
+// (.takePhoto, "关闭手势拍照", [.action(0)]),
+// (.restore, "恢复出厂设置", []),
+// (.reboot, "重新启动", []),
+// (.shutdown, "关机", []),
+// (.fetchScreen, "获取手表屏幕参数", []),
+// (.screen, "设置手表屏幕参数", [.screen(Config.setScreen())]),
+// (.fetchBattery, "获取电量", []),
+// (.fetchClock, "获取闹钟设置", []),
+// (.setClock, "发送闹钟设置", [.clock(IBClock())]),
(.fetchCurrentDialId, "发送当前表盘ID", []),
- (.switchDial, "切换表盘", [.dialID(1028)]),
- (.deleteDial, "删除表盘", [.dialID(10001)]),
+ (.switchDial, "切换表盘", [.dialID(120)]),
+ (.deleteDial, "删除表盘", [.dialID(120)]),
(.fetchDials, "获取所有表盘UID", []),
- (.checkDialID, "获取某表盘ID是否已安装", [.dialID(10001)]),
+ (.checkDialID, "获取某表盘ID是否已安装", [.dialID(120)]),
(.fetchWatchState, "获取当前手表状态", []),
(.fetchVibrateSound, "获取手表声音与震动参数", []),
let model = object as! IBTrainingData
print("trainingData notice " + model.description)
}
-// IBManager.subscribe(.weather, observer: self) { object, userInfo in
-// print("weather notice ")
-// }
+ startScan(UIButton())
}
deinit {
18204C002C199B8600F94E69 /* IBFileSender+Mp3.swift in Sources */ = {isa = PBXBuildFile; fileRef = 18204BFF2C199B8600F94E69 /* IBFileSender+Mp3.swift */; };
18204C022C199D0E00F94E69 /* IBFileSender+Ota.swift in Sources */ = {isa = PBXBuildFile; fileRef = 18204C012C199D0E00F94E69 /* IBFileSender+Ota.swift */; };
18204C042C199E7800F94E69 /* IBFileSender+Dial.swift in Sources */ = {isa = PBXBuildFile; fileRef = 18204C032C199E7800F94E69 /* IBFileSender+Dial.swift */; };
- 182DDFD12C5CE23800D44D37 /* MixSdk.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 182DDFD02C5CE23800D44D37 /* MixSdk.framework */; };
182DDFD42C5CE68900D44D37 /* IBAiValid.swift in Sources */ = {isa = PBXBuildFile; fileRef = 182DDFD32C5CE68900D44D37 /* IBAiValid.swift */; };
1839DBD02C14442200E33B6E /* IBFetchFile.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1839DBCF2C14442200E33B6E /* IBFetchFile.swift */; };
184431322BF3720E00546E4E /* IBOtherTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 184431312BF3720E00546E4E /* IBOtherTarget.swift */; };
18EF69792C47A86D00AA0A36 /* IBTools.swift in Sources */ = {isa = PBXBuildFile; fileRef = 18EF69782C47A86D00AA0A36 /* IBTools.swift */; };
18EF697A2C47A86D00AA0A36 /* IBTools.swift in Sources */ = {isa = PBXBuildFile; fileRef = 18EF69782C47A86D00AA0A36 /* IBTools.swift */; };
18EFF59B2C080F14001B1E0E /* IBUserInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 18EFF59A2C080F14001B1E0E /* IBUserInfo.swift */; };
- 3F6A07C52D2D06D600F4122A /* MixTools.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3F6A07C42D2D06D600F4122A /* MixTools.framework */; };
+ 39517247ABAC3EA28AABA92A /* Pods_Example.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A87ADBA97338BE6292016534 /* Pods_Example.framework */; };
+ 3F2AF7EC2D5705D400635545 /* MixTools.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3F2AF7E82D5705D400635545 /* MixTools.framework */; };
+ 3F2AF7ED2D5705D400635545 /* MixSdk.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3F2AF7E72D5705D400635545 /* MixSdk.framework */; };
+ 3F2AF7EF2D5705D400635545 /* MixTools.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3F2AF7E82D5705D400635545 /* MixTools.framework */; };
+ 3F2AF7F02D5705D400635545 /* MixSdk.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3F2AF7E72D5705D400635545 /* MixSdk.framework */; };
+ 3F2AF7F32D57106400635545 /* libbz2.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 18EF696B2C47766400AA0A36 /* libbz2.tbd */; };
+ 3F2AF7F42D57107100635545 /* libiconv.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 18EF69692C47765800AA0A36 /* libiconv.tbd */; };
+ 3F2AF7F52D57107A00635545 /* liblzma.5.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 18EF69672C47764400AA0A36 /* liblzma.5.tbd */; };
+ 3F2AF7F62D57108100635545 /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 18EF695F2C476E2000AA0A36 /* libz.tbd */; };
+ 3F2AF7F82D57109700635545 /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3F2AF7F72D57109700635545 /* CoreAudio.framework */; };
+ 3F2AF82F2D57125D00635545 /* ChatViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F2AF7F92D57118D00635545 /* ChatViewController.swift */; };
+ 3F2AF8352D573B6200635545 /* ChatCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F2AF8342D573B5D00635545 /* ChatCell.swift */; };
3F6A07CC2D2D2C3F00F4122A /* IBPassword.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F6A07CB2D2D2C3F00F4122A /* IBPassword.swift */; };
3F9355B72D38FF2100C54DAB /* IBPush.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F9355B62D38FF1900C54DAB /* IBPush.swift */; };
+ 3FCFBFDE2D548D70003FC090 /* nangua.lzma in Resources */ = {isa = PBXBuildFile; fileRef = 3FCFBFDD2D548D70003FC090 /* nangua.lzma */; };
3FFAE0552D3A042900325873 /* IBContact.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3FFAE0542D3A03EF00325873 /* IBContact.swift */; };
3FFAE0572D3A2CFF00325873 /* IBSchedule.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3FFAE0562D3A2CF800325873 /* IBSchedule.swift */; };
8A0A39BF2B980BEF006A3B18 /* IOTBluetooth.h in Headers */ = {isa = PBXBuildFile; fileRef = 8A0A39BE2B980BEF006A3B18 /* IOTBluetooth.h */; settings = {ATTRIBUTES = (Public, ); }; };
8A9F6ABE2BA0475100DA520F /* CoreBluetooth.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8A0A39C82B980CC2006A3B18 /* CoreBluetooth.framework */; };
8A9F6AC12BA04BE100DA520F /* IBManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8A9F6AC02BA04BE100DA520F /* IBManager.swift */; };
8A9F6AC22BA05CB500DA520F /* IOTBluetooth.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8A0A39BB2B980BEF006A3B18 /* IOTBluetooth.framework */; };
- 8A9F6AC32BA05CB500DA520F /* IOTBluetooth.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 8A0A39BB2B980BEF006A3B18 /* IOTBluetooth.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
};
/* End PBXContainerItemProxy section */
-/* Begin PBXCopyFilesBuildPhase section */
- 8A9F6AC62BA05CB500DA520F /* Embed Frameworks */ = {
- isa = PBXCopyFilesBuildPhase;
- buildActionMask = 2147483647;
- dstPath = "";
- dstSubfolderSpec = 10;
- files = (
- 8A9F6AC32BA05CB500DA520F /* IOTBluetooth.framework in Embed Frameworks */,
- );
- name = "Embed Frameworks";
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXCopyFilesBuildPhase section */
-
/* Begin PBXFileReference section */
180220CD2C2D5D560090D34A /* IBAiResponse.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IBAiResponse.swift; sourceTree = "<group>"; };
180B01972BFC831300524729 /* IBHistoryHeartRate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IBHistoryHeartRate.swift; sourceTree = "<group>"; };
18204BFF2C199B8600F94E69 /* IBFileSender+Mp3.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "IBFileSender+Mp3.swift"; sourceTree = "<group>"; };
18204C012C199D0E00F94E69 /* IBFileSender+Ota.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "IBFileSender+Ota.swift"; sourceTree = "<group>"; };
18204C032C199E7800F94E69 /* IBFileSender+Dial.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "IBFileSender+Dial.swift"; sourceTree = "<group>"; };
- 182DDFD02C5CE23800D44D37 /* MixSdk.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = MixSdk.framework; sourceTree = "<group>"; };
182DDFD32C5CE68900D44D37 /* IBAiValid.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IBAiValid.swift; sourceTree = "<group>"; };
1839DBCF2C14442200E33B6E /* IBFetchFile.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IBFetchFile.swift; sourceTree = "<group>"; };
184431312BF3720E00546E4E /* IBOtherTarget.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IBOtherTarget.swift; sourceTree = "<group>"; };
18EF69752C47A0F200AA0A36 /* AIAudio.sbc */ = {isa = PBXFileReference; lastKnownFileType = file; path = AIAudio.sbc; sourceTree = "<group>"; };
18EF69782C47A86D00AA0A36 /* IBTools.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IBTools.swift; sourceTree = "<group>"; };
18EFF59A2C080F14001B1E0E /* IBUserInfo.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IBUserInfo.swift; sourceTree = "<group>"; };
- 3F6A07C42D2D06D600F4122A /* MixTools.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = MixTools.framework; sourceTree = "<group>"; };
+ 3F2AF7E72D5705D400635545 /* MixSdk.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = MixSdk.framework; sourceTree = "<group>"; };
+ 3F2AF7E82D5705D400635545 /* MixTools.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = MixTools.framework; sourceTree = "<group>"; };
+ 3F2AF7F72D57109700635545 /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; };
+ 3F2AF7F92D57118D00635545 /* ChatViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChatViewController.swift; sourceTree = "<group>"; };
+ 3F2AF8342D573B5D00635545 /* ChatCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChatCell.swift; sourceTree = "<group>"; };
3F6A07CB2D2D2C3F00F4122A /* IBPassword.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IBPassword.swift; sourceTree = "<group>"; };
3F9355B62D38FF1900C54DAB /* IBPush.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IBPush.swift; sourceTree = "<group>"; };
+ 3FCFBFDD2D548D70003FC090 /* nangua.lzma */ = {isa = PBXFileReference; lastKnownFileType = file; path = nangua.lzma; sourceTree = "<group>"; };
3FFAE0542D3A03EF00325873 /* IBContact.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IBContact.swift; sourceTree = "<group>"; };
3FFAE0562D3A2CF800325873 /* IBSchedule.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IBSchedule.swift; sourceTree = "<group>"; };
+ 7229A88D0BE1A8EA7CE89DA0 /* Pods-Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Example.debug.xcconfig"; path = "Target Support Files/Pods-Example/Pods-Example.debug.xcconfig"; sourceTree = "<group>"; };
8A0A39BB2B980BEF006A3B18 /* IOTBluetooth.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = IOTBluetooth.framework; sourceTree = BUILT_PRODUCTS_DIR; };
8A0A39BE2B980BEF006A3B18 /* IOTBluetooth.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = IOTBluetooth.h; sourceTree = "<group>"; };
8A0A39C52B980C88006A3B18 /* IBluetooth.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IBluetooth.swift; sourceTree = "<group>"; };
8A87FBB42BAA85FB00096761 /* IBTrainingData.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IBTrainingData.swift; sourceTree = "<group>"; };
8A9F6ABC2BA0463D00DA520F /* CRC16.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CRC16.swift; sourceTree = "<group>"; };
8A9F6AC02BA04BE100DA520F /* IBManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IBManager.swift; sourceTree = "<group>"; };
+ A87ADBA97338BE6292016534 /* Pods_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Example.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+ BF4937B95B2356B694B9A7F1 /* Pods-Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Example.release.xcconfig"; path = "Target Support Files/Pods-Example/Pods-Example.release.xcconfig"; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
18EF69722C4798D100AA0A36 /* liblzma.5.tbd in Frameworks */,
18EF69712C4798C600AA0A36 /* libiconv.tbd in Frameworks */,
18EF69702C4798BB00AA0A36 /* libbz2.tbd in Frameworks */,
- 182DDFD12C5CE23800D44D37 /* MixSdk.framework in Frameworks */,
8A0A39C92B980CC2006A3B18 /* CoreBluetooth.framework in Frameworks */,
+ 3F2AF7EC2D5705D400635545 /* MixTools.framework in Frameworks */,
+ 3F2AF7ED2D5705D400635545 /* MixSdk.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
+ 3F2AF7F82D57109700635545 /* CoreAudio.framework in Frameworks */,
+ 3F2AF7F42D57107100635545 /* libiconv.tbd in Frameworks */,
+ 3F2AF7F62D57108100635545 /* libz.tbd in Frameworks */,
8A9F6AC22BA05CB500DA520F /* IOTBluetooth.framework in Frameworks */,
+ 3F2AF7F32D57106400635545 /* libbz2.tbd in Frameworks */,
8A9F6ABE2BA0475100DA520F /* CoreBluetooth.framework in Frameworks */,
- 3F6A07C52D2D06D600F4122A /* MixTools.framework in Frameworks */,
+ 3F2AF7F52D57107A00635545 /* liblzma.5.tbd in Frameworks */,
+ 3F2AF7EF2D5705D400635545 /* MixTools.framework in Frameworks */,
+ 3F2AF7F02D5705D400635545 /* MixSdk.framework in Frameworks */,
+ 39517247ABAC3EA28AABA92A /* Pods_Example.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
18113B292C1318FD00E04997 /* Resource */ = {
isa = PBXGroup;
children = (
+ 3FCFBFDD2D548D70003FC090 /* nangua.lzma */,
18EF69752C47A0F200AA0A36 /* AIAudio.sbc */,
18113B322C1406CB00E04997 /* 大约在冬季.mp3 */,
18113B302C1400D700E04997 /* 黄沙-名决.mp3 */,
path = Resource;
sourceTree = "<group>";
};
+ 3F2AF7EA2D5705D400635545 /* framework */ = {
+ isa = PBXGroup;
+ children = (
+ 3F2AF7E72D5705D400635545 /* MixSdk.framework */,
+ 3F2AF7E82D5705D400635545 /* MixTools.framework */,
+ );
+ path = framework;
+ sourceTree = "<group>";
+ };
8A0A39B12B980BEF006A3B18 = {
isa = PBXGroup;
children = (
8A1DFF502B9EB4F800B735FF /* Example */,
8A0A39BC2B980BEF006A3B18 /* Products */,
8A0A39C72B980CC2006A3B18 /* Frameworks */,
+ D5534FB616F6E9B69D9BEFF5 /* Pods */,
);
sourceTree = "<group>";
};
8A0A39BD2B980BEF006A3B18 /* IOTBluetooth */ = {
isa = PBXGroup;
children = (
- 3F6A07C42D2D06D600F4122A /* MixTools.framework */,
- 182DDFD02C5CE23800D44D37 /* MixSdk.framework */,
+ 3F2AF7EA2D5705D400635545 /* framework */,
8A9F6ABF2BA04B5100DA520F /* Models */,
8A0A39D02B980DFD006A3B18 /* Tools */,
8A0A39C52B980C88006A3B18 /* IBluetooth.swift */,
8A0A39C72B980CC2006A3B18 /* Frameworks */ = {
isa = PBXGroup;
children = (
+ 3F2AF7F72D57109700635545 /* CoreAudio.framework */,
18EF696B2C47766400AA0A36 /* libbz2.tbd */,
18EF69692C47765800AA0A36 /* libiconv.tbd */,
18EF69672C47764400AA0A36 /* liblzma.5.tbd */,
18EF695F2C476E2000AA0A36 /* libz.tbd */,
8A0A39C82B980CC2006A3B18 /* CoreBluetooth.framework */,
+ A87ADBA97338BE6292016534 /* Pods_Example.framework */,
);
name = Frameworks;
sourceTree = "<group>";
8A1DFF552B9EB4F800B735FF /* ViewController.swift */,
8A34B9262BA2AB66000F66BD /* ConnectViewController.swift */,
8A76B6082BA84C2B0016F2AB /* AbilityViewController.swift */,
+ 3F2AF7F92D57118D00635545 /* ChatViewController.swift */,
+ 3F2AF8342D573B5D00635545 /* ChatCell.swift */,
8A878FDF2BA93CF1008C7F26 /* Datas.swift */,
8A34B92A2BA2D446000F66BD /* BaseViewController.swift */,
8A34B9282BA2AB86000F66BD /* LogViewController.swift */,
path = Models;
sourceTree = "<group>";
};
+ D5534FB616F6E9B69D9BEFF5 /* Pods */ = {
+ isa = PBXGroup;
+ children = (
+ 7229A88D0BE1A8EA7CE89DA0 /* Pods-Example.debug.xcconfig */,
+ BF4937B95B2356B694B9A7F1 /* Pods-Example.release.xcconfig */,
+ );
+ path = Pods;
+ sourceTree = "<group>";
+ };
/* End PBXGroup section */
/* Begin PBXHeadersBuildPhase section */
isa = PBXNativeTarget;
buildConfigurationList = 8A1DFF622B9EB4F900B735FF /* Build configuration list for PBXNativeTarget "Example" */;
buildPhases = (
+ F217ABA908679C1802233ED9 /* [CP] Check Pods Manifest.lock */,
8A1DFF4B2B9EB4F800B735FF /* Sources */,
8A1DFF4C2B9EB4F800B735FF /* Frameworks */,
8A1DFF4D2B9EB4F800B735FF /* Resources */,
- 8A9F6AC62BA05CB500DA520F /* Embed Frameworks */,
+ EF0CEC87F5FAF1CEEE9A8FC0 /* [CP] Embed Pods Frameworks */,
);
buildRules = (
);
18113B312C1400D700E04997 /* 黄沙-名决.mp3 in Resources */,
8A1DFF5B2B9EB4F900B735FF /* Assets.xcassets in Resources */,
8A1DFF592B9EB4F900B735FF /* Main.storyboard in Resources */,
+ 3FCFBFDE2D548D70003FC090 /* nangua.lzma in Resources */,
185E9C3B2C2564F60078C808 /* 20240604_155433_2_V1.0.1_20240618_113111_ota.fwpkg in Resources */,
18EF69772C47A0F200AA0A36 /* AIAudio.sbc in Resources */,
18113B332C1406CB00E04997 /* 大约在冬季.mp3 in Resources */,
};
/* End PBXResourcesBuildPhase section */
+/* Begin PBXShellScriptBuildPhase section */
+ EF0CEC87F5FAF1CEEE9A8FC0 /* [CP] Embed Pods Frameworks */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputFileListPaths = (
+ "${PODS_ROOT}/Target Support Files/Pods-Example/Pods-Example-frameworks-${CONFIGURATION}-input-files.xcfilelist",
+ );
+ name = "[CP] Embed Pods Frameworks";
+ outputFileListPaths = (
+ "${PODS_ROOT}/Target Support Files/Pods-Example/Pods-Example-frameworks-${CONFIGURATION}-output-files.xcfilelist",
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Example/Pods-Example-frameworks.sh\"\n";
+ showEnvVarsInLog = 0;
+ };
+ F217ABA908679C1802233ED9 /* [CP] Check Pods Manifest.lock */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputFileListPaths = (
+ );
+ inputPaths = (
+ "${PODS_PODFILE_DIR_PATH}/Podfile.lock",
+ "${PODS_ROOT}/Manifest.lock",
+ );
+ name = "[CP] Check Pods Manifest.lock";
+ outputFileListPaths = (
+ );
+ outputPaths = (
+ "$(DERIVED_FILE_DIR)/Pods-Example-checkManifestLockResult.txt",
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
+ showEnvVarsInLog = 0;
+ };
+/* End PBXShellScriptBuildPhase section */
+
/* Begin PBXSourcesBuildPhase section */
8A0A39B72B980BEF006A3B18 /* Sources */ = {
isa = PBXSourcesBuildPhase;
8A878FE02BA93CF1008C7F26 /* Datas.swift in Sources */,
8A34B92B2BA2D446000F66BD /* BaseViewController.swift in Sources */,
8A76B6092BA84C2B0016F2AB /* AbilityViewController.swift in Sources */,
+ 3F2AF8352D573B6200635545 /* ChatCell.swift in Sources */,
+ 3F2AF82F2D57125D00635545 /* ChatViewController.swift in Sources */,
8A34B9272BA2AB66000F66BD /* ConnectViewController.swift in Sources */,
18EF697A2C47A86D00AA0A36 /* IBTools.swift in Sources */,
8A1DFF562B9EB4F800B735FF /* ViewController.swift in Sources */,
"$(inherited)",
"$(PROJECT_DIR)/Example",
"$(PROJECT_DIR)/IOTBluetooth",
+ "$(PROJECT_DIR)/IOTBluetooth/framework",
);
GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_KEY_NSHumanReadableCopyright = "";
"@executable_path/Frameworks",
"@loader_path/Frameworks",
);
+ MACH_O_TYPE = staticlib;
MARKETING_VERSION = 1.0;
MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++";
MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu17 gnu++20";
"$(inherited)",
"$(PROJECT_DIR)/Example",
"$(PROJECT_DIR)/IOTBluetooth",
+ "$(PROJECT_DIR)/IOTBluetooth/framework",
);
GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_KEY_NSHumanReadableCopyright = "";
"@executable_path/Frameworks",
"@loader_path/Frameworks",
);
+ MACH_O_TYPE = staticlib;
MARKETING_VERSION = 1.0;
MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++";
MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu17 gnu++20";
};
8A1DFF602B9EB4F900B735FF /* Debug */ = {
isa = XCBuildConfiguration;
+ baseConfigurationReference = 7229A88D0BE1A8EA7CE89DA0 /* Pods-Example.debug.xcconfig */;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1001;
DEVELOPMENT_TEAM = M33X987285;
+ ENABLE_USER_SCRIPT_SANDBOXING = NO;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/Example",
"$(PROJECT_DIR)/IOTBluetooth",
+ "$(PROJECT_DIR)/IOTBluetooth/framework",
);
GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_FILE = Example/Info.plist;
};
8A1DFF612B9EB4F900B735FF /* Release */ = {
isa = XCBuildConfiguration;
+ baseConfigurationReference = BF4937B95B2356B694B9A7F1 /* Pods-Example.release.xcconfig */;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1001;
DEVELOPMENT_TEAM = M33X987285;
+ ENABLE_USER_SCRIPT_SANDBOXING = NO;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/Example",
"$(PROJECT_DIR)/IOTBluetooth",
+ "$(PROJECT_DIR)/IOTBluetooth/framework",
);
GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_FILE = Example/Info.plist;
uuid = "2CC27BE0-931D-4412-B83C-49E80F4BA55C"
type = "1"
version = "2.0">
+ <Breakpoints>
+ <BreakpointProxy
+ BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+ <BreakpointContent
+ uuid = "8FE8A73C-8919-4E39-9274-C0D5578AE34E"
+ shouldBeEnabled = "No"
+ ignoreCount = "0"
+ continueAfterRunningActions = "No"
+ filePath = "IOTBluetooth/IBParser.swift"
+ startingColumnNumber = "9223372036854775807"
+ endingColumnNumber = "9223372036854775807"
+ startingLineNumber = "126"
+ endingLineNumber = "126"
+ landmarkName = "parse(_:)"
+ landmarkType = "7">
+ </BreakpointContent>
+ </BreakpointProxy>
+ <BreakpointProxy
+ BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+ <BreakpointContent
+ uuid = "3A96B8F8-98B0-4910-BC24-F646EFC37274"
+ shouldBeEnabled = "Yes"
+ ignoreCount = "0"
+ continueAfterRunningActions = "No"
+ filePath = "IOTBluetooth/IBChecker.swift"
+ startingColumnNumber = "9223372036854775807"
+ endingColumnNumber = "9223372036854775807"
+ startingLineNumber = "515"
+ endingLineNumber = "515"
+ landmarkName = "check(_:)"
+ landmarkType = "7">
+ </BreakpointContent>
+ </BreakpointProxy>
+ </Breakpoints>
</Bucket>
<key>Example.xcscheme_^#shared#^_</key>
<dict>
<key>orderHint</key>
- <integer>1</integer>
+ <integer>8</integer>
</dict>
<key>IOTBluetooth.xcscheme_^#shared#^_</key>
<dict>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<Workspace
+ version = "1.0">
+ <FileRef
+ location = "group:IOTBluetooth.xcodeproj">
+ </FileRef>
+ <FileRef
+ location = "group:Pods/Pods.xcodeproj">
+ </FileRef>
+</Workspace>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<Bucket
+ uuid = "DE90D99F-11DF-48BC-9070-3AF484DDB28C"
+ type = "0"
+ version = "2.0">
+</Bucket>
//// Created by incar on 2024/7/15.
////
//
-//import Foundation
-//import MixSdk
-//class IBAiManager{
-// static let shared = IBAiManager()
-// var audioData = Data()
-//
-// var reply = ""
-//
-// init(){
-// MixSdk.shared.isDebug = true
-// setupChatCallBack()
-// }
-//
-// func aiValid(_ data:Data){
-// let result = IBGeneralParser.dataPacket(data)
-// let code = result.int
-// let desc = ["文心一言","ChatGPT","KIMI",":豆包"]
-// Logger.log("询问模型是否可用:",desc[code])
-// let model = IBAiValid()
-// model.isValid = true
-// if code == 1 {
-// model.key = "sk-proj-04ogvrZQqyaiv1OWw8OZT3BlbkFJG9Gyr8oFvRdmr3oXQNbX"
-// }
-// IBSender()
-// .ability(IBAbility.aiValid)
-// .parameters([.aiValid(model)])
-// .response { result in
-//
-// }
-//
-// }
-// func aiRequest(_ data:Data){
-// let result = IBGeneralParser.dataPacket(data)
-// let code = result.int
-// let desc = ["文心一言","ChatGPT","KIMI",":豆包"]
-// Logger.log("使用模型:",desc[code])
-// IBSender()
-// .ability(IBAbility.aiReady)
-// .parameters([.value(1)])
-// .response {[weak self] result in
-// self?.fectchAiAudio()
-// }
-//
-//
-// var platform = MSPlatform.doubao
-// var key = ""
-// if code == 0 {
-// platform = .yiyan
-// }
-// else if code == 1 {
-// platform = .chatGPT
-// key = "sk-proj-04ogvrZQqyaiv1OWw8OZT3BlbkFJG9Gyr8oFvRdmr3oXQNbX"
-//// let gptModel = "gpt-4-turbo"
-//// MixSdk.shared.chatGpt.changeModel(model:gptModel )
-// }
-// else if code == 2 {
-// platform = .kimi
-// }
-// else if code == 3 {
-// platform = .doubao
-// }
-// MixSdk.shared.setPlatform(platform,key: key)
-// }
-// func fectchAiAudio(){
-// IBSender()
-// .ability(IBAbility.fetchAiAudio)
-// .parameters([])
-// .response {[weak self] result in
-// guard let self = self else {return}
-// if result.isSuccess,let data = result.value as? Data{
-// receiveAiData(sbcData: data)
-// }
-// else{
-// Logger.log(result)
-// let model = IBAiResponse()
-// model.type = 0
-// sendRelpy(model: model)
-// }
-// }
-// }
-//
-//
-//}
-//extension IBAiManager{
-// func receiveAiData(sbcData:Data){
-// let pcmData = MSAudioConvert.sbcTopcm(sbcData)
-// if pcmData.count == 0{
-// Logger.log("sbc2pcm失败")
-// let model = IBAiResponse()
-// model.type = 0
-// sendRelpy(model: model)
-// return
-// }
-// guard let pcmPath = IBTools.saveToFile(data: pcmData) else {return}
-// MixSdk.shared.stt.sentenceRecognize(filePath: pcmPath,format:"pcm",sample_rate:"16000",lang: "zh-cn") {[weak self] text, error in
-// guard let self = self else {return}
-// if let text = text,text.count > 0{
-// Logger.log(text)
-// let model = IBAiResponse()
-// model.type = 1
-// model.value = text
-// sendRelpy(model: model)
-//
-// MixSdk.shared.chat.send(content: text)
-// }
-// else{
-// Logger.log(error ?? "")
-// let model = IBAiResponse()
-// model.type = 0
+import Foundation
+import MixSdk
+
+//public typealias IBProgressHandler = (_ total:Int, _ current:Int) -> Void
+
+public class IBAiManager{
+ public static let shared = IBAiManager()
+ /// 产品id
+ public var productId:String = ""
+ /// 产品key
+ public var productKey:String = ""
+ /// chatGptKey
+ public var chatGptKey:String = ""
+
+ public var aiResponse:((_ response:IBAiResponse) -> Void)?
+
+ var audioData = Data()
+
+ var reply = ""
+
+
+
+ init(){
+ MixSdk.shared.isDebug = true
+ setupChatCallBack()
+ }
+
+ func aiValid(_ data:Data){
+ let result = IBGeneralParser.dataPacket(data)
+ let code = result.int
+ let desc = ["文心一言","ChatGPT","KIMI","豆包","通义千问","讯飞星火"]
+ Logger.log("询问模型是否可用:",code >= desc.count ? "未知": desc[code])
+ let model = IBAiValid()
+ model.isValid = true
+ if code == 1 {
+ model.key = chatGptKey
+ }
+ IBSender()
+ .ability(IBAbility.aiValid)
+ .parameters([.aiValid(model)])
+ .response { result in
+
+ }
+
+ }
+ func aiRequest(_ data:Data){
+ let result = IBGeneralParser.dataPacket(data)
+ let code = result.int
+ let desc = ["文心一言","ChatGPT","KIMI","豆包","通义千问","讯飞星火"]
+ Logger.log("使用模型:",code >= desc.count ? "未知": desc[code])
+ IBSender()
+ .ability(IBAbility.aiReady)
+ .parameters([.value(1)])
+ .response {[weak self] result in
+ self?.fectchAiAudio()
+ }
+
+
+ var platform = MSPlatform.doubao
+ var key = ""
+ if code == 0 {
+ platform = .yiyan
+ }
+ else if code == 1 {
+ platform = .chatGPT
+ key = chatGptKey
+ if chatGptKey.isEmpty {
+ Logger.log("请先设置chatGpt Key!")
+ }
+// let gptModel = "gpt-4-turbo"
+// MixSdk.shared.chatGpt.changeModel(model:gptModel )
+ }
+ else if code == 2 {
+ platform = .kimi
+ }
+ else if code == 3 {
+ platform = .doubao
+ }
+ else if code == 4 {
+ platform = .aliyun
+ }
+ else if code == 5 {
+ platform = .xunfei
+ }
+ MixSdk.shared.setPlatform(platform,key: key)
+ }
+ func fectchAiAudio(){
+ IBSender()
+ .ability(IBAbility.fetchAiAudio)
+ .parameters([])
+ .response {[weak self] result in
+ guard let self = self else {return}
+ if result.isSuccess,let data = result.value as? Data{
+ receiveAiData(sbcData: data)
+ }
+ else{
+ Logger.log(result)
+ let model = IBAiResponse()
+ model.type = 0
+ model.state = "end"
+ sendRelpy(model: model)
+ }
+ }
+ }
+}
+extension IBAiManager{
+ func receiveAiData(sbcData:Data){
+ let pcmData = MSAudioConvert.sbcTopcm(sbcData)
+ if pcmData.count == 0{
+ Logger.log("sbc2pcm失败")
+ let model = IBAiResponse()
+ model.type = 0
+ model.state = "end"
+ sendRelpy(model: model)
+ return
+ }
+ guard let pcmPath = IBTools.saveToFile(data: pcmData) else {return}
+ MixSdk.shared.stt.sentenceRecognize(filePath: pcmPath,format:"pcm",sample_rate:"16000",lang: "zh-cn") {[weak self] text, error in
+ guard let self = self else {return}
+ if let text = text,text.count > 0{
+ Logger.log(text)
+ let model = IBAiResponse()
+ model.type = 1
+ model.value = text
+ model.state = "end"
+ sendRelpy(model: model)
+
+ MixSdk.shared.chat.send(content: text)
+ }
+ else{
+ Logger.log(error ?? "")
+ let model = IBAiResponse()
+ model.type = 0
+ model.state = "end"
+ sendRelpy(model: model)
+ }
+ }
+ }
+
+
+ func setupChatCallBack(){
+ let chat = MixSdk.shared.chat
+ chat.callBack = {[weak self] model in
+ guard let self = self else {return}
+ Logger.log("\(model.type) : \(model.content ?? "")")
+
+ if model.type == "start" {
+ reply = ""
+ }
+ else if model.type == "end" {
+ let model = IBAiResponse()
+ model.type = 2
+ model.value = reply
+ model.state = "end"
+ self.aiResponse?(model)
// sendRelpy(model: model)
-// }
-// }
-// }
-//
-//
-// func setupChatCallBack(){
-// let chat = MixSdk.shared.chat
-// chat.callBack = {[weak self] model in
-// guard let self = self else {return}
-// print("\(model.type) : \(model.content ?? "")")
-//
-// if model.type == "start" {
-// reply = ""
-// }
-// else if model.type == "end" {
-//// let model = IBAiResponse()
-//// model.type = 2
-//// model.value = reply
-//// sendRelpy(model: model)
-// }
-// else if model.type == "middle"{
-//// reply += model.content ?? ""
-// let data = IBAiResponse()
-// data.type = 2
-// data.value = model.content ?? ""
-// sendRelpy(model: data)
-// }
-// }
-// }
-//
-// func sendRelpy(model:IBAiResponse){
-// IBSender()
-// .ability(IBAbility.aiResponse)
-// .parameters([.aiResponse(model)])
-// .response { result in
-// Logger.log(result)
-// }
-// }
-//}
-//
-//extension IBAiManager{
-// func loginAction() {
-// MixSdk.shared.isDebug = true
-// let pwd = "aWGKrBWaijsKD5eEsVVU5rjWPI1sVy"//注册获得的密码
-// self.startLogin(password:pwd)
-// }
-// func startLogin(password:String) {
-// MixSdk.shared.isDebug = true
-// let deviceId = "281106AFB0F7"
-// let productKey = "HHosiYUNdG42t1cTgKOzIUPOvAVMI2QT"
-//
-// MixSdk.shared.auth.login(productKey:productKey,deviceId: deviceId, password: password){[weak self] token,error in
-// if let err = error{
-// if case .reponseError(let code,let message) = err,code == 50021{
-// //50021是账号或密码错误.可以在这里调用注册,重新注册后,之前的密码会被覆盖,APP更新保存的新密码
-// self?.registerAction()
-// }
-// }
-// else{
-// print(token ?? "")
-// }
-// }
-// }
-// @objc func registerAction() {
-// let deviceId = "281106AFB0F7"
-// let productId = "pafOCKLiUbeVHbdZlddH"
-// let productKey = "HHosiYUNdG42t1cTgKOzIUPOvAVMI2QT"
-// MixSdk.shared.auth.register(productId: productId, productKey: productKey, deviceId: deviceId){[weak self] password,error in
-// if let pwd = password{
-// print(pwd)
-// //deviceId和password APP要确保这个一一对应。
-// self?.startLogin(password: pwd)
-// }
-// else{
-// print(error!)
-// }
-// }
-// }
-//}
+ }
+ else if model.type == "middle"{
+ reply += model.content ?? ""
+ let data = IBAiResponse()
+ data.state = "middle"
+ data.type = 2
+ data.value = model.content ?? ""
+ sendRelpy(model: data)
+ }
+ }
+ }
+
+ func sendRelpy(model:IBAiResponse){
+ self.aiResponse?(model)
+ IBSender()
+ .ability(IBAbility.aiResponse)
+ .parameters([.aiResponse(model)])
+ .response { result in
+ Logger.log(result)
+ }
+ }
+}
+
+
+
+extension IBAiManager{
+ /// 登录
+ /// - Parameters:
+ /// - deviceId: 设备ID
+ /// - completeHandler: 结果回调
+ func login(deviceId:String,completeHandler: @escaping MSLoginCallBack){
+ if productId.isEmpty || productKey.isEmpty {
+ Logger.log("请先设置productId和productKey!")
+ return
+ }
+ MixSdk.shared.isDebug = true
+ if let password = UserDefaults.standard.string(forKey: deviceId){
+ startLogin(deviceId: deviceId, password: password, completeHandler: completeHandler)
+ }
+ else{
+ startRegister(deviceId: deviceId, completeHandler: completeHandler)
+ }
+ }
+
+ func startLogin(deviceId:String,password:String,completeHandler: @escaping MSLoginCallBack) {
+ MixSdk.shared.auth.login(productKey:productKey,deviceId: deviceId, password: password){[weak self] token,error in
+ if let err = error{
+ if case .reponseError(let code,_) = err,code == 50021{
+ //50021是账号或密码错误.可以在这里调用注册,重新注册后,之前的密码会被覆盖,APP更新保存的新密码
+ self?.startRegister( deviceId: deviceId, completeHandler: completeHandler)
+ }
+ }
+ else{
+ completeHandler(token,error)
+ }
+ }
+ }
+
+ func startRegister(deviceId:String,completeHandler: @escaping MSRegisterCallBack){
+ MixSdk.shared.auth.register(productId: productId, productKey: productKey, deviceId: deviceId){[weak self] password,error in
+ if let pwd = password{
+ UserDefaults.standard.setValue(password, forKey: deviceId)
+ //deviceId和password APP要确保这个一一对应。
+ self?.startLogin(deviceId: deviceId, password: pwd, completeHandler: completeHandler)
+ }
+ else{
+ completeHandler(nil,error)
+ }
+ }
+ }
+}
}
//手表询问APP AI模型是否可用
if(data.bytes[1] == 0x05 && data.bytes[2] == 0x06){
-// IBAiManager.shared.aiValid(data)
+ IBAiManager.shared.aiValid(data)
return true
}
//AI录音已准备好
if(data.bytes[1] == 0x05 && data.bytes[2] == 0x05){
-// IBAiManager.shared.aiRequest(data)
+ IBAiManager.shared.aiRequest(data)
return true
}
//文件已接收完成
super.init()
centralManager = CBCentralManager(delegate: self, queue: nil)
receiveManager.delegate = self
-
-// IBAiManager.shared.loginAction()
}
/// 2AE5
// IBNotify.post(.connectedDeviceDidChange)
Logger.log("已连接", currentConnected.name)
IBNotify.post(.connectStateDidChange, object: 1)
+
+ IBAiManager.shared.login(deviceId: "28110687C456") { token, error in
+
+ }
+// IBAiManager.shared.login(deviceId: currentConnected.macAddress) { token, error in
+//
+// }
}
func centralManager(_ central: CBCentralManager, didFailToConnect peripheral: CBPeripheral, error: Error?) {
/// Ai回应模型
public class IBAiResponse {
/// 类型,0:AI回应错误 1:AI录音解析内容 2:AI回应内容(类型为0时,只发类型即可,后面字节均不发)
- var type: Int = 0
+ public var type: Int = 0
/// 内容
public var value: String = ""
+ /// 类型 start middle end
+ public var state:String = ""
+
public init() { }
public var description: String {
- return "IBAiResponse(type: \(type), value:\(value))"
+ return "IBAiResponse(type: \(type), value:\(value), state:\(state)"
}
}
--- /dev/null
+#if 0
+#elif defined(__arm64__) && __arm64__
+// Generated by Apple Swift version 6.0.3 effective-4.2 (swiftlang-6.0.3.1.10 clang-1600.0.30.1)
+#ifndef MIXSDK_SWIFT_H
+#define MIXSDK_SWIFT_H
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wgcc-compat"
+
+#if !defined(__has_include)
+# define __has_include(x) 0
+#endif
+#if !defined(__has_attribute)
+# define __has_attribute(x) 0
+#endif
+#if !defined(__has_feature)
+# define __has_feature(x) 0
+#endif
+#if !defined(__has_warning)
+# define __has_warning(x) 0
+#endif
+
+#if __has_include(<swift/objc-prologue.h>)
+# include <swift/objc-prologue.h>
+#endif
+
+#pragma clang diagnostic ignored "-Wauto-import"
+#if defined(__OBJC__)
+#include <Foundation/Foundation.h>
+#endif
+#if defined(__cplusplus)
+#include <cstdint>
+#include <cstddef>
+#include <cstdbool>
+#include <cstring>
+#include <stdlib.h>
+#include <new>
+#include <type_traits>
+#else
+#include <stdint.h>
+#include <stddef.h>
+#include <stdbool.h>
+#include <string.h>
+#endif
+#if defined(__cplusplus)
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wnon-modular-include-in-framework-module"
+#if defined(__arm64e__) && __has_include(<ptrauth.h>)
+# include <ptrauth.h>
+#else
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wreserved-macro-identifier"
+# ifndef __ptrauth_swift_value_witness_function_pointer
+# define __ptrauth_swift_value_witness_function_pointer(x)
+# endif
+# ifndef __ptrauth_swift_class_method_pointer
+# define __ptrauth_swift_class_method_pointer(x)
+# endif
+#pragma clang diagnostic pop
+#endif
+#pragma clang diagnostic pop
+#endif
+
+#if !defined(SWIFT_TYPEDEFS)
+# define SWIFT_TYPEDEFS 1
+# if __has_include(<uchar.h>)
+# include <uchar.h>
+# elif !defined(__cplusplus)
+typedef uint_least16_t char16_t;
+typedef uint_least32_t char32_t;
+# endif
+typedef float swift_float2 __attribute__((__ext_vector_type__(2)));
+typedef float swift_float3 __attribute__((__ext_vector_type__(3)));
+typedef float swift_float4 __attribute__((__ext_vector_type__(4)));
+typedef double swift_double2 __attribute__((__ext_vector_type__(2)));
+typedef double swift_double3 __attribute__((__ext_vector_type__(3)));
+typedef double swift_double4 __attribute__((__ext_vector_type__(4)));
+typedef int swift_int2 __attribute__((__ext_vector_type__(2)));
+typedef int swift_int3 __attribute__((__ext_vector_type__(3)));
+typedef int swift_int4 __attribute__((__ext_vector_type__(4)));
+typedef unsigned int swift_uint2 __attribute__((__ext_vector_type__(2)));
+typedef unsigned int swift_uint3 __attribute__((__ext_vector_type__(3)));
+typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4)));
+#endif
+
+#if !defined(SWIFT_PASTE)
+# define SWIFT_PASTE_HELPER(x, y) x##y
+# define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y)
+#endif
+#if !defined(SWIFT_METATYPE)
+# define SWIFT_METATYPE(X) Class
+#endif
+#if !defined(SWIFT_CLASS_PROPERTY)
+# if __has_feature(objc_class_property)
+# define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__
+# else
+# define SWIFT_CLASS_PROPERTY(...)
+# endif
+#endif
+#if !defined(SWIFT_RUNTIME_NAME)
+# if __has_attribute(objc_runtime_name)
+# define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X)))
+# else
+# define SWIFT_RUNTIME_NAME(X)
+# endif
+#endif
+#if !defined(SWIFT_COMPILE_NAME)
+# if __has_attribute(swift_name)
+# define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X)))
+# else
+# define SWIFT_COMPILE_NAME(X)
+# endif
+#endif
+#if !defined(SWIFT_METHOD_FAMILY)
+# if __has_attribute(objc_method_family)
+# define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X)))
+# else
+# define SWIFT_METHOD_FAMILY(X)
+# endif
+#endif
+#if !defined(SWIFT_NOESCAPE)
+# if __has_attribute(noescape)
+# define SWIFT_NOESCAPE __attribute__((noescape))
+# else
+# define SWIFT_NOESCAPE
+# endif
+#endif
+#if !defined(SWIFT_RELEASES_ARGUMENT)
+# if __has_attribute(ns_consumed)
+# define SWIFT_RELEASES_ARGUMENT __attribute__((ns_consumed))
+# else
+# define SWIFT_RELEASES_ARGUMENT
+# endif
+#endif
+#if !defined(SWIFT_WARN_UNUSED_RESULT)
+# if __has_attribute(warn_unused_result)
+# define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
+# else
+# define SWIFT_WARN_UNUSED_RESULT
+# endif
+#endif
+#if !defined(SWIFT_NORETURN)
+# if __has_attribute(noreturn)
+# define SWIFT_NORETURN __attribute__((noreturn))
+# else
+# define SWIFT_NORETURN
+# endif
+#endif
+#if !defined(SWIFT_CLASS_EXTRA)
+# define SWIFT_CLASS_EXTRA
+#endif
+#if !defined(SWIFT_PROTOCOL_EXTRA)
+# define SWIFT_PROTOCOL_EXTRA
+#endif
+#if !defined(SWIFT_ENUM_EXTRA)
+# define SWIFT_ENUM_EXTRA
+#endif
+#if !defined(SWIFT_CLASS)
+# if __has_attribute(objc_subclassing_restricted)
+# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA
+# define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
+# else
+# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
+# define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
+# endif
+#endif
+#if !defined(SWIFT_RESILIENT_CLASS)
+# if __has_attribute(objc_class_stub)
+# define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub))
+# define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME)
+# else
+# define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME)
+# define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME)
+# endif
+#endif
+#if !defined(SWIFT_PROTOCOL)
+# define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
+# define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
+#endif
+#if !defined(SWIFT_EXTENSION)
+# define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__)
+#endif
+#if !defined(OBJC_DESIGNATED_INITIALIZER)
+# if __has_attribute(objc_designated_initializer)
+# define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer))
+# else
+# define OBJC_DESIGNATED_INITIALIZER
+# endif
+#endif
+#if !defined(SWIFT_ENUM_ATTR)
+# if __has_attribute(enum_extensibility)
+# define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility)))
+# else
+# define SWIFT_ENUM_ATTR(_extensibility)
+# endif
+#endif
+#if !defined(SWIFT_ENUM)
+# define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
+# if __has_feature(generalized_swift_name)
+# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
+# else
+# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility)
+# endif
+#endif
+#if !defined(SWIFT_UNAVAILABLE)
+# define SWIFT_UNAVAILABLE __attribute__((unavailable))
+#endif
+#if !defined(SWIFT_UNAVAILABLE_MSG)
+# define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg)))
+#endif
+#if !defined(SWIFT_AVAILABILITY)
+# define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__)))
+#endif
+#if !defined(SWIFT_WEAK_IMPORT)
+# define SWIFT_WEAK_IMPORT __attribute__((weak_import))
+#endif
+#if !defined(SWIFT_DEPRECATED)
+# define SWIFT_DEPRECATED __attribute__((deprecated))
+#endif
+#if !defined(SWIFT_DEPRECATED_MSG)
+# define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__)))
+#endif
+#if !defined(SWIFT_DEPRECATED_OBJC)
+# if __has_feature(attribute_diagnose_if_objc)
+# define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning")))
+# else
+# define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg)
+# endif
+#endif
+#if defined(__OBJC__)
+#if !defined(IBSegueAction)
+# define IBSegueAction
+#endif
+#endif
+#if !defined(SWIFT_EXTERN)
+# if defined(__cplusplus)
+# define SWIFT_EXTERN extern "C"
+# else
+# define SWIFT_EXTERN extern
+# endif
+#endif
+#if !defined(SWIFT_CALL)
+# define SWIFT_CALL __attribute__((swiftcall))
+#endif
+#if !defined(SWIFT_INDIRECT_RESULT)
+# define SWIFT_INDIRECT_RESULT __attribute__((swift_indirect_result))
+#endif
+#if !defined(SWIFT_CONTEXT)
+# define SWIFT_CONTEXT __attribute__((swift_context))
+#endif
+#if !defined(SWIFT_ERROR_RESULT)
+# define SWIFT_ERROR_RESULT __attribute__((swift_error_result))
+#endif
+#if defined(__cplusplus)
+# define SWIFT_NOEXCEPT noexcept
+#else
+# define SWIFT_NOEXCEPT
+#endif
+#if !defined(SWIFT_C_INLINE_THUNK)
+# if __has_attribute(always_inline)
+# if __has_attribute(nodebug)
+# define SWIFT_C_INLINE_THUNK inline __attribute__((always_inline)) __attribute__((nodebug))
+# else
+# define SWIFT_C_INLINE_THUNK inline __attribute__((always_inline))
+# endif
+# else
+# define SWIFT_C_INLINE_THUNK inline
+# endif
+#endif
+#if defined(_WIN32)
+#if !defined(SWIFT_IMPORT_STDLIB_SYMBOL)
+# define SWIFT_IMPORT_STDLIB_SYMBOL __declspec(dllimport)
+#endif
+#else
+#if !defined(SWIFT_IMPORT_STDLIB_SYMBOL)
+# define SWIFT_IMPORT_STDLIB_SYMBOL
+#endif
+#endif
+#if defined(__OBJC__)
+#if __has_feature(objc_modules)
+#if __has_warning("-Watimport-in-framework-header")
+#pragma clang diagnostic ignored "-Watimport-in-framework-header"
+#endif
+@import ObjectiveC;
+#endif
+
+#endif
+#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch"
+#pragma clang diagnostic ignored "-Wduplicate-method-arg"
+#if __has_warning("-Wpragma-clang-attribute")
+# pragma clang diagnostic ignored "-Wpragma-clang-attribute"
+#endif
+#pragma clang diagnostic ignored "-Wunknown-pragmas"
+#pragma clang diagnostic ignored "-Wnullability"
+#pragma clang diagnostic ignored "-Wdollar-in-identifier-extension"
+#pragma clang diagnostic ignored "-Wunsafe-buffer-usage"
+
+#if __has_attribute(external_source_symbol)
+# pragma push_macro("any")
+# undef any
+# pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="MixSdk",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol))
+# pragma pop_macro("any")
+#endif
+
+#if defined(__OBJC__)
+
+/// SDK 管理类
+SWIFT_CLASS("_TtC6MixSdk6MixSdk")
+@interface MixSdk : NSObject
+- (nonnull instancetype)init SWIFT_UNAVAILABLE;
++ (nonnull instancetype)new SWIFT_DEPRECATED_MSG("-init is unavailable");
+@end
+
+#endif
+#if __has_attribute(external_source_symbol)
+# pragma clang attribute pop
+#endif
+#if defined(__cplusplus)
+#endif
+#pragma clang diagnostic pop
+#endif
+
+#else
+#error unsupported Swift architecture
+#endif
--- /dev/null
+//
+// MixSdk.h
+// MixSdk
+//
+// Created by incar on 2024/6/12.
+//
+
+#import <Foundation/Foundation.h>
+
+//! Project version number for MixSdk.
+FOUNDATION_EXPORT double MixSdkVersionNumber;
+
+//! Project version string for MixSdk.
+FOUNDATION_EXPORT const unsigned char MixSdkVersionString[];
+
+// In this header, you should import all the public headers of your framework using statements like #import <MixSdk/PublicHeader.h>
+
+
--- /dev/null
+{
+ "ABIRoot": {
+ "kind": "Root",
+ "name": "MixSdk",
+ "printedName": "MixSdk",
+ "children": [
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Darwin",
+ "printedName": "Darwin",
+ "declKind": "Import",
+ "moduleName": "MixSdk"
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "CommonCrypto",
+ "printedName": "CommonCrypto",
+ "declKind": "Import",
+ "moduleName": "MixSdk"
+ },
+ {
+ "kind": "Import",
+ "name": "MixTools",
+ "printedName": "MixTools",
+ "declKind": "Import",
+ "moduleName": "MixSdk"
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "MSAuth",
+ "printedName": "MSAuth",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "authorized",
+ "printedName": "authorized",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Bool",
+ "printedName": "Swift.Bool",
+ "usr": "s:Sb"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdk6MSAuthC10authorizedSbvp",
+ "mangledName": "$s6MixSdk6MSAuthC10authorizedSbvp",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "SetterAccess",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Bool",
+ "printedName": "Swift.Bool",
+ "usr": "s:Sb"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk6MSAuthC10authorizedSbvg",
+ "mangledName": "$s6MixSdk6MSAuthC10authorizedSbvg",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Function",
+ "name": "register",
+ "printedName": "register(productId:productKey:deviceId:completeHandler:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ },
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(Swift.String?, MixSdk.MSError?) -> ()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Tuple",
+ "printedName": "(Swift.String?, MixSdk.MSError?)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sq"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "MixSdk.MSError?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MSError",
+ "printedName": "MixSdk.MSError",
+ "usr": "s:6MixSdk7MSErrorO"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:6MixSdk6MSAuthC8register9productId0E3Key06deviceF015completeHandlerySS_S2SySSSg_AA7MSErrorOSgtctF",
+ "mangledName": "$s6MixSdk6MSAuthC8register9productId0E3Key06deviceF015completeHandlerySS_S2SySSSg_AA7MSErrorOSgtctF",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "funcSelfKind": "NonMutating"
+ },
+ {
+ "kind": "Function",
+ "name": "login",
+ "printedName": "login(productKey:deviceId:password:completeHandler:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ },
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(Swift.String?, MixSdk.MSError?) -> ()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Tuple",
+ "printedName": "(Swift.String?, MixSdk.MSError?)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sq"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "MixSdk.MSError?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MSError",
+ "printedName": "MixSdk.MSError",
+ "usr": "s:6MixSdk7MSErrorO"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:6MixSdk6MSAuthC5login10productKey8deviceId8password15completeHandlerySS_S2SySSSg_AA7MSErrorOSgtctF",
+ "mangledName": "$s6MixSdk6MSAuthC5login10productKey8deviceId8password15completeHandlerySS_S2SySSSg_AA7MSErrorOSgtctF",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "funcSelfKind": "NonMutating"
+ }
+ ],
+ "declKind": "Class",
+ "usr": "s:6MixSdk6MSAuthC",
+ "mangledName": "$s6MixSdk6MSAuthC",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasMissingDesignatedInitializers": true,
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ }
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "UIKit",
+ "printedName": "UIKit",
+ "declKind": "Import",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "CommonCrypto",
+ "printedName": "CommonCrypto",
+ "declKind": "Import",
+ "moduleName": "MixSdk"
+ },
+ {
+ "kind": "Import",
+ "name": "CryptoKit",
+ "printedName": "CryptoKit",
+ "declKind": "Import",
+ "moduleName": "MixSdk"
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "MSError",
+ "printedName": "MSError",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "invalidRequest",
+ "printedName": "invalidRequest",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(MixSdk.MSError.Type) -> MixSdk.MSError",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MSError",
+ "printedName": "MixSdk.MSError",
+ "usr": "s:6MixSdk7MSErrorO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "MixSdk.MSError.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MSError",
+ "printedName": "MixSdk.MSError",
+ "usr": "s:6MixSdk7MSErrorO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:6MixSdk7MSErrorO14invalidRequestyA2CmF",
+ "mangledName": "$s6MixSdk7MSErrorO14invalidRequestyA2CmF",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "parsingError",
+ "printedName": "parsingError",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(MixSdk.MSError.Type) -> MixSdk.MSError",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MSError",
+ "printedName": "MixSdk.MSError",
+ "usr": "s:6MixSdk7MSErrorO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "MixSdk.MSError.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MSError",
+ "printedName": "MixSdk.MSError",
+ "usr": "s:6MixSdk7MSErrorO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:6MixSdk7MSErrorO12parsingErroryA2CmF",
+ "mangledName": "$s6MixSdk7MSErrorO12parsingErroryA2CmF",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "reponseError",
+ "printedName": "reponseError",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(MixSdk.MSError.Type) -> (Swift.Int, Swift.String) -> MixSdk.MSError",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(Swift.Int, Swift.String) -> MixSdk.MSError",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MSError",
+ "printedName": "MixSdk.MSError",
+ "usr": "s:6MixSdk7MSErrorO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Tuple",
+ "printedName": "(Swift.Int, Swift.String)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "MixSdk.MSError.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MSError",
+ "printedName": "MixSdk.MSError",
+ "usr": "s:6MixSdk7MSErrorO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:6MixSdk7MSErrorO12reponseErroryACSi_SStcACmF",
+ "mangledName": "$s6MixSdk7MSErrorO12reponseErroryACSi_SStcACmF",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "unauthorised",
+ "printedName": "unauthorised",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(MixSdk.MSError.Type) -> MixSdk.MSError",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MSError",
+ "printedName": "MixSdk.MSError",
+ "usr": "s:6MixSdk7MSErrorO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "MixSdk.MSError.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MSError",
+ "printedName": "MixSdk.MSError",
+ "usr": "s:6MixSdk7MSErrorO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:6MixSdk7MSErrorO12unauthorisedyA2CmF",
+ "mangledName": "$s6MixSdk7MSErrorO12unauthorisedyA2CmF",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "unknow",
+ "printedName": "unknow",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(MixSdk.MSError.Type) -> MixSdk.MSError",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MSError",
+ "printedName": "MixSdk.MSError",
+ "usr": "s:6MixSdk7MSErrorO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "MixSdk.MSError.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MSError",
+ "printedName": "MixSdk.MSError",
+ "usr": "s:6MixSdk7MSErrorO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:6MixSdk7MSErrorO6unknowyA2CmF",
+ "mangledName": "$s6MixSdk7MSErrorO6unknowyA2CmF",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "msg",
+ "printedName": "msg",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdk7MSErrorO3msgSSvp",
+ "mangledName": "$s6MixSdk7MSErrorO3msgSSvp",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk7MSErrorO3msgSSvg",
+ "mangledName": "$s6MixSdk7MSErrorO3msgSSvg",
+ "moduleName": "MixSdk",
+ "accessorKind": "get"
+ }
+ ]
+ }
+ ],
+ "declKind": "Enum",
+ "usr": "s:6MixSdk7MSErrorO",
+ "mangledName": "$s6MixSdk7MSErrorO",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Error",
+ "printedName": "Error",
+ "usr": "s:s5ErrorP",
+ "mangledName": "$ss5ErrorP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Sendable",
+ "printedName": "Sendable",
+ "usr": "s:s8SendableP",
+ "mangledName": "$ss8SendableP"
+ }
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "MSTtsEvent",
+ "printedName": "MSTtsEvent",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "event",
+ "printedName": "event",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdk10MSTtsEventC5eventSSvp",
+ "mangledName": "$s6MixSdk10MSTtsEventC5eventSSvp",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk10MSTtsEventC5eventSSvg",
+ "mangledName": "$s6MixSdk10MSTtsEventC5eventSSvg",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk10MSTtsEventC5eventSSvs",
+ "mangledName": "$s6MixSdk10MSTtsEventC5eventSSvs",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk10MSTtsEventC5eventSSvM",
+ "mangledName": "$s6MixSdk10MSTtsEventC5eventSSvM",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "msg",
+ "printedName": "msg",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdk10MSTtsEventC3msgSSvp",
+ "mangledName": "$s6MixSdk10MSTtsEventC3msgSSvp",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk10MSTtsEventC3msgSSvg",
+ "mangledName": "$s6MixSdk10MSTtsEventC3msgSSvg",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk10MSTtsEventC3msgSSvs",
+ "mangledName": "$s6MixSdk10MSTtsEventC3msgSSvs",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk10MSTtsEventC3msgSSvM",
+ "mangledName": "$s6MixSdk10MSTtsEventC3msgSSvM",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "status",
+ "printedName": "status",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdk10MSTtsEventC6statusSivp",
+ "mangledName": "$s6MixSdk10MSTtsEventC6statusSivp",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk10MSTtsEventC6statusSivg",
+ "mangledName": "$s6MixSdk10MSTtsEventC6statusSivg",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk10MSTtsEventC6statusSivs",
+ "mangledName": "$s6MixSdk10MSTtsEventC6statusSivs",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk10MSTtsEventC6statusSivM",
+ "mangledName": "$s6MixSdk10MSTtsEventC6statusSivM",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "task_id",
+ "printedName": "task_id",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdk10MSTtsEventC7task_idSSvp",
+ "mangledName": "$s6MixSdk10MSTtsEventC7task_idSSvp",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk10MSTtsEventC7task_idSSvg",
+ "mangledName": "$s6MixSdk10MSTtsEventC7task_idSSvg",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk10MSTtsEventC7task_idSSvs",
+ "mangledName": "$s6MixSdk10MSTtsEventC7task_idSSvs",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk10MSTtsEventC7task_idSSvM",
+ "mangledName": "$s6MixSdk10MSTtsEventC7task_idSSvM",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init(from:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MSTtsEvent",
+ "printedName": "MixSdk.MSTtsEvent",
+ "usr": "s:6MixSdk10MSTtsEventC"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Decoder",
+ "printedName": "any Swift.Decoder",
+ "usr": "s:s7DecoderP"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:6MixSdk10MSTtsEventC4fromACs7Decoder_p_tKcfc",
+ "mangledName": "$s6MixSdk10MSTtsEventC4fromACs7Decoder_p_tKcfc",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "declAttributes": [
+ "Required"
+ ],
+ "throwing": true,
+ "init_kind": "Designated"
+ },
+ {
+ "kind": "Function",
+ "name": "encode",
+ "printedName": "encode(to:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Encoder",
+ "printedName": "any Swift.Encoder",
+ "usr": "s:s7EncoderP"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:6MixSdk10MSTtsEventC6encode2toys7Encoder_p_tKF",
+ "mangledName": "$s6MixSdk10MSTtsEventC6encode2toys7Encoder_p_tKF",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "throwing": true,
+ "funcSelfKind": "NonMutating"
+ }
+ ],
+ "declKind": "Class",
+ "usr": "s:6MixSdk10MSTtsEventC",
+ "mangledName": "$s6MixSdk10MSTtsEventC",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasMissingDesignatedInitializers": true,
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Decodable",
+ "printedName": "Decodable",
+ "usr": "s:Se",
+ "mangledName": "$sSe"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Encodable",
+ "printedName": "Encodable",
+ "usr": "s:SE",
+ "mangledName": "$sSE"
+ }
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Darwin",
+ "printedName": "Darwin",
+ "declKind": "Import",
+ "moduleName": "MixSdk"
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Darwin",
+ "printedName": "Darwin",
+ "declKind": "Import",
+ "moduleName": "MixSdk"
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "MSConnectState",
+ "printedName": "MSConnectState",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "connected",
+ "printedName": "connected",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(MixSdk.MSConnectState.Type) -> MixSdk.MSConnectState",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MSConnectState",
+ "printedName": "MixSdk.MSConnectState",
+ "usr": "s:6MixSdk14MSConnectStateO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "MixSdk.MSConnectState.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MSConnectState",
+ "printedName": "MixSdk.MSConnectState",
+ "usr": "s:6MixSdk14MSConnectStateO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:6MixSdk14MSConnectStateO9connectedyA2CmF",
+ "mangledName": "$s6MixSdk14MSConnectStateO9connectedyA2CmF",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "disConnected",
+ "printedName": "disConnected",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(MixSdk.MSConnectState.Type) -> MixSdk.MSConnectState",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MSConnectState",
+ "printedName": "MixSdk.MSConnectState",
+ "usr": "s:6MixSdk14MSConnectStateO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "MixSdk.MSConnectState.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MSConnectState",
+ "printedName": "MixSdk.MSConnectState",
+ "usr": "s:6MixSdk14MSConnectStateO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:6MixSdk14MSConnectStateO12disConnectedyA2CmF",
+ "mangledName": "$s6MixSdk14MSConnectStateO12disConnectedyA2CmF",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init(rawValue:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "MixSdk.MSConnectState?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MSConnectState",
+ "printedName": "MixSdk.MSConnectState",
+ "usr": "s:6MixSdk14MSConnectStateO"
+ }
+ ],
+ "usr": "s:Sq"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:6MixSdk14MSConnectStateO8rawValueACSgSi_tcfc",
+ "mangledName": "$s6MixSdk14MSConnectStateO8rawValueACSgSi_tcfc",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "init_kind": "Designated"
+ },
+ {
+ "kind": "Var",
+ "name": "rawValue",
+ "printedName": "rawValue",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdk14MSConnectStateO8rawValueSivp",
+ "mangledName": "$s6MixSdk14MSConnectStateO8rawValueSivp",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk14MSConnectStateO8rawValueSivg",
+ "mangledName": "$s6MixSdk14MSConnectStateO8rawValueSivg",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "get"
+ }
+ ]
+ }
+ ],
+ "declKind": "Enum",
+ "usr": "s:6MixSdk14MSConnectStateO",
+ "mangledName": "$s6MixSdk14MSConnectStateO",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "enumRawTypeName": "Int",
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Equatable",
+ "printedName": "Equatable",
+ "usr": "s:SQ",
+ "mangledName": "$sSQ"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Hashable",
+ "printedName": "Hashable",
+ "usr": "s:SH",
+ "mangledName": "$sSH"
+ },
+ {
+ "kind": "Conformance",
+ "name": "RawRepresentable",
+ "printedName": "RawRepresentable",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "RawValue",
+ "printedName": "RawValue",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ]
+ }
+ ],
+ "usr": "s:SY",
+ "mangledName": "$sSY"
+ }
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "MSStt",
+ "printedName": "MSStt",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "eventCallBack",
+ "printedName": "eventCallBack",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "((MixSdk.MSSttEvent) -> ())?",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(MixSdk.MSSttEvent) -> ()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "MSSttEvent",
+ "printedName": "MixSdk.MSSttEvent",
+ "usr": "s:6MixSdk10MSSttEventC"
+ }
+ ]
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdk5MSSttC13eventCallBackyAA0C5EventCcSgvp",
+ "mangledName": "$s6MixSdk5MSSttC13eventCallBackyAA0C5EventCcSgvp",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "((MixSdk.MSSttEvent) -> ())?",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(MixSdk.MSSttEvent) -> ()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "MSSttEvent",
+ "printedName": "MixSdk.MSSttEvent",
+ "usr": "s:6MixSdk10MSSttEventC"
+ }
+ ]
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk5MSSttC13eventCallBackyAA0C5EventCcSgvg",
+ "mangledName": "$s6MixSdk5MSSttC13eventCallBackyAA0C5EventCcSgvg",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "((MixSdk.MSSttEvent) -> ())?",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(MixSdk.MSSttEvent) -> ()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "MSSttEvent",
+ "printedName": "MixSdk.MSSttEvent",
+ "usr": "s:6MixSdk10MSSttEventC"
+ }
+ ]
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk5MSSttC13eventCallBackyAA0C5EventCcSgvs",
+ "mangledName": "$s6MixSdk5MSSttC13eventCallBackyAA0C5EventCcSgvs",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk5MSSttC13eventCallBackyAA0C5EventCcSgvM",
+ "mangledName": "$s6MixSdk5MSSttC13eventCallBackyAA0C5EventCcSgvM",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "connectStateCallBack",
+ "printedName": "connectStateCallBack",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "((MixSdk.MSConnectState) -> ())?",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(MixSdk.MSConnectState) -> ()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "MSConnectState",
+ "printedName": "MixSdk.MSConnectState",
+ "usr": "s:6MixSdk14MSConnectStateO"
+ }
+ ]
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdk5MSSttC20connectStateCallBackyAA09MSConnectE0OcSgvp",
+ "mangledName": "$s6MixSdk5MSSttC20connectStateCallBackyAA09MSConnectE0OcSgvp",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "((MixSdk.MSConnectState) -> ())?",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(MixSdk.MSConnectState) -> ()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "MSConnectState",
+ "printedName": "MixSdk.MSConnectState",
+ "usr": "s:6MixSdk14MSConnectStateO"
+ }
+ ]
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk5MSSttC20connectStateCallBackyAA09MSConnectE0OcSgvg",
+ "mangledName": "$s6MixSdk5MSSttC20connectStateCallBackyAA09MSConnectE0OcSgvg",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "((MixSdk.MSConnectState) -> ())?",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(MixSdk.MSConnectState) -> ()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "MSConnectState",
+ "printedName": "MixSdk.MSConnectState",
+ "usr": "s:6MixSdk14MSConnectStateO"
+ }
+ ]
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk5MSSttC20connectStateCallBackyAA09MSConnectE0OcSgvs",
+ "mangledName": "$s6MixSdk5MSSttC20connectStateCallBackyAA09MSConnectE0OcSgvs",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk5MSSttC20connectStateCallBackyAA09MSConnectE0OcSgvM",
+ "mangledName": "$s6MixSdk5MSSttC20connectStateCallBackyAA09MSConnectE0OcSgvM",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "connectState",
+ "printedName": "connectState",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MSConnectState",
+ "printedName": "MixSdk.MSConnectState",
+ "usr": "s:6MixSdk14MSConnectStateO"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdk5MSSttC12connectStateAA09MSConnectE0Ovp",
+ "mangledName": "$s6MixSdk5MSSttC12connectStateAA09MSConnectE0Ovp",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MSConnectState",
+ "printedName": "MixSdk.MSConnectState",
+ "usr": "s:6MixSdk14MSConnectStateO"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk5MSSttC12connectStateAA09MSConnectE0Ovg",
+ "mangledName": "$s6MixSdk5MSSttC12connectStateAA09MSConnectE0Ovg",
+ "moduleName": "MixSdk",
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Function",
+ "name": "sentenceRecognize",
+ "printedName": "sentenceRecognize(filePath:format:sample_rate:lang:completeHandler:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "hasDefaultArg": true,
+ "usr": "s:Sq"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "hasDefaultArg": true,
+ "usr": "s:Sq"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "hasDefaultArg": true,
+ "usr": "s:Sq"
+ },
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(Swift.String?, MixSdk.MSError?) -> ()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Tuple",
+ "printedName": "(Swift.String?, MixSdk.MSError?)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sq"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "MixSdk.MSError?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MSError",
+ "printedName": "MixSdk.MSError",
+ "usr": "s:6MixSdk7MSErrorO"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:6MixSdk5MSSttC17sentenceRecognize8filePath6format11sample_rate4lang15completeHandlerySS_SSSgA2JyAJ_AA7MSErrorOSgtctF",
+ "mangledName": "$s6MixSdk5MSSttC17sentenceRecognize8filePath6format11sample_rate4lang15completeHandlerySS_SSSgA2JyAJ_AA7MSErrorOSgtctF",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "funcSelfKind": "NonMutating"
+ },
+ {
+ "kind": "Function",
+ "name": "startTranscription",
+ "printedName": "startTranscription()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:6MixSdk5MSSttC18startTranscriptionyyF",
+ "mangledName": "$s6MixSdk5MSSttC18startTranscriptionyyF",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "funcSelfKind": "NonMutating"
+ },
+ {
+ "kind": "Function",
+ "name": "stopTranscription",
+ "printedName": "stopTranscription()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:6MixSdk5MSSttC17stopTranscriptionyyF",
+ "mangledName": "$s6MixSdk5MSSttC17stopTranscriptionyyF",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "funcSelfKind": "NonMutating"
+ },
+ {
+ "kind": "Function",
+ "name": "sendVoice",
+ "printedName": "sendVoice(pcmData:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Data",
+ "printedName": "Foundation.Data",
+ "usr": "s:10Foundation4DataV"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:6MixSdk5MSSttC9sendVoice7pcmDatay10Foundation0G0V_tF",
+ "mangledName": "$s6MixSdk5MSSttC9sendVoice7pcmDatay10Foundation0G0V_tF",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "funcSelfKind": "NonMutating"
+ },
+ {
+ "kind": "Function",
+ "name": "sendVoice",
+ "printedName": "sendVoice(sbcData:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Data",
+ "printedName": "Foundation.Data",
+ "usr": "s:10Foundation4DataV"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:6MixSdk5MSSttC9sendVoice7sbcDatay10Foundation0G0V_tF",
+ "mangledName": "$s6MixSdk5MSSttC9sendVoice7sbcDatay10Foundation0G0V_tF",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "funcSelfKind": "NonMutating"
+ }
+ ],
+ "declKind": "Class",
+ "usr": "s:6MixSdk5MSSttC",
+ "mangledName": "$s6MixSdk5MSSttC",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasMissingDesignatedInitializers": true,
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ }
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Darwin",
+ "printedName": "Darwin",
+ "declKind": "Import",
+ "moduleName": "MixSdk"
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "StreamDecryptor",
+ "printedName": "StreamDecryptor",
+ "children": [
+ {
+ "kind": "TypeDecl",
+ "name": "Error",
+ "printedName": "Error",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "unsupported",
+ "printedName": "unsupported",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(MixSdk.StreamDecryptor.Error.Type) -> MixSdk.StreamDecryptor.Error",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Error",
+ "printedName": "MixSdk.StreamDecryptor.Error",
+ "usr": "s:6MixSdk15StreamDecryptorC5ErrorO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "MixSdk.StreamDecryptor.Error.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Error",
+ "printedName": "MixSdk.StreamDecryptor.Error",
+ "usr": "s:6MixSdk15StreamDecryptorC5ErrorO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:6MixSdk15StreamDecryptorC5ErrorO11unsupportedyA2EmF",
+ "mangledName": "$s6MixSdk15StreamDecryptorC5ErrorO11unsupportedyA2EmF",
+ "moduleName": "MixSdk"
+ },
+ {
+ "kind": "Function",
+ "name": "==",
+ "printedName": "==(_:_:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Bool",
+ "printedName": "Swift.Bool",
+ "usr": "s:Sb"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Error",
+ "printedName": "MixSdk.StreamDecryptor.Error",
+ "usr": "s:6MixSdk15StreamDecryptorC5ErrorO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Error",
+ "printedName": "MixSdk.StreamDecryptor.Error",
+ "usr": "s:6MixSdk15StreamDecryptorC5ErrorO"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:6MixSdk15StreamDecryptorC5ErrorO2eeoiySbAE_AEtFZ",
+ "mangledName": "$s6MixSdk15StreamDecryptorC5ErrorO2eeoiySbAE_AEtFZ",
+ "moduleName": "MixSdk",
+ "static": true,
+ "implicit": true,
+ "declAttributes": [
+ "UsableFromInline"
+ ],
+ "funcSelfKind": "NonMutating"
+ },
+ {
+ "kind": "Var",
+ "name": "hashValue",
+ "printedName": "hashValue",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdk15StreamDecryptorC5ErrorO9hashValueSivp",
+ "mangledName": "$s6MixSdk15StreamDecryptorC5ErrorO9hashValueSivp",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "declAttributes": [
+ "UsableFromInline"
+ ],
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk15StreamDecryptorC5ErrorO9hashValueSivg",
+ "mangledName": "$s6MixSdk15StreamDecryptorC5ErrorO9hashValueSivg",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "declAttributes": [
+ "UsableFromInline"
+ ],
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Function",
+ "name": "hash",
+ "printedName": "hash(into:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Hasher",
+ "printedName": "Swift.Hasher",
+ "paramValueOwnership": "InOut",
+ "usr": "s:s6HasherV"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:6MixSdk15StreamDecryptorC5ErrorO4hash4intoys6HasherVz_tF",
+ "mangledName": "$s6MixSdk15StreamDecryptorC5ErrorO4hash4intoys6HasherVz_tF",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "declAttributes": [
+ "UsableFromInline"
+ ],
+ "funcSelfKind": "NonMutating"
+ }
+ ],
+ "declKind": "Enum",
+ "usr": "s:6MixSdk15StreamDecryptorC5ErrorO",
+ "mangledName": "$s6MixSdk15StreamDecryptorC5ErrorO",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "UsableFromInline"
+ ],
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Equatable",
+ "printedName": "Equatable",
+ "usr": "s:SQ",
+ "mangledName": "$sSQ"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Hashable",
+ "printedName": "Hashable",
+ "usr": "s:SH",
+ "mangledName": "$sSH"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Error",
+ "printedName": "Error",
+ "usr": "s:s5ErrorP",
+ "mangledName": "$ss5ErrorP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Sendable",
+ "printedName": "Sendable",
+ "usr": "s:s8SendableP",
+ "mangledName": "$ss8SendableP"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "blockSize",
+ "printedName": "blockSize",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdk15StreamDecryptorC9blockSizeSivp",
+ "mangledName": "$s6MixSdk15StreamDecryptorC9blockSizeSivp",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "Final",
+ "HasStorage",
+ "AccessControl",
+ "UsableFromInline"
+ ],
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk15StreamDecryptorC9blockSizeSivg",
+ "mangledName": "$s6MixSdk15StreamDecryptorC9blockSizeSivg",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "worker",
+ "printedName": "worker",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "CipherModeWorker",
+ "printedName": "any MixSdk.CipherModeWorker",
+ "usr": "s:6MixSdk16CipherModeWorkerP"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdk15StreamDecryptorC6workerAA16CipherModeWorker_pvp",
+ "mangledName": "$s6MixSdk15StreamDecryptorC6workerAA16CipherModeWorker_pvp",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "Final",
+ "HasStorage",
+ "AccessControl",
+ "UsableFromInline"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "CipherModeWorker",
+ "printedName": "any MixSdk.CipherModeWorker",
+ "usr": "s:6MixSdk16CipherModeWorkerP"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk15StreamDecryptorC6workerAA16CipherModeWorker_pvg",
+ "mangledName": "$s6MixSdk15StreamDecryptorC6workerAA16CipherModeWorker_pvg",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "CipherModeWorker",
+ "printedName": "any MixSdk.CipherModeWorker",
+ "usr": "s:6MixSdk16CipherModeWorkerP"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk15StreamDecryptorC6workerAA16CipherModeWorker_pvs",
+ "mangledName": "$s6MixSdk15StreamDecryptorC6workerAA16CipherModeWorker_pvs",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk15StreamDecryptorC6workerAA16CipherModeWorker_pvM",
+ "mangledName": "$s6MixSdk15StreamDecryptorC6workerAA16CipherModeWorker_pvM",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "padding",
+ "printedName": "padding",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Padding",
+ "printedName": "MixSdk.Padding",
+ "usr": "s:6MixSdk7PaddingO"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdk15StreamDecryptorC7paddingAA7PaddingOvp",
+ "mangledName": "$s6MixSdk15StreamDecryptorC7paddingAA7PaddingOvp",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "Final",
+ "HasStorage",
+ "AccessControl",
+ "UsableFromInline"
+ ],
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Padding",
+ "printedName": "MixSdk.Padding",
+ "usr": "s:6MixSdk7PaddingO"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk15StreamDecryptorC7paddingAA7PaddingOvg",
+ "mangledName": "$s6MixSdk15StreamDecryptorC7paddingAA7PaddingOvg",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "accumulated",
+ "printedName": "accumulated",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Array",
+ "printedName": "[Swift.UInt8]",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "UInt8",
+ "printedName": "Swift.UInt8",
+ "usr": "s:s5UInt8V"
+ }
+ ],
+ "usr": "s:Sa"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdk15StreamDecryptorC11accumulatedSays5UInt8VGvp",
+ "mangledName": "$s6MixSdk15StreamDecryptorC11accumulatedSays5UInt8VGvp",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "AccessControl",
+ "UsableFromInline"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Array",
+ "printedName": "[Swift.UInt8]",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "UInt8",
+ "printedName": "Swift.UInt8",
+ "usr": "s:s5UInt8V"
+ }
+ ],
+ "usr": "s:Sa"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk15StreamDecryptorC11accumulatedSays5UInt8VGvg",
+ "mangledName": "$s6MixSdk15StreamDecryptorC11accumulatedSays5UInt8VGvg",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Array",
+ "printedName": "[Swift.UInt8]",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "UInt8",
+ "printedName": "Swift.UInt8",
+ "usr": "s:s5UInt8V"
+ }
+ ],
+ "usr": "s:Sa"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk15StreamDecryptorC11accumulatedSays5UInt8VGvs",
+ "mangledName": "$s6MixSdk15StreamDecryptorC11accumulatedSays5UInt8VGvs",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk15StreamDecryptorC11accumulatedSays5UInt8VGvM",
+ "mangledName": "$s6MixSdk15StreamDecryptorC11accumulatedSays5UInt8VGvM",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "lastBlockRemainder",
+ "printedName": "lastBlockRemainder",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdk15StreamDecryptorC18lastBlockRemainderSivp",
+ "mangledName": "$s6MixSdk15StreamDecryptorC18lastBlockRemainderSivp",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "AccessControl",
+ "UsableFromInline"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk15StreamDecryptorC18lastBlockRemainderSivg",
+ "mangledName": "$s6MixSdk15StreamDecryptorC18lastBlockRemainderSivg",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk15StreamDecryptorC18lastBlockRemainderSivs",
+ "mangledName": "$s6MixSdk15StreamDecryptorC18lastBlockRemainderSivs",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk15StreamDecryptorC18lastBlockRemainderSivM",
+ "mangledName": "$s6MixSdk15StreamDecryptorC18lastBlockRemainderSivM",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init(blockSize:padding:_:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "StreamDecryptor",
+ "printedName": "MixSdk.StreamDecryptor",
+ "usr": "s:6MixSdk15StreamDecryptorC"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Padding",
+ "printedName": "MixSdk.Padding",
+ "usr": "s:6MixSdk7PaddingO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "CipherModeWorker",
+ "printedName": "any MixSdk.CipherModeWorker",
+ "usr": "s:6MixSdk16CipherModeWorkerP"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:6MixSdk15StreamDecryptorC9blockSize7padding_ACSi_AA7PaddingOAA16CipherModeWorker_ptKcfc",
+ "mangledName": "$s6MixSdk15StreamDecryptorC9blockSize7padding_ACSi_AA7PaddingOAA16CipherModeWorker_ptKcfc",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "UsableFromInline"
+ ],
+ "throwing": true,
+ "init_kind": "Designated"
+ }
+ ],
+ "declKind": "Class",
+ "usr": "s:6MixSdk15StreamDecryptorC",
+ "mangledName": "$s6MixSdk15StreamDecryptorC",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "Final",
+ "UsableFromInline",
+ "RawDocComment"
+ ],
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ }
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "BatchedCollectionIndex",
+ "printedName": "BatchedCollectionIndex",
+ "children": [
+ {
+ "kind": "Function",
+ "name": "==",
+ "printedName": "==(_:_:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Bool",
+ "printedName": "Swift.Bool",
+ "usr": "s:Sb"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "BatchedCollectionIndex",
+ "printedName": "MixSdk.BatchedCollectionIndex<τ_1_0>",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "GenericTypeParam",
+ "printedName": "τ_1_0"
+ }
+ ],
+ "usr": "s:6MixSdk22BatchedCollectionIndexV"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "BatchedCollectionIndex",
+ "printedName": "MixSdk.BatchedCollectionIndex<τ_1_0>",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "GenericTypeParam",
+ "printedName": "τ_1_0"
+ }
+ ],
+ "usr": "s:6MixSdk22BatchedCollectionIndexV"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:6MixSdk22BatchedCollectionIndexV2eeoiySbACyqd__G_AEtSlRd__lFZ",
+ "mangledName": "$s6MixSdk22BatchedCollectionIndexV2eeoiySbACyqd__G_AEtSlRd__lFZ",
+ "moduleName": "MixSdk",
+ "genericSig": "<τ_0_0, τ_1_0 where τ_0_0 : Swift.Collection, τ_1_0 : Swift.Collection>",
+ "sugared_genericSig": "<Base, BaseCollection where Base : Swift.Collection, BaseCollection : Swift.Collection>",
+ "static": true,
+ "declAttributes": [
+ "UsableFromInline"
+ ],
+ "isFromExtension": true,
+ "funcSelfKind": "NonMutating"
+ },
+ {
+ "kind": "Function",
+ "name": "<",
+ "printedName": "<(_:_:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Bool",
+ "printedName": "Swift.Bool",
+ "usr": "s:Sb"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "BatchedCollectionIndex",
+ "printedName": "MixSdk.BatchedCollectionIndex<τ_1_0>",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "GenericTypeParam",
+ "printedName": "τ_1_0"
+ }
+ ],
+ "usr": "s:6MixSdk22BatchedCollectionIndexV"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "BatchedCollectionIndex",
+ "printedName": "MixSdk.BatchedCollectionIndex<τ_1_0>",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "GenericTypeParam",
+ "printedName": "τ_1_0"
+ }
+ ],
+ "usr": "s:6MixSdk22BatchedCollectionIndexV"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:6MixSdk22BatchedCollectionIndexV1loiySbACyqd__G_AEtSlRd__lFZ",
+ "mangledName": "$s6MixSdk22BatchedCollectionIndexV1loiySbACyqd__G_AEtSlRd__lFZ",
+ "moduleName": "MixSdk",
+ "genericSig": "<τ_0_0, τ_1_0 where τ_0_0 : Swift.Collection, τ_1_0 : Swift.Collection>",
+ "sugared_genericSig": "<Base, BaseCollection where Base : Swift.Collection, BaseCollection : Swift.Collection>",
+ "static": true,
+ "declAttributes": [
+ "UsableFromInline"
+ ],
+ "isFromExtension": true,
+ "funcSelfKind": "NonMutating"
+ }
+ ],
+ "declKind": "Struct",
+ "usr": "s:6MixSdk22BatchedCollectionIndexV",
+ "mangledName": "$s6MixSdk22BatchedCollectionIndexV",
+ "moduleName": "MixSdk",
+ "genericSig": "<τ_0_0 where τ_0_0 : Swift.Collection>",
+ "sugared_genericSig": "<Base where Base : Swift.Collection>",
+ "declAttributes": [
+ "UsableFromInline",
+ "RawDocComment"
+ ],
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Comparable",
+ "printedName": "Comparable",
+ "usr": "s:SL",
+ "mangledName": "$sSL"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Equatable",
+ "printedName": "Equatable",
+ "usr": "s:SQ",
+ "mangledName": "$sSQ"
+ }
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "BatchedCollection",
+ "printedName": "BatchedCollection",
+ "children": [
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init(base:size:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "BatchedCollection",
+ "printedName": "MixSdk.BatchedCollection<τ_0_0>",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "GenericTypeParam",
+ "printedName": "τ_0_0"
+ }
+ ],
+ "usr": "s:6MixSdk17BatchedCollectionV"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "GenericTypeParam",
+ "printedName": "τ_0_0"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:6MixSdk17BatchedCollectionV4base4sizeACyxGx_Sitcfc",
+ "mangledName": "$s6MixSdk17BatchedCollectionV4base4sizeACyxGx_Sitcfc",
+ "moduleName": "MixSdk",
+ "genericSig": "<τ_0_0 where τ_0_0 : Swift.Collection>",
+ "sugared_genericSig": "<Base where Base : Swift.Collection>",
+ "declAttributes": [
+ "UsableFromInline"
+ ],
+ "init_kind": "Designated"
+ },
+ {
+ "kind": "Var",
+ "name": "startIndex",
+ "printedName": "startIndex",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "BatchedCollectionIndex",
+ "printedName": "MixSdk.BatchedCollectionIndex<τ_0_0>",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "GenericTypeParam",
+ "printedName": "τ_0_0"
+ }
+ ],
+ "usr": "s:6MixSdk22BatchedCollectionIndexV"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdk17BatchedCollectionV10startIndexAA0cdF0VyxGvp",
+ "mangledName": "$s6MixSdk17BatchedCollectionV10startIndexAA0cdF0VyxGvp",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "UsableFromInline"
+ ],
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "BatchedCollectionIndex",
+ "printedName": "MixSdk.BatchedCollectionIndex<τ_0_0>",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "GenericTypeParam",
+ "printedName": "τ_0_0"
+ }
+ ],
+ "usr": "s:6MixSdk22BatchedCollectionIndexV"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk17BatchedCollectionV10startIndexAA0cdF0VyxGvg",
+ "mangledName": "$s6MixSdk17BatchedCollectionV10startIndexAA0cdF0VyxGvg",
+ "moduleName": "MixSdk",
+ "genericSig": "<τ_0_0 where τ_0_0 : Swift.Collection>",
+ "sugared_genericSig": "<Base where Base : Swift.Collection>",
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "endIndex",
+ "printedName": "endIndex",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "BatchedCollectionIndex",
+ "printedName": "MixSdk.BatchedCollectionIndex<τ_0_0>",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "GenericTypeParam",
+ "printedName": "τ_0_0"
+ }
+ ],
+ "usr": "s:6MixSdk22BatchedCollectionIndexV"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdk17BatchedCollectionV8endIndexAA0cdF0VyxGvp",
+ "mangledName": "$s6MixSdk17BatchedCollectionV8endIndexAA0cdF0VyxGvp",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "UsableFromInline"
+ ],
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "BatchedCollectionIndex",
+ "printedName": "MixSdk.BatchedCollectionIndex<τ_0_0>",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "GenericTypeParam",
+ "printedName": "τ_0_0"
+ }
+ ],
+ "usr": "s:6MixSdk22BatchedCollectionIndexV"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk17BatchedCollectionV8endIndexAA0cdF0VyxGvg",
+ "mangledName": "$s6MixSdk17BatchedCollectionV8endIndexAA0cdF0VyxGvg",
+ "moduleName": "MixSdk",
+ "genericSig": "<τ_0_0 where τ_0_0 : Swift.Collection>",
+ "sugared_genericSig": "<Base where Base : Swift.Collection>",
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Function",
+ "name": "index",
+ "printedName": "index(after:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "BatchedCollectionIndex",
+ "printedName": "MixSdk.BatchedCollectionIndex<τ_0_0>",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "GenericTypeParam",
+ "printedName": "τ_0_0"
+ }
+ ],
+ "usr": "s:6MixSdk22BatchedCollectionIndexV"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "BatchedCollectionIndex",
+ "printedName": "MixSdk.BatchedCollectionIndex<τ_0_0>",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "GenericTypeParam",
+ "printedName": "τ_0_0"
+ }
+ ],
+ "usr": "s:6MixSdk22BatchedCollectionIndexV"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:6MixSdk17BatchedCollectionV5index5afterAA0cD5IndexVyxGAH_tF",
+ "mangledName": "$s6MixSdk17BatchedCollectionV5index5afterAA0cD5IndexVyxGAH_tF",
+ "moduleName": "MixSdk",
+ "genericSig": "<τ_0_0 where τ_0_0 : Swift.Collection>",
+ "sugared_genericSig": "<Base where Base : Swift.Collection>",
+ "declAttributes": [
+ "UsableFromInline"
+ ],
+ "funcSelfKind": "NonMutating"
+ },
+ {
+ "kind": "Subscript",
+ "name": "subscript",
+ "printedName": "subscript(_:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "DependentMember",
+ "printedName": "τ_0_0.SubSequence"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "BatchedCollectionIndex",
+ "printedName": "MixSdk.BatchedCollectionIndex<τ_0_0>",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "GenericTypeParam",
+ "printedName": "τ_0_0"
+ }
+ ],
+ "usr": "s:6MixSdk22BatchedCollectionIndexV"
+ }
+ ],
+ "declKind": "Subscript",
+ "usr": "s:6MixSdk17BatchedCollectionVy11SubSequenceQzAA0cD5IndexVyxGcip",
+ "mangledName": "$s6MixSdk17BatchedCollectionVy11SubSequenceQzAA0cD5IndexVyxGcip",
+ "moduleName": "MixSdk",
+ "genericSig": "<τ_0_0 where τ_0_0 : Swift.Collection>",
+ "sugared_genericSig": "<Base where Base : Swift.Collection>",
+ "declAttributes": [
+ "UsableFromInline"
+ ],
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "DependentMember",
+ "printedName": "τ_0_0.SubSequence"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "BatchedCollectionIndex",
+ "printedName": "MixSdk.BatchedCollectionIndex<τ_0_0>",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "GenericTypeParam",
+ "printedName": "τ_0_0"
+ }
+ ],
+ "usr": "s:6MixSdk22BatchedCollectionIndexV"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk17BatchedCollectionVy11SubSequenceQzAA0cD5IndexVyxGcig",
+ "mangledName": "$s6MixSdk17BatchedCollectionVy11SubSequenceQzAA0cD5IndexVyxGcig",
+ "moduleName": "MixSdk",
+ "genericSig": "<τ_0_0 where τ_0_0 : Swift.Collection>",
+ "sugared_genericSig": "<Base where Base : Swift.Collection>",
+ "accessorKind": "get"
+ }
+ ]
+ }
+ ],
+ "declKind": "Struct",
+ "usr": "s:6MixSdk17BatchedCollectionV",
+ "mangledName": "$s6MixSdk17BatchedCollectionV",
+ "moduleName": "MixSdk",
+ "genericSig": "<τ_0_0 where τ_0_0 : Swift.Collection>",
+ "sugared_genericSig": "<Base where Base : Swift.Collection>",
+ "declAttributes": [
+ "UsableFromInline"
+ ],
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Collection",
+ "printedName": "Collection",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "Element",
+ "printedName": "Element",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "DependentMember",
+ "printedName": "τ_0_0.SubSequence"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "Index",
+ "printedName": "Index",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "BatchedCollectionIndex",
+ "printedName": "MixSdk.BatchedCollectionIndex<τ_0_0>",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "GenericTypeParam",
+ "printedName": "τ_0_0"
+ }
+ ],
+ "usr": "s:6MixSdk22BatchedCollectionIndexV"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "Iterator",
+ "printedName": "Iterator",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IndexingIterator",
+ "printedName": "Swift.IndexingIterator<MixSdk.BatchedCollection<τ_0_0>>",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "BatchedCollection",
+ "printedName": "MixSdk.BatchedCollection<τ_0_0>",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "GenericTypeParam",
+ "printedName": "τ_0_0"
+ }
+ ],
+ "usr": "s:6MixSdk17BatchedCollectionV"
+ }
+ ],
+ "usr": "s:s16IndexingIteratorV"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "SubSequence",
+ "printedName": "SubSequence",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Slice",
+ "printedName": "Swift.Slice<MixSdk.BatchedCollection<τ_0_0>>",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "BatchedCollection",
+ "printedName": "MixSdk.BatchedCollection<τ_0_0>",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "GenericTypeParam",
+ "printedName": "τ_0_0"
+ }
+ ],
+ "usr": "s:6MixSdk17BatchedCollectionV"
+ }
+ ],
+ "usr": "s:s5SliceV"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "Indices",
+ "printedName": "Indices",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "DefaultIndices",
+ "printedName": "Swift.DefaultIndices<MixSdk.BatchedCollection<τ_0_0>>",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "BatchedCollection",
+ "printedName": "MixSdk.BatchedCollection<τ_0_0>",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "GenericTypeParam",
+ "printedName": "τ_0_0"
+ }
+ ],
+ "usr": "s:6MixSdk17BatchedCollectionV"
+ }
+ ],
+ "usr": "s:SI"
+ }
+ ]
+ }
+ ],
+ "usr": "s:Sl",
+ "mangledName": "$sSl"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Sequence",
+ "printedName": "Sequence",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "Element",
+ "printedName": "Element",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "DependentMember",
+ "printedName": "τ_0_0.SubSequence"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "Iterator",
+ "printedName": "Iterator",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IndexingIterator",
+ "printedName": "Swift.IndexingIterator<MixSdk.BatchedCollection<τ_0_0>>",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "BatchedCollection",
+ "printedName": "MixSdk.BatchedCollection<τ_0_0>",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "GenericTypeParam",
+ "printedName": "τ_0_0"
+ }
+ ],
+ "usr": "s:6MixSdk17BatchedCollectionV"
+ }
+ ],
+ "usr": "s:s16IndexingIteratorV"
+ }
+ ]
+ }
+ ],
+ "usr": "s:ST",
+ "mangledName": "$sST"
+ }
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Darwin",
+ "printedName": "Darwin",
+ "declKind": "Import",
+ "moduleName": "MixSdk"
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "MSRegisterModel",
+ "printedName": "MSRegisterModel",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "deviceId",
+ "printedName": "deviceId",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdk15MSRegisterModelC8deviceIdSSvp",
+ "mangledName": "$s6MixSdk15MSRegisterModelC8deviceIdSSvp",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk15MSRegisterModelC8deviceIdSSvg",
+ "mangledName": "$s6MixSdk15MSRegisterModelC8deviceIdSSvg",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk15MSRegisterModelC8deviceIdSSvs",
+ "mangledName": "$s6MixSdk15MSRegisterModelC8deviceIdSSvs",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk15MSRegisterModelC8deviceIdSSvM",
+ "mangledName": "$s6MixSdk15MSRegisterModelC8deviceIdSSvM",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "password",
+ "printedName": "password",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdk15MSRegisterModelC8passwordSSvp",
+ "mangledName": "$s6MixSdk15MSRegisterModelC8passwordSSvp",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk15MSRegisterModelC8passwordSSvg",
+ "mangledName": "$s6MixSdk15MSRegisterModelC8passwordSSvg",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk15MSRegisterModelC8passwordSSvs",
+ "mangledName": "$s6MixSdk15MSRegisterModelC8passwordSSvs",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk15MSRegisterModelC8passwordSSvM",
+ "mangledName": "$s6MixSdk15MSRegisterModelC8passwordSSvM",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "nonce",
+ "printedName": "nonce",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdk15MSRegisterModelC5nonceSSvp",
+ "mangledName": "$s6MixSdk15MSRegisterModelC5nonceSSvp",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk15MSRegisterModelC5nonceSSvg",
+ "mangledName": "$s6MixSdk15MSRegisterModelC5nonceSSvg",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk15MSRegisterModelC5nonceSSvs",
+ "mangledName": "$s6MixSdk15MSRegisterModelC5nonceSSvs",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk15MSRegisterModelC5nonceSSvM",
+ "mangledName": "$s6MixSdk15MSRegisterModelC5nonceSSvM",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ }
+ ],
+ "declKind": "Class",
+ "usr": "s:6MixSdk15MSRegisterModelC",
+ "mangledName": "$s6MixSdk15MSRegisterModelC",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasMissingDesignatedInitializers": true,
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ }
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "MSChatGptError",
+ "printedName": "MSChatGptError",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "message",
+ "printedName": "message",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdk14MSChatGptErrorC7messageSSvp",
+ "mangledName": "$s6MixSdk14MSChatGptErrorC7messageSSvp",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk14MSChatGptErrorC7messageSSvg",
+ "mangledName": "$s6MixSdk14MSChatGptErrorC7messageSSvg",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk14MSChatGptErrorC7messageSSvs",
+ "mangledName": "$s6MixSdk14MSChatGptErrorC7messageSSvs",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk14MSChatGptErrorC7messageSSvM",
+ "mangledName": "$s6MixSdk14MSChatGptErrorC7messageSSvM",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "code",
+ "printedName": "code",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdk14MSChatGptErrorC4codeSSvp",
+ "mangledName": "$s6MixSdk14MSChatGptErrorC4codeSSvp",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk14MSChatGptErrorC4codeSSvg",
+ "mangledName": "$s6MixSdk14MSChatGptErrorC4codeSSvg",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk14MSChatGptErrorC4codeSSvs",
+ "mangledName": "$s6MixSdk14MSChatGptErrorC4codeSSvs",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk14MSChatGptErrorC4codeSSvM",
+ "mangledName": "$s6MixSdk14MSChatGptErrorC4codeSSvM",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init(from:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MSChatGptError",
+ "printedName": "MixSdk.MSChatGptError",
+ "usr": "s:6MixSdk14MSChatGptErrorC"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Decoder",
+ "printedName": "any Swift.Decoder",
+ "usr": "s:s7DecoderP"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:6MixSdk14MSChatGptErrorC4fromACs7Decoder_p_tKcfc",
+ "mangledName": "$s6MixSdk14MSChatGptErrorC4fromACs7Decoder_p_tKcfc",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "declAttributes": [
+ "Required"
+ ],
+ "throwing": true,
+ "init_kind": "Designated"
+ },
+ {
+ "kind": "Function",
+ "name": "encode",
+ "printedName": "encode(to:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Encoder",
+ "printedName": "any Swift.Encoder",
+ "usr": "s:s7EncoderP"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:6MixSdk14MSChatGptErrorC6encode2toys7Encoder_p_tKF",
+ "mangledName": "$s6MixSdk14MSChatGptErrorC6encode2toys7Encoder_p_tKF",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "throwing": true,
+ "funcSelfKind": "NonMutating"
+ }
+ ],
+ "declKind": "Class",
+ "usr": "s:6MixSdk14MSChatGptErrorC",
+ "mangledName": "$s6MixSdk14MSChatGptErrorC",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasMissingDesignatedInitializers": true,
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Decodable",
+ "printedName": "Decodable",
+ "usr": "s:Se",
+ "mangledName": "$sSe"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Encodable",
+ "printedName": "Encodable",
+ "usr": "s:SE",
+ "mangledName": "$sSE"
+ }
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "MSChatGptModel",
+ "printedName": "MSChatGptModel",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "id",
+ "printedName": "id",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdk14MSChatGptModelC2idSSvp",
+ "mangledName": "$s6MixSdk14MSChatGptModelC2idSSvp",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk14MSChatGptModelC2idSSvg",
+ "mangledName": "$s6MixSdk14MSChatGptModelC2idSSvg",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk14MSChatGptModelC2idSSvs",
+ "mangledName": "$s6MixSdk14MSChatGptModelC2idSSvs",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk14MSChatGptModelC2idSSvM",
+ "mangledName": "$s6MixSdk14MSChatGptModelC2idSSvM",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "object",
+ "printedName": "object",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdk14MSChatGptModelC6objectSSvp",
+ "mangledName": "$s6MixSdk14MSChatGptModelC6objectSSvp",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk14MSChatGptModelC6objectSSvg",
+ "mangledName": "$s6MixSdk14MSChatGptModelC6objectSSvg",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk14MSChatGptModelC6objectSSvs",
+ "mangledName": "$s6MixSdk14MSChatGptModelC6objectSSvs",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk14MSChatGptModelC6objectSSvM",
+ "mangledName": "$s6MixSdk14MSChatGptModelC6objectSSvM",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "created",
+ "printedName": "created",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdk14MSChatGptModelC7createdSivp",
+ "mangledName": "$s6MixSdk14MSChatGptModelC7createdSivp",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk14MSChatGptModelC7createdSivg",
+ "mangledName": "$s6MixSdk14MSChatGptModelC7createdSivg",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk14MSChatGptModelC7createdSivs",
+ "mangledName": "$s6MixSdk14MSChatGptModelC7createdSivs",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk14MSChatGptModelC7createdSivM",
+ "mangledName": "$s6MixSdk14MSChatGptModelC7createdSivM",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "model",
+ "printedName": "model",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdk14MSChatGptModelC5modelSSvp",
+ "mangledName": "$s6MixSdk14MSChatGptModelC5modelSSvp",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk14MSChatGptModelC5modelSSvg",
+ "mangledName": "$s6MixSdk14MSChatGptModelC5modelSSvg",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk14MSChatGptModelC5modelSSvs",
+ "mangledName": "$s6MixSdk14MSChatGptModelC5modelSSvs",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk14MSChatGptModelC5modelSSvM",
+ "mangledName": "$s6MixSdk14MSChatGptModelC5modelSSvM",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "choices",
+ "printedName": "choices",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Array",
+ "printedName": "[MixSdk.MSChatGptChoices]",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MSChatGptChoices",
+ "printedName": "MixSdk.MSChatGptChoices",
+ "usr": "s:6MixSdk16MSChatGptChoicesC"
+ }
+ ],
+ "usr": "s:Sa"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdk14MSChatGptModelC7choicesSayAA0cD7ChoicesCGvp",
+ "mangledName": "$s6MixSdk14MSChatGptModelC7choicesSayAA0cD7ChoicesCGvp",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Array",
+ "printedName": "[MixSdk.MSChatGptChoices]",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MSChatGptChoices",
+ "printedName": "MixSdk.MSChatGptChoices",
+ "usr": "s:6MixSdk16MSChatGptChoicesC"
+ }
+ ],
+ "usr": "s:Sa"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk14MSChatGptModelC7choicesSayAA0cD7ChoicesCGvg",
+ "mangledName": "$s6MixSdk14MSChatGptModelC7choicesSayAA0cD7ChoicesCGvg",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Array",
+ "printedName": "[MixSdk.MSChatGptChoices]",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MSChatGptChoices",
+ "printedName": "MixSdk.MSChatGptChoices",
+ "usr": "s:6MixSdk16MSChatGptChoicesC"
+ }
+ ],
+ "usr": "s:Sa"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk14MSChatGptModelC7choicesSayAA0cD7ChoicesCGvs",
+ "mangledName": "$s6MixSdk14MSChatGptModelC7choicesSayAA0cD7ChoicesCGvs",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk14MSChatGptModelC7choicesSayAA0cD7ChoicesCGvM",
+ "mangledName": "$s6MixSdk14MSChatGptModelC7choicesSayAA0cD7ChoicesCGvM",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "usage",
+ "printedName": "usage",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MSChatGptUsage",
+ "printedName": "MixSdk.MSChatGptUsage",
+ "usr": "s:6MixSdk14MSChatGptUsageC"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdk14MSChatGptModelC5usageAA0cD5UsageCvp",
+ "mangledName": "$s6MixSdk14MSChatGptModelC5usageAA0cD5UsageCvp",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MSChatGptUsage",
+ "printedName": "MixSdk.MSChatGptUsage",
+ "usr": "s:6MixSdk14MSChatGptUsageC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk14MSChatGptModelC5usageAA0cD5UsageCvg",
+ "mangledName": "$s6MixSdk14MSChatGptModelC5usageAA0cD5UsageCvg",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "MSChatGptUsage",
+ "printedName": "MixSdk.MSChatGptUsage",
+ "usr": "s:6MixSdk14MSChatGptUsageC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk14MSChatGptModelC5usageAA0cD5UsageCvs",
+ "mangledName": "$s6MixSdk14MSChatGptModelC5usageAA0cD5UsageCvs",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk14MSChatGptModelC5usageAA0cD5UsageCvM",
+ "mangledName": "$s6MixSdk14MSChatGptModelC5usageAA0cD5UsageCvM",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init(from:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MSChatGptModel",
+ "printedName": "MixSdk.MSChatGptModel",
+ "usr": "s:6MixSdk14MSChatGptModelC"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Decoder",
+ "printedName": "any Swift.Decoder",
+ "usr": "s:s7DecoderP"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:6MixSdk14MSChatGptModelC4fromACs7Decoder_p_tKcfc",
+ "mangledName": "$s6MixSdk14MSChatGptModelC4fromACs7Decoder_p_tKcfc",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "declAttributes": [
+ "Required"
+ ],
+ "throwing": true,
+ "init_kind": "Designated"
+ },
+ {
+ "kind": "Function",
+ "name": "encode",
+ "printedName": "encode(to:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Encoder",
+ "printedName": "any Swift.Encoder",
+ "usr": "s:s7EncoderP"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:6MixSdk14MSChatGptModelC6encode2toys7Encoder_p_tKF",
+ "mangledName": "$s6MixSdk14MSChatGptModelC6encode2toys7Encoder_p_tKF",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "throwing": true,
+ "funcSelfKind": "NonMutating"
+ }
+ ],
+ "declKind": "Class",
+ "usr": "s:6MixSdk14MSChatGptModelC",
+ "mangledName": "$s6MixSdk14MSChatGptModelC",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "hasMissingDesignatedInitializers": true,
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Decodable",
+ "printedName": "Decodable",
+ "usr": "s:Se",
+ "mangledName": "$sSe"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Encodable",
+ "printedName": "Encodable",
+ "usr": "s:SE",
+ "mangledName": "$sSE"
+ }
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "MSChatGptChoices",
+ "printedName": "MSChatGptChoices",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "index",
+ "printedName": "index",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdk16MSChatGptChoicesC5indexSivp",
+ "mangledName": "$s6MixSdk16MSChatGptChoicesC5indexSivp",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk16MSChatGptChoicesC5indexSivg",
+ "mangledName": "$s6MixSdk16MSChatGptChoicesC5indexSivg",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk16MSChatGptChoicesC5indexSivs",
+ "mangledName": "$s6MixSdk16MSChatGptChoicesC5indexSivs",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk16MSChatGptChoicesC5indexSivM",
+ "mangledName": "$s6MixSdk16MSChatGptChoicesC5indexSivM",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "message",
+ "printedName": "message",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MSChatGptMessage",
+ "printedName": "MixSdk.MSChatGptMessage",
+ "usr": "s:6MixSdk16MSChatGptMessageC"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdk16MSChatGptChoicesC7messageAA0cD7MessageCvp",
+ "mangledName": "$s6MixSdk16MSChatGptChoicesC7messageAA0cD7MessageCvp",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MSChatGptMessage",
+ "printedName": "MixSdk.MSChatGptMessage",
+ "usr": "s:6MixSdk16MSChatGptMessageC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk16MSChatGptChoicesC7messageAA0cD7MessageCvg",
+ "mangledName": "$s6MixSdk16MSChatGptChoicesC7messageAA0cD7MessageCvg",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "MSChatGptMessage",
+ "printedName": "MixSdk.MSChatGptMessage",
+ "usr": "s:6MixSdk16MSChatGptMessageC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk16MSChatGptChoicesC7messageAA0cD7MessageCvs",
+ "mangledName": "$s6MixSdk16MSChatGptChoicesC7messageAA0cD7MessageCvs",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk16MSChatGptChoicesC7messageAA0cD7MessageCvM",
+ "mangledName": "$s6MixSdk16MSChatGptChoicesC7messageAA0cD7MessageCvM",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "finish_reason",
+ "printedName": "finish_reason",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdk16MSChatGptChoicesC13finish_reasonSSvp",
+ "mangledName": "$s6MixSdk16MSChatGptChoicesC13finish_reasonSSvp",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk16MSChatGptChoicesC13finish_reasonSSvg",
+ "mangledName": "$s6MixSdk16MSChatGptChoicesC13finish_reasonSSvg",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk16MSChatGptChoicesC13finish_reasonSSvs",
+ "mangledName": "$s6MixSdk16MSChatGptChoicesC13finish_reasonSSvs",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk16MSChatGptChoicesC13finish_reasonSSvM",
+ "mangledName": "$s6MixSdk16MSChatGptChoicesC13finish_reasonSSvM",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init(from:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MSChatGptChoices",
+ "printedName": "MixSdk.MSChatGptChoices",
+ "usr": "s:6MixSdk16MSChatGptChoicesC"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Decoder",
+ "printedName": "any Swift.Decoder",
+ "usr": "s:s7DecoderP"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:6MixSdk16MSChatGptChoicesC4fromACs7Decoder_p_tKcfc",
+ "mangledName": "$s6MixSdk16MSChatGptChoicesC4fromACs7Decoder_p_tKcfc",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "declAttributes": [
+ "Required"
+ ],
+ "throwing": true,
+ "init_kind": "Designated"
+ },
+ {
+ "kind": "Function",
+ "name": "encode",
+ "printedName": "encode(to:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Encoder",
+ "printedName": "any Swift.Encoder",
+ "usr": "s:s7EncoderP"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:6MixSdk16MSChatGptChoicesC6encode2toys7Encoder_p_tKF",
+ "mangledName": "$s6MixSdk16MSChatGptChoicesC6encode2toys7Encoder_p_tKF",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "throwing": true,
+ "funcSelfKind": "NonMutating"
+ }
+ ],
+ "declKind": "Class",
+ "usr": "s:6MixSdk16MSChatGptChoicesC",
+ "mangledName": "$s6MixSdk16MSChatGptChoicesC",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "hasMissingDesignatedInitializers": true,
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Decodable",
+ "printedName": "Decodable",
+ "usr": "s:Se",
+ "mangledName": "$sSe"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Encodable",
+ "printedName": "Encodable",
+ "usr": "s:SE",
+ "mangledName": "$sSE"
+ }
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "MSChatGptMessage",
+ "printedName": "MSChatGptMessage",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "role",
+ "printedName": "role",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdk16MSChatGptMessageC4roleSSvp",
+ "mangledName": "$s6MixSdk16MSChatGptMessageC4roleSSvp",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk16MSChatGptMessageC4roleSSvg",
+ "mangledName": "$s6MixSdk16MSChatGptMessageC4roleSSvg",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk16MSChatGptMessageC4roleSSvs",
+ "mangledName": "$s6MixSdk16MSChatGptMessageC4roleSSvs",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk16MSChatGptMessageC4roleSSvM",
+ "mangledName": "$s6MixSdk16MSChatGptMessageC4roleSSvM",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "content",
+ "printedName": "content",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdk16MSChatGptMessageC7contentSSvp",
+ "mangledName": "$s6MixSdk16MSChatGptMessageC7contentSSvp",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk16MSChatGptMessageC7contentSSvg",
+ "mangledName": "$s6MixSdk16MSChatGptMessageC7contentSSvg",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk16MSChatGptMessageC7contentSSvs",
+ "mangledName": "$s6MixSdk16MSChatGptMessageC7contentSSvs",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk16MSChatGptMessageC7contentSSvM",
+ "mangledName": "$s6MixSdk16MSChatGptMessageC7contentSSvM",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init(from:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MSChatGptMessage",
+ "printedName": "MixSdk.MSChatGptMessage",
+ "usr": "s:6MixSdk16MSChatGptMessageC"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Decoder",
+ "printedName": "any Swift.Decoder",
+ "usr": "s:s7DecoderP"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:6MixSdk16MSChatGptMessageC4fromACs7Decoder_p_tKcfc",
+ "mangledName": "$s6MixSdk16MSChatGptMessageC4fromACs7Decoder_p_tKcfc",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "declAttributes": [
+ "Required"
+ ],
+ "throwing": true,
+ "init_kind": "Designated"
+ },
+ {
+ "kind": "Function",
+ "name": "encode",
+ "printedName": "encode(to:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Encoder",
+ "printedName": "any Swift.Encoder",
+ "usr": "s:s7EncoderP"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:6MixSdk16MSChatGptMessageC6encode2toys7Encoder_p_tKF",
+ "mangledName": "$s6MixSdk16MSChatGptMessageC6encode2toys7Encoder_p_tKF",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "throwing": true,
+ "funcSelfKind": "NonMutating"
+ }
+ ],
+ "declKind": "Class",
+ "usr": "s:6MixSdk16MSChatGptMessageC",
+ "mangledName": "$s6MixSdk16MSChatGptMessageC",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasMissingDesignatedInitializers": true,
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Decodable",
+ "printedName": "Decodable",
+ "usr": "s:Se",
+ "mangledName": "$sSe"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Encodable",
+ "printedName": "Encodable",
+ "usr": "s:SE",
+ "mangledName": "$sSE"
+ }
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "MSChatGptUsage",
+ "printedName": "MSChatGptUsage",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "prompt_tokens",
+ "printedName": "prompt_tokens",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdk14MSChatGptUsageC13prompt_tokensSivp",
+ "mangledName": "$s6MixSdk14MSChatGptUsageC13prompt_tokensSivp",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk14MSChatGptUsageC13prompt_tokensSivg",
+ "mangledName": "$s6MixSdk14MSChatGptUsageC13prompt_tokensSivg",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk14MSChatGptUsageC13prompt_tokensSivs",
+ "mangledName": "$s6MixSdk14MSChatGptUsageC13prompt_tokensSivs",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk14MSChatGptUsageC13prompt_tokensSivM",
+ "mangledName": "$s6MixSdk14MSChatGptUsageC13prompt_tokensSivM",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "completion_tokens",
+ "printedName": "completion_tokens",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdk14MSChatGptUsageC17completion_tokensSivp",
+ "mangledName": "$s6MixSdk14MSChatGptUsageC17completion_tokensSivp",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk14MSChatGptUsageC17completion_tokensSivg",
+ "mangledName": "$s6MixSdk14MSChatGptUsageC17completion_tokensSivg",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk14MSChatGptUsageC17completion_tokensSivs",
+ "mangledName": "$s6MixSdk14MSChatGptUsageC17completion_tokensSivs",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk14MSChatGptUsageC17completion_tokensSivM",
+ "mangledName": "$s6MixSdk14MSChatGptUsageC17completion_tokensSivM",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "total_tokens",
+ "printedName": "total_tokens",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdk14MSChatGptUsageC12total_tokensSivp",
+ "mangledName": "$s6MixSdk14MSChatGptUsageC12total_tokensSivp",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk14MSChatGptUsageC12total_tokensSivg",
+ "mangledName": "$s6MixSdk14MSChatGptUsageC12total_tokensSivg",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk14MSChatGptUsageC12total_tokensSivs",
+ "mangledName": "$s6MixSdk14MSChatGptUsageC12total_tokensSivs",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk14MSChatGptUsageC12total_tokensSivM",
+ "mangledName": "$s6MixSdk14MSChatGptUsageC12total_tokensSivM",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init(from:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MSChatGptUsage",
+ "printedName": "MixSdk.MSChatGptUsage",
+ "usr": "s:6MixSdk14MSChatGptUsageC"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Decoder",
+ "printedName": "any Swift.Decoder",
+ "usr": "s:s7DecoderP"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:6MixSdk14MSChatGptUsageC4fromACs7Decoder_p_tKcfc",
+ "mangledName": "$s6MixSdk14MSChatGptUsageC4fromACs7Decoder_p_tKcfc",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "declAttributes": [
+ "Required"
+ ],
+ "throwing": true,
+ "init_kind": "Designated"
+ },
+ {
+ "kind": "Function",
+ "name": "encode",
+ "printedName": "encode(to:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Encoder",
+ "printedName": "any Swift.Encoder",
+ "usr": "s:s7EncoderP"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:6MixSdk14MSChatGptUsageC6encode2toys7Encoder_p_tKF",
+ "mangledName": "$s6MixSdk14MSChatGptUsageC6encode2toys7Encoder_p_tKF",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "throwing": true,
+ "funcSelfKind": "NonMutating"
+ }
+ ],
+ "declKind": "Class",
+ "usr": "s:6MixSdk14MSChatGptUsageC",
+ "mangledName": "$s6MixSdk14MSChatGptUsageC",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasMissingDesignatedInitializers": true,
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Decodable",
+ "printedName": "Decodable",
+ "usr": "s:Se",
+ "mangledName": "$sSe"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Encodable",
+ "printedName": "Encodable",
+ "usr": "s:SE",
+ "mangledName": "$sSE"
+ }
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "BlockEncryptor",
+ "printedName": "BlockEncryptor",
+ "children": [
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init(blockSize:padding:_:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "BlockEncryptor",
+ "printedName": "MixSdk.BlockEncryptor",
+ "usr": "s:6MixSdk14BlockEncryptorC"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Padding",
+ "printedName": "MixSdk.Padding",
+ "usr": "s:6MixSdk7PaddingO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "CipherModeWorker",
+ "printedName": "any MixSdk.CipherModeWorker",
+ "usr": "s:6MixSdk16CipherModeWorkerP"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:6MixSdk14BlockEncryptorC9blockSize7padding_ACSi_AA7PaddingOAA16CipherModeWorker_ptKcfc",
+ "mangledName": "$s6MixSdk14BlockEncryptorC9blockSize7padding_ACSi_AA7PaddingOAA16CipherModeWorker_ptKcfc",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "UsableFromInline"
+ ],
+ "throwing": true,
+ "init_kind": "Designated"
+ },
+ {
+ "kind": "Function",
+ "name": "seek",
+ "printedName": "seek(to:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:6MixSdk14BlockEncryptorC4seek2toySi_tKF",
+ "mangledName": "$s6MixSdk14BlockEncryptorC4seek2toySi_tKF",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "Final",
+ "UsableFromInline"
+ ],
+ "throwing": true,
+ "funcSelfKind": "NonMutating"
+ }
+ ],
+ "declKind": "Class",
+ "usr": "s:6MixSdk14BlockEncryptorC",
+ "mangledName": "$s6MixSdk14BlockEncryptorC",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "Final",
+ "UsableFromInline",
+ "RawDocComment"
+ ],
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ }
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Security",
+ "printedName": "Security",
+ "declKind": "Import",
+ "moduleName": "MixSdk"
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Darwin",
+ "printedName": "Darwin",
+ "declKind": "Import",
+ "moduleName": "MixSdk"
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "MobileCoreServices",
+ "printedName": "MobileCoreServices",
+ "declKind": "Import",
+ "moduleName": "MixSdk"
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "MixTools",
+ "printedName": "MixTools",
+ "declKind": "Import",
+ "moduleName": "MixSdk"
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "MSPlatform",
+ "printedName": "MSPlatform",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "aliyun",
+ "printedName": "aliyun",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(MixSdk.MSPlatform.Type) -> MixSdk.MSPlatform",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MSPlatform",
+ "printedName": "MixSdk.MSPlatform",
+ "usr": "s:6MixSdk10MSPlatformO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "MixSdk.MSPlatform.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MSPlatform",
+ "printedName": "MixSdk.MSPlatform",
+ "usr": "s:6MixSdk10MSPlatformO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:6MixSdk10MSPlatformO6aliyunyA2CmF",
+ "mangledName": "$s6MixSdk10MSPlatformO6aliyunyA2CmF",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "xunfei",
+ "printedName": "xunfei",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(MixSdk.MSPlatform.Type) -> MixSdk.MSPlatform",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MSPlatform",
+ "printedName": "MixSdk.MSPlatform",
+ "usr": "s:6MixSdk10MSPlatformO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "MixSdk.MSPlatform.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MSPlatform",
+ "printedName": "MixSdk.MSPlatform",
+ "usr": "s:6MixSdk10MSPlatformO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:6MixSdk10MSPlatformO6xunfeiyA2CmF",
+ "mangledName": "$s6MixSdk10MSPlatformO6xunfeiyA2CmF",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "yiyan",
+ "printedName": "yiyan",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(MixSdk.MSPlatform.Type) -> MixSdk.MSPlatform",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MSPlatform",
+ "printedName": "MixSdk.MSPlatform",
+ "usr": "s:6MixSdk10MSPlatformO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "MixSdk.MSPlatform.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MSPlatform",
+ "printedName": "MixSdk.MSPlatform",
+ "usr": "s:6MixSdk10MSPlatformO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:6MixSdk10MSPlatformO5yiyanyA2CmF",
+ "mangledName": "$s6MixSdk10MSPlatformO5yiyanyA2CmF",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "doubao",
+ "printedName": "doubao",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(MixSdk.MSPlatform.Type) -> MixSdk.MSPlatform",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MSPlatform",
+ "printedName": "MixSdk.MSPlatform",
+ "usr": "s:6MixSdk10MSPlatformO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "MixSdk.MSPlatform.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MSPlatform",
+ "printedName": "MixSdk.MSPlatform",
+ "usr": "s:6MixSdk10MSPlatformO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:6MixSdk10MSPlatformO6doubaoyA2CmF",
+ "mangledName": "$s6MixSdk10MSPlatformO6doubaoyA2CmF",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "kimi",
+ "printedName": "kimi",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(MixSdk.MSPlatform.Type) -> MixSdk.MSPlatform",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MSPlatform",
+ "printedName": "MixSdk.MSPlatform",
+ "usr": "s:6MixSdk10MSPlatformO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "MixSdk.MSPlatform.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MSPlatform",
+ "printedName": "MixSdk.MSPlatform",
+ "usr": "s:6MixSdk10MSPlatformO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:6MixSdk10MSPlatformO4kimiyA2CmF",
+ "mangledName": "$s6MixSdk10MSPlatformO4kimiyA2CmF",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "chatGPT",
+ "printedName": "chatGPT",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(MixSdk.MSPlatform.Type) -> MixSdk.MSPlatform",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MSPlatform",
+ "printedName": "MixSdk.MSPlatform",
+ "usr": "s:6MixSdk10MSPlatformO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "MixSdk.MSPlatform.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MSPlatform",
+ "printedName": "MixSdk.MSPlatform",
+ "usr": "s:6MixSdk10MSPlatformO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:6MixSdk10MSPlatformO7chatGPTyA2CmF",
+ "mangledName": "$s6MixSdk10MSPlatformO7chatGPTyA2CmF",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "title",
+ "printedName": "title",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdk10MSPlatformO5titleSSvp",
+ "mangledName": "$s6MixSdk10MSPlatformO5titleSSvp",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk10MSPlatformO5titleSSvg",
+ "mangledName": "$s6MixSdk10MSPlatformO5titleSSvg",
+ "moduleName": "MixSdk",
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Function",
+ "name": "==",
+ "printedName": "==(_:_:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Bool",
+ "printedName": "Swift.Bool",
+ "usr": "s:Sb"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "MSPlatform",
+ "printedName": "MixSdk.MSPlatform",
+ "usr": "s:6MixSdk10MSPlatformO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "MSPlatform",
+ "printedName": "MixSdk.MSPlatform",
+ "usr": "s:6MixSdk10MSPlatformO"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:6MixSdk10MSPlatformO2eeoiySbAC_ACtFZ",
+ "mangledName": "$s6MixSdk10MSPlatformO2eeoiySbAC_ACtFZ",
+ "moduleName": "MixSdk",
+ "static": true,
+ "implicit": true,
+ "funcSelfKind": "NonMutating"
+ },
+ {
+ "kind": "Var",
+ "name": "hashValue",
+ "printedName": "hashValue",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdk10MSPlatformO9hashValueSivp",
+ "mangledName": "$s6MixSdk10MSPlatformO9hashValueSivp",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk10MSPlatformO9hashValueSivg",
+ "mangledName": "$s6MixSdk10MSPlatformO9hashValueSivg",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Function",
+ "name": "hash",
+ "printedName": "hash(into:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Hasher",
+ "printedName": "Swift.Hasher",
+ "paramValueOwnership": "InOut",
+ "usr": "s:s6HasherV"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:6MixSdk10MSPlatformO4hash4intoys6HasherVz_tF",
+ "mangledName": "$s6MixSdk10MSPlatformO4hash4intoys6HasherVz_tF",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "funcSelfKind": "NonMutating"
+ }
+ ],
+ "declKind": "Enum",
+ "usr": "s:6MixSdk10MSPlatformO",
+ "mangledName": "$s6MixSdk10MSPlatformO",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Equatable",
+ "printedName": "Equatable",
+ "usr": "s:SQ",
+ "mangledName": "$sSQ"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Hashable",
+ "printedName": "Hashable",
+ "usr": "s:SH",
+ "mangledName": "$sSH"
+ }
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "MixSdk",
+ "printedName": "MixSdk",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "shared",
+ "printedName": "shared",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MixSdk",
+ "printedName": "MixSdk.MixSdk",
+ "usr": "c:@M@MixSdk@objc(cs)MixSdk"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdkAAC6sharedABvpZ",
+ "mangledName": "$s6MixSdkAAC6sharedABvpZ",
+ "moduleName": "MixSdk",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "AccessControl"
+ ],
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MixSdk",
+ "printedName": "MixSdk.MixSdk",
+ "usr": "c:@M@MixSdk@objc(cs)MixSdk"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdkAAC6sharedABvgZ",
+ "mangledName": "$s6MixSdkAAC6sharedABvgZ",
+ "moduleName": "MixSdk",
+ "static": true,
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Function",
+ "name": "initSDK",
+ "printedName": "initSDK()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:6MixSdkAAC7initSDKyyF",
+ "mangledName": "$s6MixSdkAAC7initSDKyyF",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "funcSelfKind": "NonMutating"
+ },
+ {
+ "kind": "Var",
+ "name": "logs",
+ "printedName": "logs",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Array",
+ "printedName": "[Swift.String]",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sa"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdkAAC4logsSaySSGvp",
+ "mangledName": "$s6MixSdkAAC4logsSaySSGvp",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Array",
+ "printedName": "[Swift.String]",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sa"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdkAAC4logsSaySSGvg",
+ "mangledName": "$s6MixSdkAAC4logsSaySSGvg",
+ "moduleName": "MixSdk",
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "version",
+ "printedName": "version",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdkAAC7versionSSvp",
+ "mangledName": "$s6MixSdkAAC7versionSSvp",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdkAAC7versionSSvg",
+ "mangledName": "$s6MixSdkAAC7versionSSvg",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "isDebug",
+ "printedName": "isDebug",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Bool",
+ "printedName": "Swift.Bool",
+ "usr": "s:Sb"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdkAAC7isDebugSbvp",
+ "mangledName": "$s6MixSdkAAC7isDebugSbvp",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Bool",
+ "printedName": "Swift.Bool",
+ "usr": "s:Sb"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdkAAC7isDebugSbvg",
+ "mangledName": "$s6MixSdkAAC7isDebugSbvg",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Bool",
+ "printedName": "Swift.Bool",
+ "usr": "s:Sb"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdkAAC7isDebugSbvs",
+ "mangledName": "$s6MixSdkAAC7isDebugSbvs",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdkAAC7isDebugSbvM",
+ "mangledName": "$s6MixSdkAAC7isDebugSbvM",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "auth",
+ "printedName": "auth",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MSAuth",
+ "printedName": "MixSdk.MSAuth",
+ "usr": "s:6MixSdk6MSAuthC"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdkAAC4authAA6MSAuthCvp",
+ "mangledName": "$s6MixSdkAAC4authAA6MSAuthCvp",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MSAuth",
+ "printedName": "MixSdk.MSAuth",
+ "usr": "s:6MixSdk6MSAuthC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdkAAC4authAA6MSAuthCvg",
+ "mangledName": "$s6MixSdkAAC4authAA6MSAuthCvg",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "translate",
+ "printedName": "translate",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MSTranslate",
+ "printedName": "MixSdk.MSTranslate",
+ "usr": "s:6MixSdk11MSTranslateC"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdkAAC9translateAA11MSTranslateCvp",
+ "mangledName": "$s6MixSdkAAC9translateAA11MSTranslateCvp",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MSTranslate",
+ "printedName": "MixSdk.MSTranslate",
+ "usr": "s:6MixSdk11MSTranslateC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdkAAC9translateAA11MSTranslateCvg",
+ "mangledName": "$s6MixSdkAAC9translateAA11MSTranslateCvg",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "aigc",
+ "printedName": "aigc",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MSAigc",
+ "printedName": "MixSdk.MSAigc",
+ "usr": "s:6MixSdk6MSAigcC"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdkAAC4aigcAA6MSAigcCvp",
+ "mangledName": "$s6MixSdkAAC4aigcAA6MSAigcCvp",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MSAigc",
+ "printedName": "MixSdk.MSAigc",
+ "usr": "s:6MixSdk6MSAigcC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdkAAC4aigcAA6MSAigcCvg",
+ "mangledName": "$s6MixSdkAAC4aigcAA6MSAigcCvg",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "chat",
+ "printedName": "chat",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MSChat",
+ "printedName": "MixSdk.MSChat",
+ "usr": "s:6MixSdk6MSChatC"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdkAAC4chatAA6MSChatCvp",
+ "mangledName": "$s6MixSdkAAC4chatAA6MSChatCvp",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MSChat",
+ "printedName": "MixSdk.MSChat",
+ "usr": "s:6MixSdk6MSChatC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdkAAC4chatAA6MSChatCvg",
+ "mangledName": "$s6MixSdkAAC4chatAA6MSChatCvg",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "tts",
+ "printedName": "tts",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MSTts",
+ "printedName": "MixSdk.MSTts",
+ "usr": "s:6MixSdk5MSTtsC"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdkAAC3ttsAA5MSTtsCvp",
+ "mangledName": "$s6MixSdkAAC3ttsAA5MSTtsCvp",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MSTts",
+ "printedName": "MixSdk.MSTts",
+ "usr": "s:6MixSdk5MSTtsC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdkAAC3ttsAA5MSTtsCvg",
+ "mangledName": "$s6MixSdkAAC3ttsAA5MSTtsCvg",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "stt",
+ "printedName": "stt",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MSStt",
+ "printedName": "MixSdk.MSStt",
+ "usr": "s:6MixSdk5MSSttC"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdkAAC3sttAA5MSSttCvp",
+ "mangledName": "$s6MixSdkAAC3sttAA5MSSttCvp",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MSStt",
+ "printedName": "MixSdk.MSStt",
+ "usr": "s:6MixSdk5MSSttC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdkAAC3sttAA5MSSttCvg",
+ "mangledName": "$s6MixSdkAAC3sttAA5MSSttCvg",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "chatGpt",
+ "printedName": "chatGpt",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MSChatGpt",
+ "printedName": "MixSdk.MSChatGpt",
+ "usr": "s:6MixSdk9MSChatGptC"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdkAAC7chatGptAA06MSChatD0Cvp",
+ "mangledName": "$s6MixSdkAAC7chatGptAA06MSChatD0Cvp",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MSChatGpt",
+ "printedName": "MixSdk.MSChatGpt",
+ "usr": "s:6MixSdk9MSChatGptC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdkAAC7chatGptAA06MSChatD0Cvg",
+ "mangledName": "$s6MixSdkAAC7chatGptAA06MSChatD0Cvg",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "chatGptTrans",
+ "printedName": "chatGptTrans",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MSChatGptTranscription",
+ "printedName": "MixSdk.MSChatGptTranscription",
+ "usr": "s:6MixSdk22MSChatGptTranscriptionC"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdkAAC12chatGptTransAA06MSChatD13TranscriptionCvp",
+ "mangledName": "$s6MixSdkAAC12chatGptTransAA06MSChatD13TranscriptionCvp",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MSChatGptTranscription",
+ "printedName": "MixSdk.MSChatGptTranscription",
+ "usr": "s:6MixSdk22MSChatGptTranscriptionC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdkAAC12chatGptTransAA06MSChatD13TranscriptionCvg",
+ "mangledName": "$s6MixSdkAAC12chatGptTransAA06MSChatD13TranscriptionCvg",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Function",
+ "name": "setPlatform",
+ "printedName": "setPlatform(_:key:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "MSPlatform",
+ "printedName": "MixSdk.MSPlatform",
+ "usr": "s:6MixSdk10MSPlatformO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "hasDefaultArg": true,
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:6MixSdkAAC11setPlatform_3keyyAA10MSPlatformO_SSSgtF",
+ "mangledName": "$s6MixSdkAAC11setPlatform_3keyyAA10MSPlatformO_SSSgtF",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "funcSelfKind": "NonMutating"
+ },
+ {
+ "kind": "Var",
+ "name": "aiPlatform",
+ "printedName": "aiPlatform",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MSPlatform",
+ "printedName": "MixSdk.MSPlatform",
+ "usr": "s:6MixSdk10MSPlatformO"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdkAAC10aiPlatformAA10MSPlatformOvp",
+ "mangledName": "$s6MixSdkAAC10aiPlatformAA10MSPlatformOvp",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MSPlatform",
+ "printedName": "MixSdk.MSPlatform",
+ "usr": "s:6MixSdk10MSPlatformO"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdkAAC10aiPlatformAA10MSPlatformOvg",
+ "mangledName": "$s6MixSdkAAC10aiPlatformAA10MSPlatformOvg",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "MSPlatform",
+ "printedName": "MixSdk.MSPlatform",
+ "usr": "s:6MixSdk10MSPlatformO"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdkAAC10aiPlatformAA10MSPlatformOvs",
+ "mangledName": "$s6MixSdkAAC10aiPlatformAA10MSPlatformOvs",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdkAAC10aiPlatformAA10MSPlatformOvM",
+ "mangledName": "$s6MixSdkAAC10aiPlatformAA10MSPlatformOvM",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "aiKey",
+ "printedName": "aiKey",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdkAAC5aiKeySSSgvp",
+ "mangledName": "$s6MixSdkAAC5aiKeySSSgvp",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdkAAC5aiKeySSSgvg",
+ "mangledName": "$s6MixSdkAAC5aiKeySSSgvg",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdkAAC5aiKeySSSgvs",
+ "mangledName": "$s6MixSdkAAC5aiKeySSSgvs",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdkAAC5aiKeySSSgvM",
+ "mangledName": "$s6MixSdkAAC5aiKeySSSgvM",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Function",
+ "name": "cleanLog",
+ "printedName": "cleanLog()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:6MixSdkAAC8cleanLogyyF",
+ "mangledName": "$s6MixSdkAAC8cleanLogyyF",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "funcSelfKind": "NonMutating"
+ }
+ ],
+ "declKind": "Class",
+ "usr": "c:@M@MixSdk@objc(cs)MixSdk",
+ "mangledName": "$s6MixSdkAAC",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment",
+ "ObjC"
+ ],
+ "superclassUsr": "c:objc(cs)NSObject",
+ "hasMissingDesignatedInitializers": true,
+ "inheritsConvenienceInitializers": true,
+ "superclassNames": [
+ "ObjectiveC.NSObject"
+ ],
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Equatable",
+ "printedName": "Equatable",
+ "usr": "s:SQ",
+ "mangledName": "$sSQ"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Hashable",
+ "printedName": "Hashable",
+ "usr": "s:SH",
+ "mangledName": "$sSH"
+ },
+ {
+ "kind": "Conformance",
+ "name": "CVarArg",
+ "printedName": "CVarArg",
+ "usr": "s:s7CVarArgP",
+ "mangledName": "$ss7CVarArgP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "_KeyValueCodingAndObservingPublishing",
+ "printedName": "_KeyValueCodingAndObservingPublishing",
+ "usr": "s:10Foundation37_KeyValueCodingAndObservingPublishingP",
+ "mangledName": "$s10Foundation37_KeyValueCodingAndObservingPublishingP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "_KeyValueCodingAndObserving",
+ "printedName": "_KeyValueCodingAndObserving",
+ "usr": "s:10Foundation27_KeyValueCodingAndObservingP",
+ "mangledName": "$s10Foundation27_KeyValueCodingAndObservingP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "CustomStringConvertible",
+ "printedName": "CustomStringConvertible",
+ "usr": "s:s23CustomStringConvertibleP",
+ "mangledName": "$ss23CustomStringConvertibleP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "CustomDebugStringConvertible",
+ "printedName": "CustomDebugStringConvertible",
+ "usr": "s:s28CustomDebugStringConvertibleP",
+ "mangledName": "$ss28CustomDebugStringConvertibleP"
+ }
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "MSTranslateLanguage",
+ "printedName": "MSTranslateLanguage",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "cn",
+ "printedName": "cn",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdk19MSTranslateLanguageC2cnSSvp",
+ "mangledName": "$s6MixSdk19MSTranslateLanguageC2cnSSvp",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk19MSTranslateLanguageC2cnSSvg",
+ "mangledName": "$s6MixSdk19MSTranslateLanguageC2cnSSvg",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk19MSTranslateLanguageC2cnSSvs",
+ "mangledName": "$s6MixSdk19MSTranslateLanguageC2cnSSvs",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk19MSTranslateLanguageC2cnSSvM",
+ "mangledName": "$s6MixSdk19MSTranslateLanguageC2cnSSvM",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "en",
+ "printedName": "en",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdk19MSTranslateLanguageC2enSSvp",
+ "mangledName": "$s6MixSdk19MSTranslateLanguageC2enSSvp",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk19MSTranslateLanguageC2enSSvg",
+ "mangledName": "$s6MixSdk19MSTranslateLanguageC2enSSvg",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk19MSTranslateLanguageC2enSSvs",
+ "mangledName": "$s6MixSdk19MSTranslateLanguageC2enSSvs",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk19MSTranslateLanguageC2enSSvM",
+ "mangledName": "$s6MixSdk19MSTranslateLanguageC2enSSvM",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "code",
+ "printedName": "code",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdk19MSTranslateLanguageC4codeSSvp",
+ "mangledName": "$s6MixSdk19MSTranslateLanguageC4codeSSvp",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk19MSTranslateLanguageC4codeSSvg",
+ "mangledName": "$s6MixSdk19MSTranslateLanguageC4codeSSvg",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk19MSTranslateLanguageC4codeSSvs",
+ "mangledName": "$s6MixSdk19MSTranslateLanguageC4codeSSvs",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk19MSTranslateLanguageC4codeSSvM",
+ "mangledName": "$s6MixSdk19MSTranslateLanguageC4codeSSvM",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init(from:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MSTranslateLanguage",
+ "printedName": "MixSdk.MSTranslateLanguage",
+ "usr": "s:6MixSdk19MSTranslateLanguageC"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Decoder",
+ "printedName": "any Swift.Decoder",
+ "usr": "s:s7DecoderP"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:6MixSdk19MSTranslateLanguageC4fromACs7Decoder_p_tKcfc",
+ "mangledName": "$s6MixSdk19MSTranslateLanguageC4fromACs7Decoder_p_tKcfc",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "declAttributes": [
+ "Required"
+ ],
+ "throwing": true,
+ "init_kind": "Designated"
+ },
+ {
+ "kind": "Function",
+ "name": "encode",
+ "printedName": "encode(to:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Encoder",
+ "printedName": "any Swift.Encoder",
+ "usr": "s:s7EncoderP"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:6MixSdk19MSTranslateLanguageC6encode2toys7Encoder_p_tKF",
+ "mangledName": "$s6MixSdk19MSTranslateLanguageC6encode2toys7Encoder_p_tKF",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "throwing": true,
+ "funcSelfKind": "NonMutating"
+ }
+ ],
+ "declKind": "Class",
+ "usr": "s:6MixSdk19MSTranslateLanguageC",
+ "mangledName": "$s6MixSdk19MSTranslateLanguageC",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasMissingDesignatedInitializers": true,
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Decodable",
+ "printedName": "Decodable",
+ "usr": "s:Se",
+ "mangledName": "$sSe"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Encodable",
+ "printedName": "Encodable",
+ "usr": "s:SE",
+ "mangledName": "$sSE"
+ }
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Darwin",
+ "printedName": "Darwin",
+ "declKind": "Import",
+ "moduleName": "MixSdk"
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "StreamEncryptor",
+ "printedName": "StreamEncryptor",
+ "children": [
+ {
+ "kind": "TypeDecl",
+ "name": "Error",
+ "printedName": "Error",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "unsupported",
+ "printedName": "unsupported",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(MixSdk.StreamEncryptor.Error.Type) -> MixSdk.StreamEncryptor.Error",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Error",
+ "printedName": "MixSdk.StreamEncryptor.Error",
+ "usr": "s:6MixSdk15StreamEncryptorC5ErrorO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "MixSdk.StreamEncryptor.Error.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Error",
+ "printedName": "MixSdk.StreamEncryptor.Error",
+ "usr": "s:6MixSdk15StreamEncryptorC5ErrorO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:6MixSdk15StreamEncryptorC5ErrorO11unsupportedyA2EmF",
+ "mangledName": "$s6MixSdk15StreamEncryptorC5ErrorO11unsupportedyA2EmF",
+ "moduleName": "MixSdk"
+ },
+ {
+ "kind": "Function",
+ "name": "==",
+ "printedName": "==(_:_:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Bool",
+ "printedName": "Swift.Bool",
+ "usr": "s:Sb"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Error",
+ "printedName": "MixSdk.StreamEncryptor.Error",
+ "usr": "s:6MixSdk15StreamEncryptorC5ErrorO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Error",
+ "printedName": "MixSdk.StreamEncryptor.Error",
+ "usr": "s:6MixSdk15StreamEncryptorC5ErrorO"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:6MixSdk15StreamEncryptorC5ErrorO2eeoiySbAE_AEtFZ",
+ "mangledName": "$s6MixSdk15StreamEncryptorC5ErrorO2eeoiySbAE_AEtFZ",
+ "moduleName": "MixSdk",
+ "static": true,
+ "implicit": true,
+ "declAttributes": [
+ "UsableFromInline"
+ ],
+ "funcSelfKind": "NonMutating"
+ },
+ {
+ "kind": "Var",
+ "name": "hashValue",
+ "printedName": "hashValue",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdk15StreamEncryptorC5ErrorO9hashValueSivp",
+ "mangledName": "$s6MixSdk15StreamEncryptorC5ErrorO9hashValueSivp",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "declAttributes": [
+ "UsableFromInline"
+ ],
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk15StreamEncryptorC5ErrorO9hashValueSivg",
+ "mangledName": "$s6MixSdk15StreamEncryptorC5ErrorO9hashValueSivg",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "declAttributes": [
+ "UsableFromInline"
+ ],
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Function",
+ "name": "hash",
+ "printedName": "hash(into:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Hasher",
+ "printedName": "Swift.Hasher",
+ "paramValueOwnership": "InOut",
+ "usr": "s:s6HasherV"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:6MixSdk15StreamEncryptorC5ErrorO4hash4intoys6HasherVz_tF",
+ "mangledName": "$s6MixSdk15StreamEncryptorC5ErrorO4hash4intoys6HasherVz_tF",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "declAttributes": [
+ "UsableFromInline"
+ ],
+ "funcSelfKind": "NonMutating"
+ }
+ ],
+ "declKind": "Enum",
+ "usr": "s:6MixSdk15StreamEncryptorC5ErrorO",
+ "mangledName": "$s6MixSdk15StreamEncryptorC5ErrorO",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "UsableFromInline"
+ ],
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Equatable",
+ "printedName": "Equatable",
+ "usr": "s:SQ",
+ "mangledName": "$sSQ"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Hashable",
+ "printedName": "Hashable",
+ "usr": "s:SH",
+ "mangledName": "$sSH"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Error",
+ "printedName": "Error",
+ "usr": "s:s5ErrorP",
+ "mangledName": "$ss5ErrorP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Sendable",
+ "printedName": "Sendable",
+ "usr": "s:s8SendableP",
+ "mangledName": "$ss8SendableP"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "blockSize",
+ "printedName": "blockSize",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdk15StreamEncryptorC9blockSizeSivp",
+ "mangledName": "$s6MixSdk15StreamEncryptorC9blockSizeSivp",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "Final",
+ "HasStorage",
+ "AccessControl",
+ "UsableFromInline"
+ ],
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk15StreamEncryptorC9blockSizeSivg",
+ "mangledName": "$s6MixSdk15StreamEncryptorC9blockSizeSivg",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "worker",
+ "printedName": "worker",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "CipherModeWorker",
+ "printedName": "any MixSdk.CipherModeWorker",
+ "usr": "s:6MixSdk16CipherModeWorkerP"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdk15StreamEncryptorC6workerAA16CipherModeWorker_pvp",
+ "mangledName": "$s6MixSdk15StreamEncryptorC6workerAA16CipherModeWorker_pvp",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "Final",
+ "HasStorage",
+ "AccessControl",
+ "UsableFromInline"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "CipherModeWorker",
+ "printedName": "any MixSdk.CipherModeWorker",
+ "usr": "s:6MixSdk16CipherModeWorkerP"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk15StreamEncryptorC6workerAA16CipherModeWorker_pvg",
+ "mangledName": "$s6MixSdk15StreamEncryptorC6workerAA16CipherModeWorker_pvg",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "CipherModeWorker",
+ "printedName": "any MixSdk.CipherModeWorker",
+ "usr": "s:6MixSdk16CipherModeWorkerP"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk15StreamEncryptorC6workerAA16CipherModeWorker_pvs",
+ "mangledName": "$s6MixSdk15StreamEncryptorC6workerAA16CipherModeWorker_pvs",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk15StreamEncryptorC6workerAA16CipherModeWorker_pvM",
+ "mangledName": "$s6MixSdk15StreamEncryptorC6workerAA16CipherModeWorker_pvM",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "padding",
+ "printedName": "padding",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Padding",
+ "printedName": "MixSdk.Padding",
+ "usr": "s:6MixSdk7PaddingO"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdk15StreamEncryptorC7paddingAA7PaddingOvp",
+ "mangledName": "$s6MixSdk15StreamEncryptorC7paddingAA7PaddingOvp",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "Final",
+ "HasStorage",
+ "AccessControl",
+ "UsableFromInline"
+ ],
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Padding",
+ "printedName": "MixSdk.Padding",
+ "usr": "s:6MixSdk7PaddingO"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk15StreamEncryptorC7paddingAA7PaddingOvg",
+ "mangledName": "$s6MixSdk15StreamEncryptorC7paddingAA7PaddingOvg",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "lastBlockRemainder",
+ "printedName": "lastBlockRemainder",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdk15StreamEncryptorC18lastBlockRemainderSivp",
+ "mangledName": "$s6MixSdk15StreamEncryptorC18lastBlockRemainderSivp",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "AccessControl",
+ "UsableFromInline"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk15StreamEncryptorC18lastBlockRemainderSivg",
+ "mangledName": "$s6MixSdk15StreamEncryptorC18lastBlockRemainderSivg",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk15StreamEncryptorC18lastBlockRemainderSivs",
+ "mangledName": "$s6MixSdk15StreamEncryptorC18lastBlockRemainderSivs",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk15StreamEncryptorC18lastBlockRemainderSivM",
+ "mangledName": "$s6MixSdk15StreamEncryptorC18lastBlockRemainderSivM",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init(blockSize:padding:_:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "StreamEncryptor",
+ "printedName": "MixSdk.StreamEncryptor",
+ "usr": "s:6MixSdk15StreamEncryptorC"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Padding",
+ "printedName": "MixSdk.Padding",
+ "usr": "s:6MixSdk7PaddingO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "CipherModeWorker",
+ "printedName": "any MixSdk.CipherModeWorker",
+ "usr": "s:6MixSdk16CipherModeWorkerP"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:6MixSdk15StreamEncryptorC9blockSize7padding_ACSi_AA7PaddingOAA16CipherModeWorker_ptKcfc",
+ "mangledName": "$s6MixSdk15StreamEncryptorC9blockSize7padding_ACSi_AA7PaddingOAA16CipherModeWorker_ptKcfc",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "UsableFromInline"
+ ],
+ "throwing": true,
+ "init_kind": "Designated"
+ },
+ {
+ "kind": "Function",
+ "name": "seek",
+ "printedName": "seek(to:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:6MixSdk15StreamEncryptorC4seek2toySi_tKF",
+ "mangledName": "$s6MixSdk15StreamEncryptorC4seek2toySi_tKF",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "Final",
+ "UsableFromInline"
+ ],
+ "throwing": true,
+ "funcSelfKind": "NonMutating"
+ }
+ ],
+ "declKind": "Class",
+ "usr": "s:6MixSdk15StreamEncryptorC",
+ "mangledName": "$s6MixSdk15StreamEncryptorC",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "Final",
+ "UsableFromInline",
+ "RawDocComment"
+ ],
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ }
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "MSChatModel",
+ "printedName": "MSChatModel",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "type",
+ "printedName": "type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdk11MSChatModelC4typeSSvp",
+ "mangledName": "$s6MixSdk11MSChatModelC4typeSSvp",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk11MSChatModelC4typeSSvg",
+ "mangledName": "$s6MixSdk11MSChatModelC4typeSSvg",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk11MSChatModelC4typeSSvs",
+ "mangledName": "$s6MixSdk11MSChatModelC4typeSSvs",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk11MSChatModelC4typeSSvM",
+ "mangledName": "$s6MixSdk11MSChatModelC4typeSSvM",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "content",
+ "printedName": "content",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdk11MSChatModelC7contentSSSgvp",
+ "mangledName": "$s6MixSdk11MSChatModelC7contentSSSgvp",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk11MSChatModelC7contentSSSgvg",
+ "mangledName": "$s6MixSdk11MSChatModelC7contentSSSgvg",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk11MSChatModelC7contentSSSgvs",
+ "mangledName": "$s6MixSdk11MSChatModelC7contentSSSgvs",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk11MSChatModelC7contentSSSgvM",
+ "mangledName": "$s6MixSdk11MSChatModelC7contentSSSgvM",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init(from:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MSChatModel",
+ "printedName": "MixSdk.MSChatModel",
+ "usr": "s:6MixSdk11MSChatModelC"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Decoder",
+ "printedName": "any Swift.Decoder",
+ "usr": "s:s7DecoderP"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:6MixSdk11MSChatModelC4fromACs7Decoder_p_tKcfc",
+ "mangledName": "$s6MixSdk11MSChatModelC4fromACs7Decoder_p_tKcfc",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "declAttributes": [
+ "Required"
+ ],
+ "throwing": true,
+ "init_kind": "Designated"
+ },
+ {
+ "kind": "Function",
+ "name": "encode",
+ "printedName": "encode(to:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Encoder",
+ "printedName": "any Swift.Encoder",
+ "usr": "s:s7EncoderP"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:6MixSdk11MSChatModelC6encode2toys7Encoder_p_tKF",
+ "mangledName": "$s6MixSdk11MSChatModelC6encode2toys7Encoder_p_tKF",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "throwing": true,
+ "funcSelfKind": "NonMutating"
+ }
+ ],
+ "declKind": "Class",
+ "usr": "s:6MixSdk11MSChatModelC",
+ "mangledName": "$s6MixSdk11MSChatModelC",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasMissingDesignatedInitializers": true,
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Decodable",
+ "printedName": "Decodable",
+ "usr": "s:Se",
+ "mangledName": "$sSe"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Encodable",
+ "printedName": "Encodable",
+ "usr": "s:SE",
+ "mangledName": "$sSE"
+ }
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "MSTts",
+ "printedName": "MSTts",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "eventCallBack",
+ "printedName": "eventCallBack",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "((MixSdk.MSTtsEvent) -> ())?",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(MixSdk.MSTtsEvent) -> ()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "MSTtsEvent",
+ "printedName": "MixSdk.MSTtsEvent",
+ "usr": "s:6MixSdk10MSTtsEventC"
+ }
+ ]
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdk5MSTtsC13eventCallBackyAA0C5EventCcSgvp",
+ "mangledName": "$s6MixSdk5MSTtsC13eventCallBackyAA0C5EventCcSgvp",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "((MixSdk.MSTtsEvent) -> ())?",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(MixSdk.MSTtsEvent) -> ()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "MSTtsEvent",
+ "printedName": "MixSdk.MSTtsEvent",
+ "usr": "s:6MixSdk10MSTtsEventC"
+ }
+ ]
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk5MSTtsC13eventCallBackyAA0C5EventCcSgvg",
+ "mangledName": "$s6MixSdk5MSTtsC13eventCallBackyAA0C5EventCcSgvg",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "((MixSdk.MSTtsEvent) -> ())?",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(MixSdk.MSTtsEvent) -> ()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "MSTtsEvent",
+ "printedName": "MixSdk.MSTtsEvent",
+ "usr": "s:6MixSdk10MSTtsEventC"
+ }
+ ]
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk5MSTtsC13eventCallBackyAA0C5EventCcSgvs",
+ "mangledName": "$s6MixSdk5MSTtsC13eventCallBackyAA0C5EventCcSgvs",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk5MSTtsC13eventCallBackyAA0C5EventCcSgvM",
+ "mangledName": "$s6MixSdk5MSTtsC13eventCallBackyAA0C5EventCcSgvM",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "voiceCallBack",
+ "printedName": "voiceCallBack",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "((Foundation.Data) -> ())?",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(Foundation.Data) -> ()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Data",
+ "printedName": "Foundation.Data",
+ "usr": "s:10Foundation4DataV"
+ }
+ ]
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdk5MSTtsC13voiceCallBacky10Foundation4DataVcSgvp",
+ "mangledName": "$s6MixSdk5MSTtsC13voiceCallBacky10Foundation4DataVcSgvp",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "((Foundation.Data) -> ())?",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(Foundation.Data) -> ()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Data",
+ "printedName": "Foundation.Data",
+ "usr": "s:10Foundation4DataV"
+ }
+ ]
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk5MSTtsC13voiceCallBacky10Foundation4DataVcSgvg",
+ "mangledName": "$s6MixSdk5MSTtsC13voiceCallBacky10Foundation4DataVcSgvg",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "((Foundation.Data) -> ())?",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(Foundation.Data) -> ()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Data",
+ "printedName": "Foundation.Data",
+ "usr": "s:10Foundation4DataV"
+ }
+ ]
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk5MSTtsC13voiceCallBacky10Foundation4DataVcSgvs",
+ "mangledName": "$s6MixSdk5MSTtsC13voiceCallBacky10Foundation4DataVcSgvs",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk5MSTtsC13voiceCallBacky10Foundation4DataVcSgvM",
+ "mangledName": "$s6MixSdk5MSTtsC13voiceCallBacky10Foundation4DataVcSgvM",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "connectStateCallBack",
+ "printedName": "connectStateCallBack",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "((MixSdk.MSConnectState) -> ())?",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(MixSdk.MSConnectState) -> ()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "MSConnectState",
+ "printedName": "MixSdk.MSConnectState",
+ "usr": "s:6MixSdk14MSConnectStateO"
+ }
+ ]
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdk5MSTtsC20connectStateCallBackyAA09MSConnectE0OcSgvp",
+ "mangledName": "$s6MixSdk5MSTtsC20connectStateCallBackyAA09MSConnectE0OcSgvp",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "((MixSdk.MSConnectState) -> ())?",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(MixSdk.MSConnectState) -> ()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "MSConnectState",
+ "printedName": "MixSdk.MSConnectState",
+ "usr": "s:6MixSdk14MSConnectStateO"
+ }
+ ]
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk5MSTtsC20connectStateCallBackyAA09MSConnectE0OcSgvg",
+ "mangledName": "$s6MixSdk5MSTtsC20connectStateCallBackyAA09MSConnectE0OcSgvg",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "((MixSdk.MSConnectState) -> ())?",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(MixSdk.MSConnectState) -> ()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "MSConnectState",
+ "printedName": "MixSdk.MSConnectState",
+ "usr": "s:6MixSdk14MSConnectStateO"
+ }
+ ]
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk5MSTtsC20connectStateCallBackyAA09MSConnectE0OcSgvs",
+ "mangledName": "$s6MixSdk5MSTtsC20connectStateCallBackyAA09MSConnectE0OcSgvs",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk5MSTtsC20connectStateCallBackyAA09MSConnectE0OcSgvM",
+ "mangledName": "$s6MixSdk5MSTtsC20connectStateCallBackyAA09MSConnectE0OcSgvM",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "connectState",
+ "printedName": "connectState",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MSConnectState",
+ "printedName": "MixSdk.MSConnectState",
+ "usr": "s:6MixSdk14MSConnectStateO"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdk5MSTtsC12connectStateAA09MSConnectE0Ovp",
+ "mangledName": "$s6MixSdk5MSTtsC12connectStateAA09MSConnectE0Ovp",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MSConnectState",
+ "printedName": "MixSdk.MSConnectState",
+ "usr": "s:6MixSdk14MSConnectStateO"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk5MSTtsC12connectStateAA09MSConnectE0Ovg",
+ "mangledName": "$s6MixSdk5MSTtsC12connectStateAA09MSConnectE0Ovg",
+ "moduleName": "MixSdk",
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Function",
+ "name": "startSynthesis",
+ "printedName": "startSynthesis()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:6MixSdk5MSTtsC14startSynthesisyyF",
+ "mangledName": "$s6MixSdk5MSTtsC14startSynthesisyyF",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "funcSelfKind": "NonMutating"
+ },
+ {
+ "kind": "Function",
+ "name": "stopSynthesis",
+ "printedName": "stopSynthesis()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:6MixSdk5MSTtsC13stopSynthesisyyF",
+ "mangledName": "$s6MixSdk5MSTtsC13stopSynthesisyyF",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "funcSelfKind": "NonMutating"
+ },
+ {
+ "kind": "Function",
+ "name": "runSynthesis",
+ "printedName": "runSynthesis(text:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:6MixSdk5MSTtsC12runSynthesis4textySS_tF",
+ "mangledName": "$s6MixSdk5MSTtsC12runSynthesis4textySS_tF",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "funcSelfKind": "NonMutating"
+ },
+ {
+ "kind": "Function",
+ "name": "sendLongTextStream",
+ "printedName": "sendLongTextStream(text:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:6MixSdk5MSTtsC18sendLongTextStream4textySS_tF",
+ "mangledName": "$s6MixSdk5MSTtsC18sendLongTextStream4textySS_tF",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "funcSelfKind": "NonMutating"
+ }
+ ],
+ "declKind": "Class",
+ "usr": "s:6MixSdk5MSTtsC",
+ "mangledName": "$s6MixSdk5MSTtsC",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasMissingDesignatedInitializers": true,
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ }
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "UIKit",
+ "printedName": "UIKit",
+ "declKind": "Import",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "MSAigc",
+ "printedName": "MSAigc",
+ "children": [
+ {
+ "kind": "Function",
+ "name": "getStyle",
+ "printedName": "getStyle(type:completeHandler:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ },
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "([MixSdk.MSAigcStyle]?, MixSdk.MSError?) -> ()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Tuple",
+ "printedName": "([MixSdk.MSAigcStyle]?, MixSdk.MSError?)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "[MixSdk.MSAigcStyle]?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Array",
+ "printedName": "[MixSdk.MSAigcStyle]",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MSAigcStyle",
+ "printedName": "MixSdk.MSAigcStyle",
+ "usr": "s:6MixSdk11MSAigcStyleC"
+ }
+ ],
+ "usr": "s:Sa"
+ }
+ ],
+ "usr": "s:Sq"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "MixSdk.MSError?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MSError",
+ "printedName": "MixSdk.MSError",
+ "usr": "s:6MixSdk7MSErrorO"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:6MixSdk6MSAigcC8getStyle4type15completeHandlerySi_ySayAA0cE0CGSg_AA7MSErrorOSgtctF",
+ "mangledName": "$s6MixSdk6MSAigcC8getStyle4type15completeHandlerySi_ySayAA0cE0CGSg_AA7MSErrorOSgtctF",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "funcSelfKind": "NonMutating"
+ },
+ {
+ "kind": "Function",
+ "name": "getResult",
+ "printedName": "getResult(task:completeHandler:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "MSAigcSearchTask",
+ "printedName": "MixSdk.MSAigcSearchTask",
+ "usr": "s:6MixSdk16MSAigcSearchTaskC"
+ },
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "([Swift.String]?, MixSdk.MSError?) -> ()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Tuple",
+ "printedName": "([Swift.String]?, MixSdk.MSError?)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "[Swift.String]?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Array",
+ "printedName": "[Swift.String]",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sa"
+ }
+ ],
+ "usr": "s:Sq"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "MixSdk.MSError?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MSError",
+ "printedName": "MixSdk.MSError",
+ "usr": "s:6MixSdk7MSErrorO"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:6MixSdk6MSAigcC9getResult4task15completeHandleryAA0C10SearchTaskC_ySaySSGSg_AA7MSErrorOSgtctF",
+ "mangledName": "$s6MixSdk6MSAigcC9getResult4task15completeHandleryAA0C10SearchTaskC_ySaySSGSg_AA7MSErrorOSgtctF",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "funcSelfKind": "NonMutating"
+ },
+ {
+ "kind": "Function",
+ "name": "createTask",
+ "printedName": "createTask(_:completeHandler:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "MSAigcTask",
+ "printedName": "MixSdk.MSAigcTask",
+ "usr": "s:6MixSdk10MSAigcTaskC"
+ },
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(Swift.String?, MixSdk.MSError?) -> ()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Tuple",
+ "printedName": "(Swift.String?, MixSdk.MSError?)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sq"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "MixSdk.MSError?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MSError",
+ "printedName": "MixSdk.MSError",
+ "usr": "s:6MixSdk7MSErrorO"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:6MixSdk6MSAigcC10createTask_15completeHandleryAA0cE0C_ySSSg_AA7MSErrorOSgtctF",
+ "mangledName": "$s6MixSdk6MSAigcC10createTask_15completeHandleryAA0cE0C_ySSSg_AA7MSErrorOSgtctF",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "funcSelfKind": "NonMutating"
+ }
+ ],
+ "declKind": "Class",
+ "usr": "s:6MixSdk6MSAigcC",
+ "mangledName": "$s6MixSdk6MSAigcC",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasMissingDesignatedInitializers": true,
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ }
+ ]
+ },
+ {
+ "kind": "Function",
+ "name": "strideCount",
+ "printedName": "strideCount(from:to:by:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:6MixSdk11strideCount4from2to2byS2i_S2itF",
+ "mangledName": "$s6MixSdk11strideCount4from2to2byS2i_S2itF",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "UsableFromInline"
+ ],
+ "funcSelfKind": "NonMutating"
+ },
+ {
+ "kind": "Import",
+ "name": "Darwin",
+ "printedName": "Darwin",
+ "declKind": "Import",
+ "moduleName": "MixSdk"
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "MixTools",
+ "printedName": "MixTools",
+ "declKind": "Import",
+ "moduleName": "MixSdk"
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "MSAudioConvert",
+ "printedName": "MSAudioConvert",
+ "children": [
+ {
+ "kind": "Function",
+ "name": "sbcTopcm",
+ "printedName": "sbcTopcm(_:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Data",
+ "printedName": "Foundation.Data",
+ "usr": "s:10Foundation4DataV"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Data",
+ "printedName": "Foundation.Data",
+ "usr": "s:10Foundation4DataV"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:6MixSdk14MSAudioConvertC8sbcTopcmy10Foundation4DataVAGFZ",
+ "mangledName": "$s6MixSdk14MSAudioConvertC8sbcTopcmy10Foundation4DataVAGFZ",
+ "moduleName": "MixSdk",
+ "static": true,
+ "declAttributes": [
+ "Final",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "funcSelfKind": "NonMutating"
+ },
+ {
+ "kind": "Function",
+ "name": "sbcTopcm",
+ "printedName": "sbcTopcm(_:_:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Data",
+ "printedName": "Foundation.Data",
+ "usr": "s:10Foundation4DataV"
+ },
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(Foundation.Data) -> ()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Data",
+ "printedName": "Foundation.Data",
+ "usr": "s:10Foundation4DataV"
+ }
+ ]
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:6MixSdk14MSAudioConvertC8sbcTopcmyy10Foundation4DataV_yAGctFZ",
+ "mangledName": "$s6MixSdk14MSAudioConvertC8sbcTopcmyy10Foundation4DataV_yAGctFZ",
+ "moduleName": "MixSdk",
+ "static": true,
+ "declAttributes": [
+ "Final",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "funcSelfKind": "NonMutating"
+ },
+ {
+ "kind": "Function",
+ "name": "pcmToMp3",
+ "printedName": "pcmToMp3(_:_:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Bool",
+ "printedName": "Swift.Bool",
+ "usr": "s:Sb"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:6MixSdk14MSAudioConvertC8pcmToMp3ySbSS_SStFZ",
+ "mangledName": "$s6MixSdk14MSAudioConvertC8pcmToMp3ySbSS_SStFZ",
+ "moduleName": "MixSdk",
+ "static": true,
+ "declAttributes": [
+ "Final",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "funcSelfKind": "NonMutating"
+ },
+ {
+ "kind": "Function",
+ "name": "pcmToMp3",
+ "printedName": "pcmToMp3(pcmPath:pcmSampleRate:mp3Path:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Bool",
+ "printedName": "Swift.Bool",
+ "usr": "s:Sb"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "hasDefaultArg": true,
+ "usr": "s:Si"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:6MixSdk14MSAudioConvertC8pcmToMp30E4Path0E10SampleRate03mp3H0SbSS_SiSStFZ",
+ "mangledName": "$s6MixSdk14MSAudioConvertC8pcmToMp30E4Path0E10SampleRate03mp3H0SbSS_SiSStFZ",
+ "moduleName": "MixSdk",
+ "static": true,
+ "declAttributes": [
+ "Final",
+ "AccessControl"
+ ],
+ "funcSelfKind": "NonMutating"
+ },
+ {
+ "kind": "Function",
+ "name": "sbcToPcm",
+ "printedName": "sbcToPcm(sbcPath:pcmPath:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Bool",
+ "printedName": "Swift.Bool",
+ "usr": "s:Sb"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:6MixSdk14MSAudioConvertC8sbcToPcm0E4Path03pcmH0SbSS_SStFZ",
+ "mangledName": "$s6MixSdk14MSAudioConvertC8sbcToPcm0E4Path03pcmH0SbSS_SStFZ",
+ "moduleName": "MixSdk",
+ "static": true,
+ "declAttributes": [
+ "Final",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "funcSelfKind": "NonMutating"
+ },
+ {
+ "kind": "Function",
+ "name": "sbcToMp3",
+ "printedName": "sbcToMp3(sbcPath:mp3Path:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Bool",
+ "printedName": "Swift.Bool",
+ "usr": "s:Sb"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:6MixSdk14MSAudioConvertC8sbcToMp30E4Path03mp3H0SbSS_SStFZ",
+ "mangledName": "$s6MixSdk14MSAudioConvertC8sbcToMp30E4Path03mp3H0SbSS_SStFZ",
+ "moduleName": "MixSdk",
+ "static": true,
+ "declAttributes": [
+ "Final",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "funcSelfKind": "NonMutating"
+ }
+ ],
+ "declKind": "Class",
+ "usr": "s:6MixSdk14MSAudioConvertC",
+ "mangledName": "$s6MixSdk14MSAudioConvertC",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasMissingDesignatedInitializers": true,
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ }
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Darwin",
+ "printedName": "Darwin",
+ "declKind": "Import",
+ "moduleName": "MixSdk"
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "MSTranslate",
+ "printedName": "MSTranslate",
+ "children": [
+ {
+ "kind": "Function",
+ "name": "translate",
+ "printedName": "translate(lang:text:completeHandler:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "MSTranslateLanguage",
+ "printedName": "MixSdk.MSTranslateLanguage",
+ "usr": "s:6MixSdk19MSTranslateLanguageC"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ },
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(Swift.String?, MixSdk.MSError?) -> ()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Tuple",
+ "printedName": "(Swift.String?, MixSdk.MSError?)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sq"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "MixSdk.MSError?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MSError",
+ "printedName": "MixSdk.MSError",
+ "usr": "s:6MixSdk7MSErrorO"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:6MixSdk11MSTranslateC9translate4lang4text15completeHandleryAA0C8LanguageC_SSySSSg_AA7MSErrorOSgtctF",
+ "mangledName": "$s6MixSdk11MSTranslateC9translate4lang4text15completeHandleryAA0C8LanguageC_SSySSSg_AA7MSErrorOSgtctF",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "funcSelfKind": "NonMutating"
+ },
+ {
+ "kind": "Function",
+ "name": "getSupportLanguages",
+ "printedName": "getSupportLanguages(completeHandler:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "([MixSdk.MSTranslateLanguage]?, MixSdk.MSError?) -> ()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Tuple",
+ "printedName": "([MixSdk.MSTranslateLanguage]?, MixSdk.MSError?)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "[MixSdk.MSTranslateLanguage]?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Array",
+ "printedName": "[MixSdk.MSTranslateLanguage]",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MSTranslateLanguage",
+ "printedName": "MixSdk.MSTranslateLanguage",
+ "usr": "s:6MixSdk19MSTranslateLanguageC"
+ }
+ ],
+ "usr": "s:Sa"
+ }
+ ],
+ "usr": "s:Sq"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "MixSdk.MSError?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MSError",
+ "printedName": "MixSdk.MSError",
+ "usr": "s:6MixSdk7MSErrorO"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:6MixSdk11MSTranslateC19getSupportLanguages15completeHandleryySayAA0C8LanguageCGSg_AA7MSErrorOSgtc_tF",
+ "mangledName": "$s6MixSdk11MSTranslateC19getSupportLanguages15completeHandleryySayAA0C8LanguageCGSg_AA7MSErrorOSgtc_tF",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "funcSelfKind": "NonMutating"
+ }
+ ],
+ "declKind": "Class",
+ "usr": "s:6MixSdk11MSTranslateC",
+ "mangledName": "$s6MixSdk11MSTranslateC",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasMissingDesignatedInitializers": true,
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ }
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "MSSttEvent",
+ "printedName": "MSSttEvent",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "event",
+ "printedName": "event",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdk10MSSttEventC5eventSSvp",
+ "mangledName": "$s6MixSdk10MSSttEventC5eventSSvp",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk10MSSttEventC5eventSSvg",
+ "mangledName": "$s6MixSdk10MSSttEventC5eventSSvg",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk10MSSttEventC5eventSSvs",
+ "mangledName": "$s6MixSdk10MSSttEventC5eventSSvs",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk10MSSttEventC5eventSSvM",
+ "mangledName": "$s6MixSdk10MSSttEventC5eventSSvM",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "msg",
+ "printedName": "msg",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdk10MSSttEventC3msgSSvp",
+ "mangledName": "$s6MixSdk10MSSttEventC3msgSSvp",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk10MSSttEventC3msgSSvg",
+ "mangledName": "$s6MixSdk10MSSttEventC3msgSSvg",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk10MSSttEventC3msgSSvs",
+ "mangledName": "$s6MixSdk10MSSttEventC3msgSSvs",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk10MSSttEventC3msgSSvM",
+ "mangledName": "$s6MixSdk10MSSttEventC3msgSSvM",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "status",
+ "printedName": "status",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdk10MSSttEventC6statusSivp",
+ "mangledName": "$s6MixSdk10MSSttEventC6statusSivp",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk10MSSttEventC6statusSivg",
+ "mangledName": "$s6MixSdk10MSSttEventC6statusSivg",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk10MSSttEventC6statusSivs",
+ "mangledName": "$s6MixSdk10MSSttEventC6statusSivs",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk10MSSttEventC6statusSivM",
+ "mangledName": "$s6MixSdk10MSSttEventC6statusSivM",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "task_id",
+ "printedName": "task_id",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdk10MSSttEventC7task_idSSvp",
+ "mangledName": "$s6MixSdk10MSSttEventC7task_idSSvp",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk10MSSttEventC7task_idSSvg",
+ "mangledName": "$s6MixSdk10MSSttEventC7task_idSSvg",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk10MSSttEventC7task_idSSvs",
+ "mangledName": "$s6MixSdk10MSSttEventC7task_idSSvs",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk10MSSttEventC7task_idSSvM",
+ "mangledName": "$s6MixSdk10MSSttEventC7task_idSSvM",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "result",
+ "printedName": "result",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "MixSdk.MSSttResult?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MSSttResult",
+ "printedName": "MixSdk.MSSttResult",
+ "usr": "s:6MixSdk11MSSttResultC"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdk10MSSttEventC6resultAA0C6ResultCSgvp",
+ "mangledName": "$s6MixSdk10MSSttEventC6resultAA0C6ResultCSgvp",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "MixSdk.MSSttResult?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MSSttResult",
+ "printedName": "MixSdk.MSSttResult",
+ "usr": "s:6MixSdk11MSSttResultC"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk10MSSttEventC6resultAA0C6ResultCSgvg",
+ "mangledName": "$s6MixSdk10MSSttEventC6resultAA0C6ResultCSgvg",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "MixSdk.MSSttResult?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MSSttResult",
+ "printedName": "MixSdk.MSSttResult",
+ "usr": "s:6MixSdk11MSSttResultC"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk10MSSttEventC6resultAA0C6ResultCSgvs",
+ "mangledName": "$s6MixSdk10MSSttEventC6resultAA0C6ResultCSgvs",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk10MSSttEventC6resultAA0C6ResultCSgvM",
+ "mangledName": "$s6MixSdk10MSSttEventC6resultAA0C6ResultCSgvM",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init(from:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MSSttEvent",
+ "printedName": "MixSdk.MSSttEvent",
+ "usr": "s:6MixSdk10MSSttEventC"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Decoder",
+ "printedName": "any Swift.Decoder",
+ "usr": "s:s7DecoderP"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:6MixSdk10MSSttEventC4fromACs7Decoder_p_tKcfc",
+ "mangledName": "$s6MixSdk10MSSttEventC4fromACs7Decoder_p_tKcfc",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "declAttributes": [
+ "Required"
+ ],
+ "throwing": true,
+ "init_kind": "Designated"
+ },
+ {
+ "kind": "Function",
+ "name": "encode",
+ "printedName": "encode(to:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Encoder",
+ "printedName": "any Swift.Encoder",
+ "usr": "s:s7EncoderP"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:6MixSdk10MSSttEventC6encode2toys7Encoder_p_tKF",
+ "mangledName": "$s6MixSdk10MSSttEventC6encode2toys7Encoder_p_tKF",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "throwing": true,
+ "funcSelfKind": "NonMutating"
+ }
+ ],
+ "declKind": "Class",
+ "usr": "s:6MixSdk10MSSttEventC",
+ "mangledName": "$s6MixSdk10MSSttEventC",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasMissingDesignatedInitializers": true,
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Decodable",
+ "printedName": "Decodable",
+ "usr": "s:Se",
+ "mangledName": "$sSe"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Encodable",
+ "printedName": "Encodable",
+ "usr": "s:SE",
+ "mangledName": "$sSE"
+ }
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "MSSttResult",
+ "printedName": "MSSttResult",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "result",
+ "printedName": "result",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdk11MSSttResultC6resultSSvp",
+ "mangledName": "$s6MixSdk11MSSttResultC6resultSSvp",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk11MSSttResultC6resultSSvg",
+ "mangledName": "$s6MixSdk11MSSttResultC6resultSSvg",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk11MSSttResultC6resultSSvs",
+ "mangledName": "$s6MixSdk11MSSttResultC6resultSSvs",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk11MSSttResultC6resultSSvM",
+ "mangledName": "$s6MixSdk11MSSttResultC6resultSSvM",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "is_end",
+ "printedName": "is_end",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Bool",
+ "printedName": "Swift.Bool",
+ "usr": "s:Sb"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdk11MSSttResultC6is_endSbvp",
+ "mangledName": "$s6MixSdk11MSSttResultC6is_endSbvp",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Bool",
+ "printedName": "Swift.Bool",
+ "usr": "s:Sb"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk11MSSttResultC6is_endSbvg",
+ "mangledName": "$s6MixSdk11MSSttResultC6is_endSbvg",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Bool",
+ "printedName": "Swift.Bool",
+ "usr": "s:Sb"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk11MSSttResultC6is_endSbvs",
+ "mangledName": "$s6MixSdk11MSSttResultC6is_endSbvs",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk11MSSttResultC6is_endSbvM",
+ "mangledName": "$s6MixSdk11MSSttResultC6is_endSbvM",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "sentence_id",
+ "printedName": "sentence_id",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdk11MSSttResultC11sentence_idSSvp",
+ "mangledName": "$s6MixSdk11MSSttResultC11sentence_idSSvp",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk11MSSttResultC11sentence_idSSvg",
+ "mangledName": "$s6MixSdk11MSSttResultC11sentence_idSSvg",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk11MSSttResultC11sentence_idSSvs",
+ "mangledName": "$s6MixSdk11MSSttResultC11sentence_idSSvs",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk11MSSttResultC11sentence_idSSvM",
+ "mangledName": "$s6MixSdk11MSSttResultC11sentence_idSSvM",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "start_time",
+ "printedName": "start_time",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdk11MSSttResultC10start_timeSivp",
+ "mangledName": "$s6MixSdk11MSSttResultC10start_timeSivp",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk11MSSttResultC10start_timeSivg",
+ "mangledName": "$s6MixSdk11MSSttResultC10start_timeSivg",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk11MSSttResultC10start_timeSivs",
+ "mangledName": "$s6MixSdk11MSSttResultC10start_timeSivs",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk11MSSttResultC10start_timeSivM",
+ "mangledName": "$s6MixSdk11MSSttResultC10start_timeSivM",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "end_time",
+ "printedName": "end_time",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdk11MSSttResultC8end_timeSivp",
+ "mangledName": "$s6MixSdk11MSSttResultC8end_timeSivp",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk11MSSttResultC8end_timeSivg",
+ "mangledName": "$s6MixSdk11MSSttResultC8end_timeSivg",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk11MSSttResultC8end_timeSivs",
+ "mangledName": "$s6MixSdk11MSSttResultC8end_timeSivs",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk11MSSttResultC8end_timeSivM",
+ "mangledName": "$s6MixSdk11MSSttResultC8end_timeSivM",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init(from:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MSSttResult",
+ "printedName": "MixSdk.MSSttResult",
+ "usr": "s:6MixSdk11MSSttResultC"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Decoder",
+ "printedName": "any Swift.Decoder",
+ "usr": "s:s7DecoderP"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:6MixSdk11MSSttResultC4fromACs7Decoder_p_tKcfc",
+ "mangledName": "$s6MixSdk11MSSttResultC4fromACs7Decoder_p_tKcfc",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "declAttributes": [
+ "Required"
+ ],
+ "throwing": true,
+ "init_kind": "Designated"
+ },
+ {
+ "kind": "Function",
+ "name": "encode",
+ "printedName": "encode(to:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Encoder",
+ "printedName": "any Swift.Encoder",
+ "usr": "s:s7EncoderP"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:6MixSdk11MSSttResultC6encode2toys7Encoder_p_tKF",
+ "mangledName": "$s6MixSdk11MSSttResultC6encode2toys7Encoder_p_tKF",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "throwing": true,
+ "funcSelfKind": "NonMutating"
+ }
+ ],
+ "declKind": "Class",
+ "usr": "s:6MixSdk11MSSttResultC",
+ "mangledName": "$s6MixSdk11MSSttResultC",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasMissingDesignatedInitializers": true,
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Decodable",
+ "printedName": "Decodable",
+ "usr": "s:Se",
+ "mangledName": "$sSe"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Encodable",
+ "printedName": "Encodable",
+ "usr": "s:SE",
+ "mangledName": "$sSE"
+ }
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "MSChat",
+ "printedName": "MSChat",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "callBack",
+ "printedName": "callBack",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "((MixSdk.MSChatModel) -> ())?",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(MixSdk.MSChatModel) -> ()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "MSChatModel",
+ "printedName": "MixSdk.MSChatModel",
+ "usr": "s:6MixSdk11MSChatModelC"
+ }
+ ]
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdk6MSChatC8callBackyAA0C5ModelCcSgvp",
+ "mangledName": "$s6MixSdk6MSChatC8callBackyAA0C5ModelCcSgvp",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "((MixSdk.MSChatModel) -> ())?",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(MixSdk.MSChatModel) -> ()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "MSChatModel",
+ "printedName": "MixSdk.MSChatModel",
+ "usr": "s:6MixSdk11MSChatModelC"
+ }
+ ]
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk6MSChatC8callBackyAA0C5ModelCcSgvg",
+ "mangledName": "$s6MixSdk6MSChatC8callBackyAA0C5ModelCcSgvg",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "((MixSdk.MSChatModel) -> ())?",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(MixSdk.MSChatModel) -> ()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "MSChatModel",
+ "printedName": "MixSdk.MSChatModel",
+ "usr": "s:6MixSdk11MSChatModelC"
+ }
+ ]
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk6MSChatC8callBackyAA0C5ModelCcSgvs",
+ "mangledName": "$s6MixSdk6MSChatC8callBackyAA0C5ModelCcSgvs",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk6MSChatC8callBackyAA0C5ModelCcSgvM",
+ "mangledName": "$s6MixSdk6MSChatC8callBackyAA0C5ModelCcSgvM",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "connectStateCallBack",
+ "printedName": "connectStateCallBack",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "((MixSdk.MSConnectState) -> ())?",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(MixSdk.MSConnectState) -> ()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "MSConnectState",
+ "printedName": "MixSdk.MSConnectState",
+ "usr": "s:6MixSdk14MSConnectStateO"
+ }
+ ]
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdk6MSChatC20connectStateCallBackyAA09MSConnectE0OcSgvp",
+ "mangledName": "$s6MixSdk6MSChatC20connectStateCallBackyAA09MSConnectE0OcSgvp",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "((MixSdk.MSConnectState) -> ())?",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(MixSdk.MSConnectState) -> ()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "MSConnectState",
+ "printedName": "MixSdk.MSConnectState",
+ "usr": "s:6MixSdk14MSConnectStateO"
+ }
+ ]
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk6MSChatC20connectStateCallBackyAA09MSConnectE0OcSgvg",
+ "mangledName": "$s6MixSdk6MSChatC20connectStateCallBackyAA09MSConnectE0OcSgvg",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "((MixSdk.MSConnectState) -> ())?",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(MixSdk.MSConnectState) -> ()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "MSConnectState",
+ "printedName": "MixSdk.MSConnectState",
+ "usr": "s:6MixSdk14MSConnectStateO"
+ }
+ ]
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk6MSChatC20connectStateCallBackyAA09MSConnectE0OcSgvs",
+ "mangledName": "$s6MixSdk6MSChatC20connectStateCallBackyAA09MSConnectE0OcSgvs",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk6MSChatC20connectStateCallBackyAA09MSConnectE0OcSgvM",
+ "mangledName": "$s6MixSdk6MSChatC20connectStateCallBackyAA09MSConnectE0OcSgvM",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "connectState",
+ "printedName": "connectState",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MSConnectState",
+ "printedName": "MixSdk.MSConnectState",
+ "usr": "s:6MixSdk14MSConnectStateO"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdk6MSChatC12connectStateAA09MSConnectE0Ovp",
+ "mangledName": "$s6MixSdk6MSChatC12connectStateAA09MSConnectE0Ovp",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MSConnectState",
+ "printedName": "MixSdk.MSConnectState",
+ "usr": "s:6MixSdk14MSConnectStateO"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk6MSChatC12connectStateAA09MSConnectE0Ovg",
+ "mangledName": "$s6MixSdk6MSChatC12connectStateAA09MSConnectE0Ovg",
+ "moduleName": "MixSdk",
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Function",
+ "name": "reset",
+ "printedName": "reset()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:6MixSdk6MSChatC5resetyyF",
+ "mangledName": "$s6MixSdk6MSChatC5resetyyF",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "funcSelfKind": "NonMutating"
+ },
+ {
+ "kind": "Function",
+ "name": "send",
+ "printedName": "send(content:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:6MixSdk6MSChatC4send7contentySS_tF",
+ "mangledName": "$s6MixSdk6MSChatC4send7contentySS_tF",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "funcSelfKind": "NonMutating"
+ }
+ ],
+ "declKind": "Class",
+ "usr": "s:6MixSdk6MSChatC",
+ "mangledName": "$s6MixSdk6MSChatC",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasMissingDesignatedInitializers": true,
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ }
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "MSChatGpt",
+ "printedName": "MSChatGpt",
+ "children": [
+ {
+ "kind": "Function",
+ "name": "transcription",
+ "printedName": "transcription(filePath:completeHandler:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ },
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(Swift.String?, MixSdk.MSChatGptError?) -> ()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Tuple",
+ "printedName": "(Swift.String?, MixSdk.MSChatGptError?)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sq"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "MixSdk.MSChatGptError?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MSChatGptError",
+ "printedName": "MixSdk.MSChatGptError",
+ "usr": "s:6MixSdk14MSChatGptErrorC"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:6MixSdk9MSChatGptC13transcription8filePath15completeHandlerySS_ySSSg_AA0cD5ErrorCSgtctF",
+ "mangledName": "$s6MixSdk9MSChatGptC13transcription8filePath15completeHandlerySS_ySSSg_AA0cD5ErrorCSgtctF",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "funcSelfKind": "NonMutating"
+ },
+ {
+ "kind": "Function",
+ "name": "changeModel",
+ "printedName": "changeModel(model:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:6MixSdk9MSChatGptC11changeModel5modelySS_tF",
+ "mangledName": "$s6MixSdk9MSChatGptC11changeModel5modelySS_tF",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "funcSelfKind": "NonMutating"
+ },
+ {
+ "kind": "Function",
+ "name": "isValidKey",
+ "printedName": "isValidKey(_:completeHandler:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ },
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(Swift.Bool?, MixSdk.MSChatGptError?) -> ()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Tuple",
+ "printedName": "(Swift.Bool?, MixSdk.MSChatGptError?)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.Bool?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Bool",
+ "printedName": "Swift.Bool",
+ "usr": "s:Sb"
+ }
+ ],
+ "usr": "s:Sq"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "MixSdk.MSChatGptError?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MSChatGptError",
+ "printedName": "MixSdk.MSChatGptError",
+ "usr": "s:6MixSdk14MSChatGptErrorC"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:6MixSdk9MSChatGptC10isValidKey_15completeHandlerySS_ySbSg_AA0cD5ErrorCSgtctF",
+ "mangledName": "$s6MixSdk9MSChatGptC10isValidKey_15completeHandlerySS_ySbSg_AA0cD5ErrorCSgtctF",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "funcSelfKind": "NonMutating"
+ },
+ {
+ "kind": "Function",
+ "name": "send",
+ "printedName": "send(content:completeHandler:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ },
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(MixSdk.MSChatGptModel?, MixSdk.MSChatGptError?) -> ()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Tuple",
+ "printedName": "(MixSdk.MSChatGptModel?, MixSdk.MSChatGptError?)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "MixSdk.MSChatGptModel?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MSChatGptModel",
+ "printedName": "MixSdk.MSChatGptModel",
+ "usr": "s:6MixSdk14MSChatGptModelC"
+ }
+ ],
+ "usr": "s:Sq"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "MixSdk.MSChatGptError?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MSChatGptError",
+ "printedName": "MixSdk.MSChatGptError",
+ "usr": "s:6MixSdk14MSChatGptErrorC"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:6MixSdk9MSChatGptC4send7content15completeHandlerySS_yAA0cD5ModelCSg_AA0cD5ErrorCSgtctF",
+ "mangledName": "$s6MixSdk9MSChatGptC4send7content15completeHandlerySS_yAA0cD5ModelCSg_AA0cD5ErrorCSgtctF",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "funcSelfKind": "NonMutating"
+ }
+ ],
+ "declKind": "Class",
+ "usr": "s:6MixSdk9MSChatGptC",
+ "mangledName": "$s6MixSdk9MSChatGptC",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasMissingDesignatedInitializers": true,
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ }
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "MSChatGptTranscription",
+ "printedName": "MSChatGptTranscription",
+ "children": [
+ {
+ "kind": "Function",
+ "name": "start",
+ "printedName": "start()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:6MixSdk22MSChatGptTranscriptionC5startyyF",
+ "mangledName": "$s6MixSdk22MSChatGptTranscriptionC5startyyF",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "funcSelfKind": "NonMutating"
+ },
+ {
+ "kind": "Function",
+ "name": "stop",
+ "printedName": "stop(completeHandler:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(Swift.String?, MixSdk.MSChatGptError?) -> ()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Tuple",
+ "printedName": "(Swift.String?, MixSdk.MSChatGptError?)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sq"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "MixSdk.MSChatGptError?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MSChatGptError",
+ "printedName": "MixSdk.MSChatGptError",
+ "usr": "s:6MixSdk14MSChatGptErrorC"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:6MixSdk22MSChatGptTranscriptionC4stop15completeHandleryySSSg_AA0cD5ErrorCSgtc_tF",
+ "mangledName": "$s6MixSdk22MSChatGptTranscriptionC4stop15completeHandleryySSSg_AA0cD5ErrorCSgtc_tF",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "funcSelfKind": "NonMutating"
+ },
+ {
+ "kind": "Function",
+ "name": "sendVoice",
+ "printedName": "sendVoice(pcmData:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Data",
+ "printedName": "Foundation.Data",
+ "usr": "s:10Foundation4DataV"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:6MixSdk22MSChatGptTranscriptionC9sendVoice7pcmDatay10Foundation0I0V_tF",
+ "mangledName": "$s6MixSdk22MSChatGptTranscriptionC9sendVoice7pcmDatay10Foundation0I0V_tF",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "funcSelfKind": "NonMutating"
+ },
+ {
+ "kind": "Function",
+ "name": "sendVoice",
+ "printedName": "sendVoice(sbcData:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Data",
+ "printedName": "Foundation.Data",
+ "usr": "s:10Foundation4DataV"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:6MixSdk22MSChatGptTranscriptionC9sendVoice7sbcDatay10Foundation0I0V_tF",
+ "mangledName": "$s6MixSdk22MSChatGptTranscriptionC9sendVoice7sbcDatay10Foundation0I0V_tF",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "funcSelfKind": "NonMutating"
+ }
+ ],
+ "declKind": "Class",
+ "usr": "s:6MixSdk22MSChatGptTranscriptionC",
+ "mangledName": "$s6MixSdk22MSChatGptTranscriptionC",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasMissingDesignatedInitializers": true,
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ }
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "MSAigcStyle",
+ "printedName": "MSAigcStyle",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "name",
+ "printedName": "name",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdk11MSAigcStyleC4nameSSvp",
+ "mangledName": "$s6MixSdk11MSAigcStyleC4nameSSvp",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk11MSAigcStyleC4nameSSvg",
+ "mangledName": "$s6MixSdk11MSAigcStyleC4nameSSvg",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk11MSAigcStyleC4nameSSvs",
+ "mangledName": "$s6MixSdk11MSAigcStyleC4nameSSvs",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk11MSAigcStyleC4nameSSvM",
+ "mangledName": "$s6MixSdk11MSAigcStyleC4nameSSvM",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "url",
+ "printedName": "url",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdk11MSAigcStyleC3urlSSvp",
+ "mangledName": "$s6MixSdk11MSAigcStyleC3urlSSvp",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk11MSAigcStyleC3urlSSvg",
+ "mangledName": "$s6MixSdk11MSAigcStyleC3urlSSvg",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk11MSAigcStyleC3urlSSvs",
+ "mangledName": "$s6MixSdk11MSAigcStyleC3urlSSvs",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk11MSAigcStyleC3urlSSvM",
+ "mangledName": "$s6MixSdk11MSAigcStyleC3urlSSvM",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "code",
+ "printedName": "code",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdk11MSAigcStyleC4codeSSvp",
+ "mangledName": "$s6MixSdk11MSAigcStyleC4codeSSvp",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk11MSAigcStyleC4codeSSvg",
+ "mangledName": "$s6MixSdk11MSAigcStyleC4codeSSvg",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk11MSAigcStyleC4codeSSvs",
+ "mangledName": "$s6MixSdk11MSAigcStyleC4codeSSvs",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk11MSAigcStyleC4codeSSvM",
+ "mangledName": "$s6MixSdk11MSAigcStyleC4codeSSvM",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init(from:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MSAigcStyle",
+ "printedName": "MixSdk.MSAigcStyle",
+ "usr": "s:6MixSdk11MSAigcStyleC"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Decoder",
+ "printedName": "any Swift.Decoder",
+ "usr": "s:s7DecoderP"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:6MixSdk11MSAigcStyleC4fromACs7Decoder_p_tKcfc",
+ "mangledName": "$s6MixSdk11MSAigcStyleC4fromACs7Decoder_p_tKcfc",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "declAttributes": [
+ "Required"
+ ],
+ "throwing": true,
+ "init_kind": "Designated"
+ },
+ {
+ "kind": "Function",
+ "name": "encode",
+ "printedName": "encode(to:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Encoder",
+ "printedName": "any Swift.Encoder",
+ "usr": "s:s7EncoderP"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:6MixSdk11MSAigcStyleC6encode2toys7Encoder_p_tKF",
+ "mangledName": "$s6MixSdk11MSAigcStyleC6encode2toys7Encoder_p_tKF",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "throwing": true,
+ "funcSelfKind": "NonMutating"
+ }
+ ],
+ "declKind": "Class",
+ "usr": "s:6MixSdk11MSAigcStyleC",
+ "mangledName": "$s6MixSdk11MSAigcStyleC",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasMissingDesignatedInitializers": true,
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Decodable",
+ "printedName": "Decodable",
+ "usr": "s:Se",
+ "mangledName": "$sSe"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Encodable",
+ "printedName": "Encodable",
+ "usr": "s:SE",
+ "mangledName": "$sSE"
+ }
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "MSAigcTask",
+ "printedName": "MSAigcTask",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "type",
+ "printedName": "type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdk10MSAigcTaskC4typeSivp",
+ "mangledName": "$s6MixSdk10MSAigcTaskC4typeSivp",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk10MSAigcTaskC4typeSivg",
+ "mangledName": "$s6MixSdk10MSAigcTaskC4typeSivg",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk10MSAigcTaskC4typeSivs",
+ "mangledName": "$s6MixSdk10MSAigcTaskC4typeSivs",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk10MSAigcTaskC4typeSivM",
+ "mangledName": "$s6MixSdk10MSAigcTaskC4typeSivM",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "subject",
+ "printedName": "subject",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdk10MSAigcTaskC7subjectSSSgvp",
+ "mangledName": "$s6MixSdk10MSAigcTaskC7subjectSSSgvp",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk10MSAigcTaskC7subjectSSSgvg",
+ "mangledName": "$s6MixSdk10MSAigcTaskC7subjectSSSgvg",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk10MSAigcTaskC7subjectSSSgvs",
+ "mangledName": "$s6MixSdk10MSAigcTaskC7subjectSSSgvs",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk10MSAigcTaskC7subjectSSSgvM",
+ "mangledName": "$s6MixSdk10MSAigcTaskC7subjectSSSgvM",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "algorithm",
+ "printedName": "algorithm",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdk10MSAigcTaskC9algorithmSSvp",
+ "mangledName": "$s6MixSdk10MSAigcTaskC9algorithmSSvp",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk10MSAigcTaskC9algorithmSSvg",
+ "mangledName": "$s6MixSdk10MSAigcTaskC9algorithmSSvg",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk10MSAigcTaskC9algorithmSSvs",
+ "mangledName": "$s6MixSdk10MSAigcTaskC9algorithmSSvs",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk10MSAigcTaskC9algorithmSSvM",
+ "mangledName": "$s6MixSdk10MSAigcTaskC9algorithmSSvM",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "image_base64",
+ "printedName": "image_base64",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdk10MSAigcTaskC12image_base64SSSgvp",
+ "mangledName": "$s6MixSdk10MSAigcTaskC12image_base64SSSgvp",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk10MSAigcTaskC12image_base64SSSgvg",
+ "mangledName": "$s6MixSdk10MSAigcTaskC12image_base64SSSgvg",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk10MSAigcTaskC12image_base64SSSgvs",
+ "mangledName": "$s6MixSdk10MSAigcTaskC12image_base64SSSgvs",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk10MSAigcTaskC12image_base64SSSgvM",
+ "mangledName": "$s6MixSdk10MSAigcTaskC12image_base64SSSgvM",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "amount",
+ "printedName": "amount",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdk10MSAigcTaskC6amountSivp",
+ "mangledName": "$s6MixSdk10MSAigcTaskC6amountSivp",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk10MSAigcTaskC6amountSivg",
+ "mangledName": "$s6MixSdk10MSAigcTaskC6amountSivg",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk10MSAigcTaskC6amountSivs",
+ "mangledName": "$s6MixSdk10MSAigcTaskC6amountSivs",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk10MSAigcTaskC6amountSivM",
+ "mangledName": "$s6MixSdk10MSAigcTaskC6amountSivM",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MSAigcTask",
+ "printedName": "MixSdk.MSAigcTask",
+ "usr": "s:6MixSdk10MSAigcTaskC"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:6MixSdk10MSAigcTaskCACycfc",
+ "mangledName": "$s6MixSdk10MSAigcTaskCACycfc",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "init_kind": "Designated"
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init(from:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MSAigcTask",
+ "printedName": "MixSdk.MSAigcTask",
+ "usr": "s:6MixSdk10MSAigcTaskC"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Decoder",
+ "printedName": "any Swift.Decoder",
+ "usr": "s:s7DecoderP"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:6MixSdk10MSAigcTaskC4fromACs7Decoder_p_tKcfc",
+ "mangledName": "$s6MixSdk10MSAigcTaskC4fromACs7Decoder_p_tKcfc",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "declAttributes": [
+ "Required"
+ ],
+ "throwing": true,
+ "init_kind": "Designated"
+ },
+ {
+ "kind": "Function",
+ "name": "encode",
+ "printedName": "encode(to:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Encoder",
+ "printedName": "any Swift.Encoder",
+ "usr": "s:s7EncoderP"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:6MixSdk10MSAigcTaskC6encode2toys7Encoder_p_tKF",
+ "mangledName": "$s6MixSdk10MSAigcTaskC6encode2toys7Encoder_p_tKF",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "throwing": true,
+ "funcSelfKind": "NonMutating"
+ }
+ ],
+ "declKind": "Class",
+ "usr": "s:6MixSdk10MSAigcTaskC",
+ "mangledName": "$s6MixSdk10MSAigcTaskC",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Decodable",
+ "printedName": "Decodable",
+ "usr": "s:Se",
+ "mangledName": "$sSe"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Encodable",
+ "printedName": "Encodable",
+ "usr": "s:SE",
+ "mangledName": "$sSE"
+ }
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "MSAigcSearchTask",
+ "printedName": "MSAigcSearchTask",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "task_id",
+ "printedName": "task_id",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdk16MSAigcSearchTaskC7task_idSSvp",
+ "mangledName": "$s6MixSdk16MSAigcSearchTaskC7task_idSSvp",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk16MSAigcSearchTaskC7task_idSSvg",
+ "mangledName": "$s6MixSdk16MSAigcSearchTaskC7task_idSSvg",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk16MSAigcSearchTaskC7task_idSSvs",
+ "mangledName": "$s6MixSdk16MSAigcSearchTaskC7task_idSSvs",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk16MSAigcSearchTaskC7task_idSSvM",
+ "mangledName": "$s6MixSdk16MSAigcSearchTaskC7task_idSSvM",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "bit_depth",
+ "printedName": "bit_depth",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdk16MSAigcSearchTaskC9bit_depthSivp",
+ "mangledName": "$s6MixSdk16MSAigcSearchTaskC9bit_depthSivp",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk16MSAigcSearchTaskC9bit_depthSivg",
+ "mangledName": "$s6MixSdk16MSAigcSearchTaskC9bit_depthSivg",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk16MSAigcSearchTaskC9bit_depthSivs",
+ "mangledName": "$s6MixSdk16MSAigcSearchTaskC9bit_depthSivs",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk16MSAigcSearchTaskC9bit_depthSivM",
+ "mangledName": "$s6MixSdk16MSAigcSearchTaskC9bit_depthSivM",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "compression_quality",
+ "printedName": "compression_quality",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdk16MSAigcSearchTaskC19compression_qualitySivp",
+ "mangledName": "$s6MixSdk16MSAigcSearchTaskC19compression_qualitySivp",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk16MSAigcSearchTaskC19compression_qualitySivg",
+ "mangledName": "$s6MixSdk16MSAigcSearchTaskC19compression_qualitySivg",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk16MSAigcSearchTaskC19compression_qualitySivs",
+ "mangledName": "$s6MixSdk16MSAigcSearchTaskC19compression_qualitySivs",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk16MSAigcSearchTaskC19compression_qualitySivM",
+ "mangledName": "$s6MixSdk16MSAigcSearchTaskC19compression_qualitySivM",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "format",
+ "printedName": "format",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdk16MSAigcSearchTaskC6formatSSvp",
+ "mangledName": "$s6MixSdk16MSAigcSearchTaskC6formatSSvp",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk16MSAigcSearchTaskC6formatSSvg",
+ "mangledName": "$s6MixSdk16MSAigcSearchTaskC6formatSSvg",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk16MSAigcSearchTaskC6formatSSvs",
+ "mangledName": "$s6MixSdk16MSAigcSearchTaskC6formatSSvs",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk16MSAigcSearchTaskC6formatSSvM",
+ "mangledName": "$s6MixSdk16MSAigcSearchTaskC6formatSSvM",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "height",
+ "printedName": "height",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdk16MSAigcSearchTaskC6heightSivp",
+ "mangledName": "$s6MixSdk16MSAigcSearchTaskC6heightSivp",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk16MSAigcSearchTaskC6heightSivg",
+ "mangledName": "$s6MixSdk16MSAigcSearchTaskC6heightSivg",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk16MSAigcSearchTaskC6heightSivs",
+ "mangledName": "$s6MixSdk16MSAigcSearchTaskC6heightSivs",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk16MSAigcSearchTaskC6heightSivM",
+ "mangledName": "$s6MixSdk16MSAigcSearchTaskC6heightSivM",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "width",
+ "printedName": "width",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:6MixSdk16MSAigcSearchTaskC5widthSivp",
+ "mangledName": "$s6MixSdk16MSAigcSearchTaskC5widthSivp",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk16MSAigcSearchTaskC5widthSivg",
+ "mangledName": "$s6MixSdk16MSAigcSearchTaskC5widthSivg",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk16MSAigcSearchTaskC5widthSivs",
+ "mangledName": "$s6MixSdk16MSAigcSearchTaskC5widthSivs",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:6MixSdk16MSAigcSearchTaskC5widthSivM",
+ "mangledName": "$s6MixSdk16MSAigcSearchTaskC5widthSivM",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MSAigcSearchTask",
+ "printedName": "MixSdk.MSAigcSearchTask",
+ "usr": "s:6MixSdk16MSAigcSearchTaskC"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:6MixSdk16MSAigcSearchTaskCACycfc",
+ "mangledName": "$s6MixSdk16MSAigcSearchTaskCACycfc",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "init_kind": "Designated"
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init(from:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "MSAigcSearchTask",
+ "printedName": "MixSdk.MSAigcSearchTask",
+ "usr": "s:6MixSdk16MSAigcSearchTaskC"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Decoder",
+ "printedName": "any Swift.Decoder",
+ "usr": "s:s7DecoderP"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:6MixSdk16MSAigcSearchTaskC4fromACs7Decoder_p_tKcfc",
+ "mangledName": "$s6MixSdk16MSAigcSearchTaskC4fromACs7Decoder_p_tKcfc",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "declAttributes": [
+ "Required"
+ ],
+ "throwing": true,
+ "init_kind": "Designated"
+ },
+ {
+ "kind": "Function",
+ "name": "encode",
+ "printedName": "encode(to:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Encoder",
+ "printedName": "any Swift.Encoder",
+ "usr": "s:s7EncoderP"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:6MixSdk16MSAigcSearchTaskC6encode2toys7Encoder_p_tKF",
+ "mangledName": "$s6MixSdk16MSAigcSearchTaskC6encode2toys7Encoder_p_tKF",
+ "moduleName": "MixSdk",
+ "implicit": true,
+ "throwing": true,
+ "funcSelfKind": "NonMutating"
+ }
+ ],
+ "declKind": "Class",
+ "usr": "s:6MixSdk16MSAigcSearchTaskC",
+ "mangledName": "$s6MixSdk16MSAigcSearchTaskC",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Decodable",
+ "printedName": "Decodable",
+ "usr": "s:Se",
+ "mangledName": "$sSe"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Encodable",
+ "printedName": "Encodable",
+ "usr": "s:SE",
+ "mangledName": "$sSE"
+ }
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "MixSdk",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "Array",
+ "printedName": "Array",
+ "declKind": "Struct",
+ "usr": "s:Sa",
+ "mangledName": "$sSa",
+ "moduleName": "Swift",
+ "genericSig": "<τ_0_0>",
+ "sugared_genericSig": "<Element>",
+ "declAttributes": [
+ "EagerMove",
+ "Frozen"
+ ],
+ "isExternal": true,
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "_DestructorSafeContainer",
+ "printedName": "_DestructorSafeContainer",
+ "usr": "s:s24_DestructorSafeContainerP",
+ "mangledName": "$ss24_DestructorSafeContainerP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "_ArrayProtocol",
+ "printedName": "_ArrayProtocol",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "_Buffer",
+ "printedName": "_Buffer",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "_ArrayBuffer",
+ "printedName": "Swift._ArrayBuffer<τ_0_0>",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "GenericTypeParam",
+ "printedName": "τ_0_0"
+ }
+ ],
+ "usr": "s:s12_ArrayBufferV"
+ }
+ ]
+ }
+ ],
+ "usr": "s:s14_ArrayProtocolP",
+ "mangledName": "$ss14_ArrayProtocolP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "RandomAccessCollection",
+ "printedName": "RandomAccessCollection",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "Element",
+ "printedName": "Element",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "GenericTypeParam",
+ "printedName": "τ_0_0"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "Index",
+ "printedName": "Index",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "SubSequence",
+ "printedName": "SubSequence",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "ArraySlice",
+ "printedName": "Swift.ArraySlice<τ_0_0>",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "GenericTypeParam",
+ "printedName": "τ_0_0"
+ }
+ ],
+ "usr": "s:s10ArraySliceV"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "Indices",
+ "printedName": "Indices",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Range",
+ "printedName": "Swift.Range<Swift.Int>",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "usr": "s:Sn"
+ }
+ ]
+ }
+ ],
+ "usr": "s:Sk",
+ "mangledName": "$sSk"
+ },
+ {
+ "kind": "Conformance",
+ "name": "MutableCollection",
+ "printedName": "MutableCollection",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "Element",
+ "printedName": "Element",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "GenericTypeParam",
+ "printedName": "τ_0_0"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "Index",
+ "printedName": "Index",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "SubSequence",
+ "printedName": "SubSequence",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "ArraySlice",
+ "printedName": "Swift.ArraySlice<τ_0_0>",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "GenericTypeParam",
+ "printedName": "τ_0_0"
+ }
+ ],
+ "usr": "s:s10ArraySliceV"
+ }
+ ]
+ }
+ ],
+ "usr": "s:SM",
+ "mangledName": "$sSM"
+ },
+ {
+ "kind": "Conformance",
+ "name": "BidirectionalCollection",
+ "printedName": "BidirectionalCollection",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "Element",
+ "printedName": "Element",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "GenericTypeParam",
+ "printedName": "τ_0_0"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "Index",
+ "printedName": "Index",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "SubSequence",
+ "printedName": "SubSequence",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "ArraySlice",
+ "printedName": "Swift.ArraySlice<τ_0_0>",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "GenericTypeParam",
+ "printedName": "τ_0_0"
+ }
+ ],
+ "usr": "s:s10ArraySliceV"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "Indices",
+ "printedName": "Indices",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Range",
+ "printedName": "Swift.Range<Swift.Int>",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "usr": "s:Sn"
+ }
+ ]
+ }
+ ],
+ "usr": "s:SK",
+ "mangledName": "$sSK"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Collection",
+ "printedName": "Collection",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "Element",
+ "printedName": "Element",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "GenericTypeParam",
+ "printedName": "τ_0_0"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "Index",
+ "printedName": "Index",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "Iterator",
+ "printedName": "Iterator",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IndexingIterator",
+ "printedName": "Swift.IndexingIterator<[τ_0_0]>",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Array",
+ "printedName": "[τ_0_0]",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "GenericTypeParam",
+ "printedName": "τ_0_0"
+ }
+ ],
+ "usr": "s:Sa"
+ }
+ ],
+ "usr": "s:s16IndexingIteratorV"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "SubSequence",
+ "printedName": "SubSequence",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "ArraySlice",
+ "printedName": "Swift.ArraySlice<τ_0_0>",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "GenericTypeParam",
+ "printedName": "τ_0_0"
+ }
+ ],
+ "usr": "s:s10ArraySliceV"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "Indices",
+ "printedName": "Indices",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Range",
+ "printedName": "Swift.Range<Swift.Int>",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "usr": "s:Sn"
+ }
+ ]
+ }
+ ],
+ "usr": "s:Sl",
+ "mangledName": "$sSl"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Sequence",
+ "printedName": "Sequence",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "Element",
+ "printedName": "Element",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "GenericTypeParam",
+ "printedName": "τ_0_0"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "Iterator",
+ "printedName": "Iterator",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IndexingIterator",
+ "printedName": "Swift.IndexingIterator<[τ_0_0]>",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Array",
+ "printedName": "[τ_0_0]",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "GenericTypeParam",
+ "printedName": "τ_0_0"
+ }
+ ],
+ "usr": "s:Sa"
+ }
+ ],
+ "usr": "s:s16IndexingIteratorV"
+ }
+ ]
+ }
+ ],
+ "usr": "s:ST",
+ "mangledName": "$sST"
+ },
+ {
+ "kind": "Conformance",
+ "name": "ExpressibleByArrayLiteral",
+ "printedName": "ExpressibleByArrayLiteral",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "ArrayLiteralElement",
+ "printedName": "ArrayLiteralElement",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "GenericTypeParam",
+ "printedName": "τ_0_0"
+ }
+ ]
+ }
+ ],
+ "usr": "s:s25ExpressibleByArrayLiteralP",
+ "mangledName": "$ss25ExpressibleByArrayLiteralP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "RangeReplaceableCollection",
+ "printedName": "RangeReplaceableCollection",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "SubSequence",
+ "printedName": "SubSequence",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "ArraySlice",
+ "printedName": "Swift.ArraySlice<τ_0_0>",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "GenericTypeParam",
+ "printedName": "τ_0_0"
+ }
+ ],
+ "usr": "s:s10ArraySliceV"
+ }
+ ]
+ }
+ ],
+ "usr": "s:Sm",
+ "mangledName": "$sSm"
+ },
+ {
+ "kind": "Conformance",
+ "name": "CustomReflectable",
+ "printedName": "CustomReflectable",
+ "usr": "s:s17CustomReflectableP",
+ "mangledName": "$ss17CustomReflectableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "CustomStringConvertible",
+ "printedName": "CustomStringConvertible",
+ "usr": "s:s23CustomStringConvertibleP",
+ "mangledName": "$ss23CustomStringConvertibleP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "CustomDebugStringConvertible",
+ "printedName": "CustomDebugStringConvertible",
+ "usr": "s:s28CustomDebugStringConvertibleP",
+ "mangledName": "$ss28CustomDebugStringConvertibleP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Equatable",
+ "printedName": "Equatable",
+ "usr": "s:SQ",
+ "mangledName": "$sSQ"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Hashable",
+ "printedName": "Hashable",
+ "usr": "s:SH",
+ "mangledName": "$sSH"
+ },
+ {
+ "kind": "Conformance",
+ "name": "_HasCustomAnyHashableRepresentation",
+ "printedName": "_HasCustomAnyHashableRepresentation",
+ "usr": "s:s35_HasCustomAnyHashableRepresentationP",
+ "mangledName": "$ss35_HasCustomAnyHashableRepresentationP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Sendable",
+ "printedName": "Sendable",
+ "usr": "s:s8SendableP",
+ "mangledName": "$ss8SendableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Encodable",
+ "printedName": "Encodable",
+ "usr": "s:SE",
+ "mangledName": "$sSE"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Decodable",
+ "printedName": "Decodable",
+ "usr": "s:Se",
+ "mangledName": "$sSe"
+ },
+ {
+ "kind": "Conformance",
+ "name": "_HasContiguousBytes",
+ "printedName": "_HasContiguousBytes",
+ "usr": "s:s19_HasContiguousBytesP",
+ "mangledName": "$ss19_HasContiguousBytesP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "_ObjectiveCBridgeable",
+ "printedName": "_ObjectiveCBridgeable",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "_ObjectiveCType",
+ "printedName": "_ObjectiveCType",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "NSArray",
+ "printedName": "Foundation.NSArray",
+ "usr": "c:objc(cs)NSArray"
+ }
+ ]
+ }
+ ],
+ "usr": "s:s21_ObjectiveCBridgeableP",
+ "mangledName": "$ss21_ObjectiveCBridgeableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "CVarArg",
+ "printedName": "CVarArg",
+ "usr": "s:s7CVarArgP",
+ "mangledName": "$ss7CVarArgP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "ContiguousBytes",
+ "printedName": "ContiguousBytes",
+ "usr": "s:10Foundation15ContiguousBytesP",
+ "mangledName": "$s10Foundation15ContiguousBytesP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "EncodableWithConfiguration",
+ "printedName": "EncodableWithConfiguration",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "EncodingConfiguration",
+ "printedName": "EncodingConfiguration",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "DependentMember",
+ "printedName": "τ_0_0.EncodingConfiguration"
+ }
+ ]
+ }
+ ],
+ "usr": "s:10Foundation26EncodableWithConfigurationP",
+ "mangledName": "$s10Foundation26EncodableWithConfigurationP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "DecodableWithConfiguration",
+ "printedName": "DecodableWithConfiguration",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "DecodingConfiguration",
+ "printedName": "DecodingConfiguration",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "DependentMember",
+ "printedName": "τ_0_0.DecodingConfiguration"
+ }
+ ]
+ }
+ ],
+ "usr": "s:10Foundation26DecodableWithConfigurationP",
+ "mangledName": "$s10Foundation26DecodableWithConfigurationP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "DataProtocol",
+ "printedName": "DataProtocol",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "Regions",
+ "printedName": "Regions",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "CollectionOfOne",
+ "printedName": "Swift.CollectionOfOne<[Swift.UInt8]>",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Array",
+ "printedName": "[Swift.UInt8]",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "UInt8",
+ "printedName": "Swift.UInt8",
+ "usr": "s:s5UInt8V"
+ }
+ ],
+ "usr": "s:Sa"
+ }
+ ],
+ "usr": "s:s15CollectionOfOneV"
+ }
+ ]
+ }
+ ],
+ "usr": "s:10Foundation12DataProtocolP",
+ "mangledName": "$s10Foundation12DataProtocolP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "MutableDataProtocol",
+ "printedName": "MutableDataProtocol",
+ "usr": "s:10Foundation19MutableDataProtocolP",
+ "mangledName": "$s10Foundation19MutableDataProtocolP"
+ }
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "UInt8",
+ "printedName": "UInt8",
+ "declKind": "Struct",
+ "usr": "s:s5UInt8V",
+ "mangledName": "$ss5UInt8V",
+ "moduleName": "Swift",
+ "declAttributes": [
+ "Frozen"
+ ],
+ "isExternal": true,
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "FixedWidthInteger",
+ "printedName": "FixedWidthInteger",
+ "usr": "s:s17FixedWidthIntegerP",
+ "mangledName": "$ss17FixedWidthIntegerP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "UnsignedInteger",
+ "printedName": "UnsignedInteger",
+ "usr": "s:SU",
+ "mangledName": "$sSU"
+ },
+ {
+ "kind": "Conformance",
+ "name": "_ExpressibleByBuiltinIntegerLiteral",
+ "printedName": "_ExpressibleByBuiltinIntegerLiteral",
+ "usr": "s:s35_ExpressibleByBuiltinIntegerLiteralP",
+ "mangledName": "$ss35_ExpressibleByBuiltinIntegerLiteralP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "BinaryInteger",
+ "printedName": "BinaryInteger",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "Words",
+ "printedName": "Words",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Words",
+ "printedName": "Swift.UInt8.Words",
+ "usr": "s:s5UInt8V5WordsV"
+ }
+ ]
+ }
+ ],
+ "usr": "s:Sz",
+ "mangledName": "$sSz"
+ },
+ {
+ "kind": "Conformance",
+ "name": "LosslessStringConvertible",
+ "printedName": "LosslessStringConvertible",
+ "usr": "s:s25LosslessStringConvertibleP",
+ "mangledName": "$ss25LosslessStringConvertibleP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "CustomStringConvertible",
+ "printedName": "CustomStringConvertible",
+ "usr": "s:s23CustomStringConvertibleP",
+ "mangledName": "$ss23CustomStringConvertibleP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Numeric",
+ "printedName": "Numeric",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "Magnitude",
+ "printedName": "Magnitude",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "UInt8",
+ "printedName": "Swift.UInt8",
+ "usr": "s:s5UInt8V"
+ }
+ ]
+ }
+ ],
+ "usr": "s:Sj",
+ "mangledName": "$sSj"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Strideable",
+ "printedName": "Strideable",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "Stride",
+ "printedName": "Stride",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ]
+ }
+ ],
+ "usr": "s:Sx",
+ "mangledName": "$sSx"
+ },
+ {
+ "kind": "Conformance",
+ "name": "AdditiveArithmetic",
+ "printedName": "AdditiveArithmetic",
+ "usr": "s:s18AdditiveArithmeticP",
+ "mangledName": "$ss18AdditiveArithmeticP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "ExpressibleByIntegerLiteral",
+ "printedName": "ExpressibleByIntegerLiteral",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "IntegerLiteralType",
+ "printedName": "IntegerLiteralType",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "UInt8",
+ "printedName": "Swift.UInt8",
+ "usr": "s:s5UInt8V"
+ }
+ ]
+ }
+ ],
+ "usr": "s:s27ExpressibleByIntegerLiteralP",
+ "mangledName": "$ss27ExpressibleByIntegerLiteralP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Comparable",
+ "printedName": "Comparable",
+ "usr": "s:SL",
+ "mangledName": "$sSL"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Decodable",
+ "printedName": "Decodable",
+ "usr": "s:Se",
+ "mangledName": "$sSe"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Encodable",
+ "printedName": "Encodable",
+ "usr": "s:SE",
+ "mangledName": "$sSE"
+ },
+ {
+ "kind": "Conformance",
+ "name": "CustomReflectable",
+ "printedName": "CustomReflectable",
+ "usr": "s:s17CustomReflectableP",
+ "mangledName": "$ss17CustomReflectableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "_CustomPlaygroundQuickLookable",
+ "printedName": "_CustomPlaygroundQuickLookable",
+ "usr": "s:s30_CustomPlaygroundQuickLookableP",
+ "mangledName": "$ss30_CustomPlaygroundQuickLookableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "_StringElement",
+ "printedName": "_StringElement",
+ "usr": "s:s14_StringElementP",
+ "mangledName": "$ss14_StringElementP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "CVarArg",
+ "printedName": "CVarArg",
+ "usr": "s:s7CVarArgP",
+ "mangledName": "$ss7CVarArgP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Hashable",
+ "printedName": "Hashable",
+ "usr": "s:SH",
+ "mangledName": "$sSH"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Equatable",
+ "printedName": "Equatable",
+ "usr": "s:SQ",
+ "mangledName": "$sSQ"
+ },
+ {
+ "kind": "Conformance",
+ "name": "_HasCustomAnyHashableRepresentation",
+ "printedName": "_HasCustomAnyHashableRepresentation",
+ "usr": "s:s35_HasCustomAnyHashableRepresentationP",
+ "mangledName": "$ss35_HasCustomAnyHashableRepresentationP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Sendable",
+ "printedName": "Sendable",
+ "usr": "s:s8SendableP",
+ "mangledName": "$ss8SendableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "SIMDScalar",
+ "printedName": "SIMDScalar",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "SIMDMaskScalar",
+ "printedName": "SIMDMaskScalar",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int8",
+ "printedName": "Swift.Int8",
+ "usr": "s:s4Int8V"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "SIMD2Storage",
+ "printedName": "SIMD2Storage",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "SIMD2Storage",
+ "printedName": "Swift.UInt8.SIMD2Storage",
+ "usr": "s:s5UInt8V12SIMD2StorageV"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "SIMD4Storage",
+ "printedName": "SIMD4Storage",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "SIMD4Storage",
+ "printedName": "Swift.UInt8.SIMD4Storage",
+ "usr": "s:s5UInt8V12SIMD4StorageV"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "SIMD8Storage",
+ "printedName": "SIMD8Storage",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "SIMD8Storage",
+ "printedName": "Swift.UInt8.SIMD8Storage",
+ "usr": "s:s5UInt8V12SIMD8StorageV"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "SIMD16Storage",
+ "printedName": "SIMD16Storage",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "SIMD16Storage",
+ "printedName": "Swift.UInt8.SIMD16Storage",
+ "usr": "s:s5UInt8V13SIMD16StorageV"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "SIMD32Storage",
+ "printedName": "SIMD32Storage",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "SIMD32Storage",
+ "printedName": "Swift.UInt8.SIMD32Storage",
+ "usr": "s:s5UInt8V13SIMD32StorageV"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "SIMD64Storage",
+ "printedName": "SIMD64Storage",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "SIMD64Storage",
+ "printedName": "Swift.UInt8.SIMD64Storage",
+ "usr": "s:s5UInt8V13SIMD64StorageV"
+ }
+ ]
+ }
+ ],
+ "usr": "s:s10SIMDScalarP",
+ "mangledName": "$ss10SIMDScalarP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "BitwiseCopyable",
+ "printedName": "BitwiseCopyable",
+ "usr": "s:s15BitwiseCopyableP",
+ "mangledName": "$ss15BitwiseCopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "_FormatSpecifiable",
+ "printedName": "_FormatSpecifiable",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "_Arg",
+ "printedName": "_Arg",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "UInt32",
+ "printedName": "Swift.UInt32",
+ "usr": "s:s6UInt32V"
+ }
+ ]
+ }
+ ],
+ "usr": "s:10Foundation18_FormatSpecifiableP",
+ "mangledName": "$s10Foundation18_FormatSpecifiableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "_ObjectiveCBridgeable",
+ "printedName": "_ObjectiveCBridgeable",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "_ObjectiveCType",
+ "printedName": "_ObjectiveCType",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "NSNumber",
+ "printedName": "Foundation.NSNumber",
+ "usr": "c:objc(cs)NSNumber"
+ }
+ ]
+ }
+ ],
+ "usr": "s:s21_ObjectiveCBridgeableP",
+ "mangledName": "$ss21_ObjectiveCBridgeableP"
+ }
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "Dictionary",
+ "printedName": "Dictionary",
+ "declKind": "Struct",
+ "usr": "s:SD",
+ "mangledName": "$sSD",
+ "moduleName": "Swift",
+ "genericSig": "<τ_0_0, τ_0_1 where τ_0_0 : Swift.Hashable>",
+ "sugared_genericSig": "<Key, Value where Key : Swift.Hashable>",
+ "declAttributes": [
+ "EagerMove",
+ "Frozen"
+ ],
+ "isExternal": true,
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Equatable",
+ "printedName": "Equatable",
+ "usr": "s:SQ",
+ "mangledName": "$sSQ"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Encodable",
+ "printedName": "Encodable",
+ "usr": "s:SE",
+ "mangledName": "$sSE"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Decodable",
+ "printedName": "Decodable",
+ "usr": "s:Se",
+ "mangledName": "$sSe"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Sequence",
+ "printedName": "Sequence",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "Element",
+ "printedName": "Element",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Tuple",
+ "printedName": "(key: τ_0_0, value: τ_0_1)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "GenericTypeParam",
+ "printedName": "τ_0_0"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "GenericTypeParam",
+ "printedName": "τ_0_1"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "Iterator",
+ "printedName": "Iterator",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Iterator",
+ "printedName": "Swift.Dictionary<τ_0_0, τ_0_1>.Iterator",
+ "usr": "s:SD8IteratorV"
+ }
+ ]
+ }
+ ],
+ "usr": "s:ST",
+ "mangledName": "$sST"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Collection",
+ "printedName": "Collection",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "Element",
+ "printedName": "Element",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Tuple",
+ "printedName": "(key: τ_0_0, value: τ_0_1)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "GenericTypeParam",
+ "printedName": "τ_0_0"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "GenericTypeParam",
+ "printedName": "τ_0_1"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "Index",
+ "printedName": "Index",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Index",
+ "printedName": "Swift.Dictionary<τ_0_0, τ_0_1>.Index",
+ "usr": "s:SD5IndexV"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "Iterator",
+ "printedName": "Iterator",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Iterator",
+ "printedName": "Swift.Dictionary<τ_0_0, τ_0_1>.Iterator",
+ "usr": "s:SD8IteratorV"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "SubSequence",
+ "printedName": "SubSequence",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Slice",
+ "printedName": "Swift.Slice<[τ_0_0 : τ_0_1]>",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Dictionary",
+ "printedName": "[τ_0_0 : τ_0_1]",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "GenericTypeParam",
+ "printedName": "τ_0_0"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "GenericTypeParam",
+ "printedName": "τ_0_1"
+ }
+ ],
+ "usr": "s:SD"
+ }
+ ],
+ "usr": "s:s5SliceV"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "Indices",
+ "printedName": "Indices",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "DefaultIndices",
+ "printedName": "Swift.DefaultIndices<[τ_0_0 : τ_0_1]>",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Dictionary",
+ "printedName": "[τ_0_0 : τ_0_1]",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "GenericTypeParam",
+ "printedName": "τ_0_0"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "GenericTypeParam",
+ "printedName": "τ_0_1"
+ }
+ ],
+ "usr": "s:SD"
+ }
+ ],
+ "usr": "s:SI"
+ }
+ ]
+ }
+ ],
+ "usr": "s:Sl",
+ "mangledName": "$sSl"
+ },
+ {
+ "kind": "Conformance",
+ "name": "ExpressibleByDictionaryLiteral",
+ "printedName": "ExpressibleByDictionaryLiteral",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "Key",
+ "printedName": "Key",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "GenericTypeParam",
+ "printedName": "τ_0_0"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "Value",
+ "printedName": "Value",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "GenericTypeParam",
+ "printedName": "τ_0_1"
+ }
+ ]
+ }
+ ],
+ "usr": "s:s30ExpressibleByDictionaryLiteralP",
+ "mangledName": "$ss30ExpressibleByDictionaryLiteralP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Hashable",
+ "printedName": "Hashable",
+ "usr": "s:SH",
+ "mangledName": "$sSH"
+ },
+ {
+ "kind": "Conformance",
+ "name": "_HasCustomAnyHashableRepresentation",
+ "printedName": "_HasCustomAnyHashableRepresentation",
+ "usr": "s:s35_HasCustomAnyHashableRepresentationP",
+ "mangledName": "$ss35_HasCustomAnyHashableRepresentationP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "CustomStringConvertible",
+ "printedName": "CustomStringConvertible",
+ "usr": "s:s23CustomStringConvertibleP",
+ "mangledName": "$ss23CustomStringConvertibleP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "CustomDebugStringConvertible",
+ "printedName": "CustomDebugStringConvertible",
+ "usr": "s:s28CustomDebugStringConvertibleP",
+ "mangledName": "$ss28CustomDebugStringConvertibleP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "CustomReflectable",
+ "printedName": "CustomReflectable",
+ "usr": "s:s17CustomReflectableP",
+ "mangledName": "$ss17CustomReflectableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Sendable",
+ "printedName": "Sendable",
+ "usr": "s:s8SendableP",
+ "mangledName": "$ss8SendableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "_ObjectiveCBridgeable",
+ "printedName": "_ObjectiveCBridgeable",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "_ObjectiveCType",
+ "printedName": "_ObjectiveCType",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "NSDictionary",
+ "printedName": "Foundation.NSDictionary",
+ "usr": "c:objc(cs)NSDictionary"
+ }
+ ]
+ }
+ ],
+ "usr": "s:s21_ObjectiveCBridgeableP",
+ "mangledName": "$ss21_ObjectiveCBridgeableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "CVarArg",
+ "printedName": "CVarArg",
+ "usr": "s:s7CVarArgP",
+ "mangledName": "$ss7CVarArgP"
+ }
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "UInt32",
+ "printedName": "UInt32",
+ "declKind": "Struct",
+ "usr": "s:s6UInt32V",
+ "mangledName": "$ss6UInt32V",
+ "moduleName": "Swift",
+ "declAttributes": [
+ "Frozen"
+ ],
+ "isExternal": true,
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "FixedWidthInteger",
+ "printedName": "FixedWidthInteger",
+ "usr": "s:s17FixedWidthIntegerP",
+ "mangledName": "$ss17FixedWidthIntegerP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "UnsignedInteger",
+ "printedName": "UnsignedInteger",
+ "usr": "s:SU",
+ "mangledName": "$sSU"
+ },
+ {
+ "kind": "Conformance",
+ "name": "_ExpressibleByBuiltinIntegerLiteral",
+ "printedName": "_ExpressibleByBuiltinIntegerLiteral",
+ "usr": "s:s35_ExpressibleByBuiltinIntegerLiteralP",
+ "mangledName": "$ss35_ExpressibleByBuiltinIntegerLiteralP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "BinaryInteger",
+ "printedName": "BinaryInteger",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "Words",
+ "printedName": "Words",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Words",
+ "printedName": "Swift.UInt32.Words",
+ "usr": "s:s6UInt32V5WordsV"
+ }
+ ]
+ }
+ ],
+ "usr": "s:Sz",
+ "mangledName": "$sSz"
+ },
+ {
+ "kind": "Conformance",
+ "name": "LosslessStringConvertible",
+ "printedName": "LosslessStringConvertible",
+ "usr": "s:s25LosslessStringConvertibleP",
+ "mangledName": "$ss25LosslessStringConvertibleP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "CustomStringConvertible",
+ "printedName": "CustomStringConvertible",
+ "usr": "s:s23CustomStringConvertibleP",
+ "mangledName": "$ss23CustomStringConvertibleP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Numeric",
+ "printedName": "Numeric",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "Magnitude",
+ "printedName": "Magnitude",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "UInt32",
+ "printedName": "Swift.UInt32",
+ "usr": "s:s6UInt32V"
+ }
+ ]
+ }
+ ],
+ "usr": "s:Sj",
+ "mangledName": "$sSj"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Strideable",
+ "printedName": "Strideable",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "Stride",
+ "printedName": "Stride",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ]
+ }
+ ],
+ "usr": "s:Sx",
+ "mangledName": "$sSx"
+ },
+ {
+ "kind": "Conformance",
+ "name": "AdditiveArithmetic",
+ "printedName": "AdditiveArithmetic",
+ "usr": "s:s18AdditiveArithmeticP",
+ "mangledName": "$ss18AdditiveArithmeticP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "ExpressibleByIntegerLiteral",
+ "printedName": "ExpressibleByIntegerLiteral",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "IntegerLiteralType",
+ "printedName": "IntegerLiteralType",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "UInt32",
+ "printedName": "Swift.UInt32",
+ "usr": "s:s6UInt32V"
+ }
+ ]
+ }
+ ],
+ "usr": "s:s27ExpressibleByIntegerLiteralP",
+ "mangledName": "$ss27ExpressibleByIntegerLiteralP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Comparable",
+ "printedName": "Comparable",
+ "usr": "s:SL",
+ "mangledName": "$sSL"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Decodable",
+ "printedName": "Decodable",
+ "usr": "s:Se",
+ "mangledName": "$sSe"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Encodable",
+ "printedName": "Encodable",
+ "usr": "s:SE",
+ "mangledName": "$sSE"
+ },
+ {
+ "kind": "Conformance",
+ "name": "CustomReflectable",
+ "printedName": "CustomReflectable",
+ "usr": "s:s17CustomReflectableP",
+ "mangledName": "$ss17CustomReflectableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "_CustomPlaygroundQuickLookable",
+ "printedName": "_CustomPlaygroundQuickLookable",
+ "usr": "s:s30_CustomPlaygroundQuickLookableP",
+ "mangledName": "$ss30_CustomPlaygroundQuickLookableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "CVarArg",
+ "printedName": "CVarArg",
+ "usr": "s:s7CVarArgP",
+ "mangledName": "$ss7CVarArgP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Hashable",
+ "printedName": "Hashable",
+ "usr": "s:SH",
+ "mangledName": "$sSH"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Equatable",
+ "printedName": "Equatable",
+ "usr": "s:SQ",
+ "mangledName": "$sSQ"
+ },
+ {
+ "kind": "Conformance",
+ "name": "_HasCustomAnyHashableRepresentation",
+ "printedName": "_HasCustomAnyHashableRepresentation",
+ "usr": "s:s35_HasCustomAnyHashableRepresentationP",
+ "mangledName": "$ss35_HasCustomAnyHashableRepresentationP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Sendable",
+ "printedName": "Sendable",
+ "usr": "s:s8SendableP",
+ "mangledName": "$ss8SendableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "SIMDScalar",
+ "printedName": "SIMDScalar",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "SIMDMaskScalar",
+ "printedName": "SIMDMaskScalar",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int32",
+ "printedName": "Swift.Int32",
+ "usr": "s:s5Int32V"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "SIMD2Storage",
+ "printedName": "SIMD2Storage",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "SIMD2Storage",
+ "printedName": "Swift.UInt32.SIMD2Storage",
+ "usr": "s:s6UInt32V12SIMD2StorageV"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "SIMD4Storage",
+ "printedName": "SIMD4Storage",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "SIMD4Storage",
+ "printedName": "Swift.UInt32.SIMD4Storage",
+ "usr": "s:s6UInt32V12SIMD4StorageV"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "SIMD8Storage",
+ "printedName": "SIMD8Storage",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "SIMD8Storage",
+ "printedName": "Swift.UInt32.SIMD8Storage",
+ "usr": "s:s6UInt32V12SIMD8StorageV"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "SIMD16Storage",
+ "printedName": "SIMD16Storage",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "SIMD16Storage",
+ "printedName": "Swift.UInt32.SIMD16Storage",
+ "usr": "s:s6UInt32V13SIMD16StorageV"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "SIMD32Storage",
+ "printedName": "SIMD32Storage",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "SIMD32Storage",
+ "printedName": "Swift.UInt32.SIMD32Storage",
+ "usr": "s:s6UInt32V13SIMD32StorageV"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "SIMD64Storage",
+ "printedName": "SIMD64Storage",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "SIMD64Storage",
+ "printedName": "Swift.UInt32.SIMD64Storage",
+ "usr": "s:s6UInt32V13SIMD64StorageV"
+ }
+ ]
+ }
+ ],
+ "usr": "s:s10SIMDScalarP",
+ "mangledName": "$ss10SIMDScalarP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "BitwiseCopyable",
+ "printedName": "BitwiseCopyable",
+ "usr": "s:s15BitwiseCopyableP",
+ "mangledName": "$ss15BitwiseCopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "_FormatSpecifiable",
+ "printedName": "_FormatSpecifiable",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "_Arg",
+ "printedName": "_Arg",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "UInt32",
+ "printedName": "Swift.UInt32",
+ "usr": "s:s6UInt32V"
+ }
+ ]
+ }
+ ],
+ "usr": "s:10Foundation18_FormatSpecifiableP",
+ "mangledName": "$s10Foundation18_FormatSpecifiableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "_ObjectiveCBridgeable",
+ "printedName": "_ObjectiveCBridgeable",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "_ObjectiveCType",
+ "printedName": "_ObjectiveCType",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "NSNumber",
+ "printedName": "Foundation.NSNumber",
+ "usr": "c:objc(cs)NSNumber"
+ }
+ ]
+ }
+ ],
+ "usr": "s:s21_ObjectiveCBridgeableP",
+ "mangledName": "$ss21_ObjectiveCBridgeableP"
+ }
+ ]
+ }
+ ],
+ "json_format_version": 8
+ },
+ "ConstValues": [
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/BlockMode\/OCB.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2229,
+ "length": 2,
+ "value": "16"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/BlockMode\/OCB.swift",
+ "kind": "IntegerLiteral",
+ "offset": 3742,
+ "length": 2,
+ "value": "16"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/CMAC.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1091,
+ "length": 2,
+ "value": "16"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/CMAC.swift",
+ "kind": "Array",
+ "offset": 1137,
+ "length": 96,
+ "value": "[0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/CMAC.swift",
+ "kind": "Array",
+ "offset": 1274,
+ "length": 96,
+ "value": "[0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x87]"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/MSAuth.swift",
+ "kind": "BooleanLiteral",
+ "offset": 440,
+ "length": 5,
+ "value": "false"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/MSAuth.swift",
+ "kind": "StringLiteral",
+ "offset": 473,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/ASN1\/ASN1Scanner.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1226,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/ASN1\/ASN1.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1498,
+ "length": 4,
+ "value": "0x30"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/ASN1\/ASN1.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1523,
+ "length": 4,
+ "value": "0x02"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/ASN1\/ASN1.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1548,
+ "length": 4,
+ "value": "0x06"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/ASN1\/ASN1.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1569,
+ "length": 4,
+ "value": "0x05"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/ASN1\/ASN1.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1595,
+ "length": 4,
+ "value": "0x03"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/ASN1\/ASN1.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1623,
+ "length": 4,
+ "value": "0x04"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/MSTool.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1650,
+ "length": 2,
+ "value": "16"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/MSTool.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2084,
+ "length": 2,
+ "value": "16"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "IntegerLiteral",
+ "offset": 311,
+ "length": 6,
+ "value": "0x2000"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1970,
+ "length": 3,
+ "value": "0x0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1982,
+ "length": 3,
+ "value": "0x1"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1996,
+ "length": 3,
+ "value": "0x2"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2009,
+ "length": 3,
+ "value": "0x8"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2021,
+ "length": 3,
+ "value": "0x9"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2033,
+ "length": 3,
+ "value": "0xA"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "IntegerLiteral",
+ "offset": 4702,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "IntegerLiteral",
+ "offset": 4777,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "IntegerLiteral",
+ "offset": 4851,
+ "length": 1,
+ "value": "2"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "IntegerLiteral",
+ "offset": 4927,
+ "length": 1,
+ "value": "3"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "IntegerLiteral",
+ "offset": 5431,
+ "length": 2,
+ "value": "15"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "BooleanLiteral",
+ "offset": 5693,
+ "length": 5,
+ "value": "false"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "BooleanLiteral",
+ "offset": 5764,
+ "length": 5,
+ "value": "false"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "IntegerLiteral",
+ "offset": 6054,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "StringLiteral",
+ "offset": 6941,
+ "length": 20,
+ "value": "\"streamStatus.atEnd\""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "StringLiteral",
+ "offset": 6991,
+ "length": 60,
+ "value": "\"The operation couldn’t be completed. Operation timed out\""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "IntegerLiteral",
+ "offset": 7099,
+ "length": 2,
+ "value": "30"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "StringLiteral",
+ "offset": 8663,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "IntegerLiteral",
+ "offset": 8691,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "IntegerLiteral",
+ "offset": 8746,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "IntegerLiteral",
+ "offset": 8815,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "IntegerLiteral",
+ "offset": 8863,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "BooleanLiteral",
+ "offset": 11798,
+ "length": 5,
+ "value": "false"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "IntegerLiteral",
+ "offset": 11913,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "BooleanLiteral",
+ "offset": 11935,
+ "length": 4,
+ "value": "true"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "IntegerLiteral",
+ "offset": 14299,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "IntegerLiteral",
+ "offset": 14336,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "IntegerLiteral",
+ "offset": 14428,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "IntegerLiteral",
+ "offset": 14466,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "IntegerLiteral",
+ "offset": 14690,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "IntegerLiteral",
+ "offset": 14724,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "IntegerLiteral",
+ "offset": 14761,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "IntegerLiteral",
+ "offset": 14812,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "Array",
+ "offset": 14900,
+ "length": 24,
+ "value": "[0x00, 0x00, 0xFF, 0xFF]"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "IntegerLiteral",
+ "offset": 16974,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "IntegerLiteral",
+ "offset": 16995,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "Array",
+ "offset": 19373,
+ "length": 2,
+ "value": "[]"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "IntegerLiteral",
+ "offset": 19545,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "IntegerLiteral",
+ "offset": 19580,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "IntegerLiteral",
+ "offset": 19616,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "IntegerLiteral",
+ "offset": 19699,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "IntegerLiteral",
+ "offset": 19733,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "IntegerLiteral",
+ "offset": 19768,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "BooleanLiteral",
+ "offset": 19845,
+ "length": 5,
+ "value": "false"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "StringLiteral",
+ "offset": 19961,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "BooleanLiteral",
+ "offset": 20040,
+ "length": 5,
+ "value": "false"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "IntegerLiteral",
+ "offset": 20311,
+ "length": 2,
+ "value": "-1"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "Array",
+ "offset": 22227,
+ "length": 2,
+ "value": "[]"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "Array",
+ "offset": 22778,
+ "length": 2,
+ "value": "[]"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "BooleanLiteral",
+ "offset": 22796,
+ "length": 5,
+ "value": "false"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "IntegerLiteral",
+ "offset": 23356,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "IntegerLiteral",
+ "offset": 23515,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "IntegerLiteral",
+ "offset": 24870,
+ "length": 12,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "IntegerLiteral",
+ "offset": 24896,
+ "length": 12,
+ "value": "2"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "IntegerLiteral",
+ "offset": 24922,
+ "length": 9,
+ "value": "3"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "IntegerLiteral",
+ "offset": 24945,
+ "length": 3,
+ "value": "4"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "BooleanLiteral",
+ "offset": 25055,
+ "length": 5,
+ "value": "false"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "IntegerLiteral",
+ "offset": 25088,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "StringLiteral",
+ "offset": 25113,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "BooleanLiteral",
+ "offset": 25137,
+ "length": 5,
+ "value": "false"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "BooleanLiteral",
+ "offset": 25164,
+ "length": 5,
+ "value": "false"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "BooleanLiteral",
+ "offset": 25213,
+ "length": 5,
+ "value": "false"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "BooleanLiteral",
+ "offset": 25234,
+ "length": 4,
+ "value": "true"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "BooleanLiteral",
+ "offset": 25404,
+ "length": 5,
+ "value": "false"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "BooleanLiteral",
+ "offset": 29321,
+ "length": 4,
+ "value": "true"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "BooleanLiteral",
+ "offset": 29443,
+ "length": 4,
+ "value": "true"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "IntegerLiteral",
+ "offset": 30013,
+ "length": 4,
+ "value": "1006"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "StringLiteral",
+ "offset": 30027,
+ "length": 18,
+ "value": "\"Abnormal Closure\""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "BooleanLiteral",
+ "offset": 30083,
+ "length": 4,
+ "value": "true"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "IntegerLiteral",
+ "offset": 30248,
+ "length": 4,
+ "value": "1002"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "StringLiteral",
+ "offset": 30262,
+ "length": 16,
+ "value": "\"Protocol error\""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "IntegerLiteral",
+ "offset": 30368,
+ "length": 4,
+ "value": "1007"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "StringLiteral",
+ "offset": 30382,
+ "length": 15,
+ "value": "\"Payload error\""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "IntegerLiteral",
+ "offset": 30576,
+ "length": 4,
+ "value": "1006"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "StringLiteral",
+ "offset": 30590,
+ "length": 18,
+ "value": "\"Abnormal Closure\""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "IntegerLiteral",
+ "offset": 30710,
+ "length": 4,
+ "value": "1007"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "IntegerLiteral",
+ "offset": 30994,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "BooleanLiteral",
+ "offset": 34087,
+ "length": 5,
+ "value": "false"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "BooleanLiteral",
+ "offset": 34153,
+ "length": 5,
+ "value": "false"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "BooleanLiteral",
+ "offset": 46725,
+ "length": 5,
+ "value": "false"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "IntegerLiteral",
+ "offset": 46759,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "BooleanLiteral",
+ "offset": 46788,
+ "length": 5,
+ "value": "false"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "IntegerLiteral",
+ "offset": 46817,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "BooleanLiteral",
+ "offset": 46842,
+ "length": 5,
+ "value": "false"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "IntegerLiteral",
+ "offset": 47039,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "IntegerLiteral",
+ "offset": 47071,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "IntegerLiteral",
+ "offset": 47109,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "IntegerLiteral",
+ "offset": 53322,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "IntegerLiteral",
+ "offset": 53332,
+ "length": 4,
+ "value": "0xFF"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "IntegerLiteral",
+ "offset": 55966,
+ "length": 4,
+ "value": "1000"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "StringLiteral",
+ "offset": 55990,
+ "length": 16,
+ "value": "\"Normal Closure\""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "StringLiteral",
+ "offset": 58312,
+ "length": 24,
+ "value": "\"SwiftWebSocketInstance\""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "Array",
+ "offset": 58350,
+ "length": 2,
+ "value": "[]"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "IntegerLiteral",
+ "offset": 58502,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "Array",
+ "offset": 62671,
+ "length": 2,
+ "value": "[]"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "Array",
+ "offset": 66458,
+ "length": 2,
+ "value": "[]"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "IntegerLiteral",
+ "offset": 67397,
+ "length": 4,
+ "value": "1000"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/SwiftWebSocket.swift",
+ "kind": "StringLiteral",
+ "offset": 67421,
+ "length": 16,
+ "value": "\"Normal Closure\""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/Poly1305.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1418,
+ "length": 2,
+ "value": "16"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/String+Extension.swift",
+ "kind": "BooleanLiteral",
+ "offset": 1771,
+ "length": 4,
+ "value": "true"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/String+Extension.swift",
+ "kind": "BooleanLiteral",
+ "offset": 1930,
+ "length": 4,
+ "value": "true"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/Blowfish.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1364,
+ "length": 1,
+ "value": "8"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/Blowfish.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1584,
+ "length": 2,
+ "value": "16"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/Blowfish.swift",
+ "kind": "Array",
+ "offset": 1703,
+ "length": 236,
+ "value": "[0x243f6a88, 0x85a308d3, 0x13198a2e, 0x03707344, 0xa4093822, 0x299f31d0, 0x082efa98, 0xec4e6c89, 0x452821e6, 0x38d01377, 0xbe5466cf, 0x34e90c6c, 0xc0ac29b7, 0xc97c50dd, 0x3f84d5b5, 0xb5470917, 0x9216d5d9, 0x8979fb1b]"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/Blowfish.swift",
+ "kind": "Array",
+ "offset": 1985,
+ "length": 13876,
+ "value": "[[0xd1310ba6, 0x98dfb5ac, 0x2ffd72db, 0xd01adfb7, 0xb8e1afed, 0x6a267e96, 0xba7c9045, 0xf12c7f99, 0x24a19947, 0xb3916cf7, 0x0801f2e2, 0x858efc16, 0x636920d8, 0x71574e69, 0xa458fea3, 0xf4933d7e, 0x0d95748f, 0x728eb658, 0x718bcd58, 0x82154aee, 0x7b54a41d, 0xc25a59b5, 0x9c30d539, 0x2af26013, 0xc5d1b023, 0x286085f0, 0xca417918, 0xb8db38ef, 0x8e79dcb0, 0x603a180e, 0x6c9e0e8b, 0xb01e8a3e, 0xd71577c1, 0xbd314b27, 0x78af2fda, 0x55605c60, 0xe65525f3, 0xaa55ab94, 0x57489862, 0x63e81440, 0x55ca396a, 0x2aab10b6, 0xb4cc5c34, 0x1141e8ce, 0xa15486af, 0x7c72e993, 0xb3ee1411, 0x636fbc2a, 0x2ba9c55d, 0x741831f6, 0xce5c3e16, 0x9b87931e, 0xafd6ba33, 0x6c24cf5c, 0x7a325381, 0x28958677, 0x3b8f4898, 0x6b4bb9af, 0xc4bfe81b, 0x66282193, 0x61d809cc, 0xfb21a991, 0x487cac60, 0x5dec8032, 0xef845d5d, 0xe98575b1, 0xdc262302, 0xeb651b88, 0x23893e81, 0xd396acc5, 0x0f6d6ff3, 0x83f44239, 0x2e0b4482, 0xa4842004, 0x69c8f04a, 0x9e1f9b5e, 0x21c66842, 0xf6e96c9a, 0x670c9c61, 0xabd388f0, 0x6a51a0d2, 0xd8542f68, 0x960fa728, 0xab5133a3, 0x6eef0b6c, 0x137a3be4, 0xba3bf050, 0x7efb2a98, 0xa1f1651d, 0x39af0176, 0x66ca593e, 0x82430e88, 0x8cee8619, 0x456f9fb4, 0x7d84a5c3, 0x3b8b5ebe, 0xe06f75d8, 0x85c12073, 0x401a449f, 0x56c16aa6, 0x4ed3aa62, 0x363f7706, 0x1bfedf72, 0x429b023d, 0x37d0d724, 0xd00a1248, 0xdb0fead3, 0x49f1c09b, 0x075372c9, 0x80991b7b, 0x25d479d8, 0xf6e8def7, 0xe3fe501a, 0xb6794c3b, 0x976ce0bd, 0x04c006ba, 0xc1a94fb6, 0x409f60c4, 0x5e5c9ec2, 0x196a2463, 0x68fb6faf, 0x3e6c53b5, 0x1339b2eb, 0x3b52ec6f, 0x6dfc511f, 0x9b30952c, 0xcc814544, 0xaf5ebd09, 0xbee3d004, 0xde334afd, 0x660f2807, 0x192e4bb3, 0xc0cba857, 0x45c8740f, 0xd20b5f39, 0xb9d3fbdb, 0x5579c0bd, 0x1a60320a, 0xd6a100c6, 0x402c7279, 0x679f25fe, 0xfb1fa3cc, 0x8ea5e9f8, 0xdb3222f8, 0x3c7516df, 0xfd616b15, 0x2f501ec8, 0xad0552ab, 0x323db5fa, 0xfd238760, 0x53317b48, 0x3e00df82, 0x9e5c57bb, 0xca6f8ca0, 0x1a87562e, 0xdf1769db, 0xd542a8f6, 0x287effc3, 0xac6732c6, 0x8c4f5573, 0x695b27b0, 0xbbca58c8, 0xe1ffa35d, 0xb8f011a0, 0x10fa3d98, 0xfd2183b8, 0x4afcb56c, 0x2dd1d35b, 0x9a53e479, 0xb6f84565, 0xd28e49bc, 0x4bfb9790, 0xe1ddf2da, 0xa4cb7e33, 0x62fb1341, 0xcee4c6e8, 0xef20cada, 0x36774c01, 0xd07e9efe, 0x2bf11fb4, 0x95dbda4d, 0xae909198, 0xeaad8e71, 0x6b93d5a0, 0xd08ed1d0, 0xafc725e0, 0x8e3c5b2f, 0x8e7594b7, 0x8ff6e2fb, 0xf2122b64, 0x8888b812, 0x900df01c, 0x4fad5ea0, 0x688fc31c, 0xd1cff191, 0xb3a8c1ad, 0x2f2f2218, 0xbe0e1777, 0xea752dfe, 0x8b021fa1, 0xe5a0cc0f, 0xb56f74e8, 0x18acf3d6, 0xce89e299, 0xb4a84fe0, 0xfd13e0b7, 0x7cc43b81, 0xd2ada8d9, 0x165fa266, 0x80957705, 0x93cc7314, 0x211a1477, 0xe6ad2065, 0x77b5fa86, 0xc75442f5, 0xfb9d35cf, 0xebcdaf0c, 0x7b3e89a0, 0xd6411bd3, 0xae1e7e49, 0x00250e2d, 0x2071b35e, 0x226800bb, 0x57b8e0af, 0x2464369b, 0xf009b91e, 0x5563911d, 0x59dfa6aa, 0x78c14389, 0xd95a537f, 0x207d5ba2, 0x02e5b9c5, 0x83260376, 0x6295cfa9, 0x11c81968, 0x4e734a41, 0xb3472dca, 0x7b14a94a, 0x1b510052, 0x9a532915, 0xd60f573f, 0xbc9bc6e4, 0x2b60a476, 0x81e67400, 0x08ba6fb5, 0x571be91f, 0xf296ec6b, 0x2a0dd915, 0xb6636521, 0xe7b9f9b6, 0xff34052e, 0xc5855664, 0x53b02d5d, 0xa99f8fa1, 0x08ba4799, 0x6e85076a], [0x4b7a70e9, 0xb5b32944, 0xdb75092e, 0xc4192623, 0xad6ea6b0, 0x49a7df7d, 0x9cee60b8, 0x8fedb266, 0xecaa8c71, 0x699a17ff, 0x5664526c, 0xc2b19ee1, 0x193602a5, 0x75094c29, 0xa0591340, 0xe4183a3e, 0x3f54989a, 0x5b429d65, 0x6b8fe4d6, 0x99f73fd6, 0xa1d29c07, 0xefe830f5, 0x4d2d38e6, 0xf0255dc1, 0x4cdd2086, 0x8470eb26, 0x6382e9c6, 0x021ecc5e, 0x09686b3f, 0x3ebaefc9, 0x3c971814, 0x6b6a70a1, 0x687f3584, 0x52a0e286, 0xb79c5305, 0xaa500737, 0x3e07841c, 0x7fdeae5c, 0x8e7d44ec, 0x5716f2b8, 0xb03ada37, 0xf0500c0d, 0xf01c1f04, 0x0200b3ff, 0xae0cf51a, 0x3cb574b2, 0x25837a58, 0xdc0921bd, 0xd19113f9, 0x7ca92ff6, 0x94324773, 0x22f54701, 0x3ae5e581, 0x37c2dadc, 0xc8b57634, 0x9af3dda7, 0xa9446146, 0x0fd0030e, 0xecc8c73e, 0xa4751e41, 0xe238cd99, 0x3bea0e2f, 0x3280bba1, 0x183eb331, 0x4e548b38, 0x4f6db908, 0x6f420d03, 0xf60a04bf, 0x2cb81290, 0x24977c79, 0x5679b072, 0xbcaf89af, 0xde9a771f, 0xd9930810, 0xb38bae12, 0xdccf3f2e, 0x5512721f, 0x2e6b7124, 0x501adde6, 0x9f84cd87, 0x7a584718, 0x7408da17, 0xbc9f9abc, 0xe94b7d8c, 0xec7aec3a, 0xdb851dfa, 0x63094366, 0xc464c3d2, 0xef1c1847, 0x3215d908, 0xdd433b37, 0x24c2ba16, 0x12a14d43, 0x2a65c451, 0x50940002, 0x133ae4dd, 0x71dff89e, 0x10314e55, 0x81ac77d6, 0x5f11199b, 0x043556f1, 0xd7a3c76b, 0x3c11183b, 0x5924a509, 0xf28fe6ed, 0x97f1fbfa, 0x9ebabf2c, 0x1e153c6e, 0x86e34570, 0xeae96fb1, 0x860e5e0a, 0x5a3e2ab3, 0x771fe71c, 0x4e3d06fa, 0x2965dcb9, 0x99e71d0f, 0x803e89d6, 0x5266c825, 0x2e4cc978, 0x9c10b36a, 0xc6150eba, 0x94e2ea78, 0xa5fc3c53, 0x1e0a2df4, 0xf2f74ea7, 0x361d2b3d, 0x1939260f, 0x19c27960, 0x5223a708, 0xf71312b6, 0xebadfe6e, 0xeac31f66, 0xe3bc4595, 0xa67bc883, 0xb17f37d1, 0x018cff28, 0xc332ddef, 0xbe6c5aa5, 0x65582185, 0x68ab9802, 0xeecea50f, 0xdb2f953b, 0x2aef7dad, 0x5b6e2f84, 0x1521b628, 0x29076170, 0xecdd4775, 0x619f1510, 0x13cca830, 0xeb61bd96, 0x0334fe1e, 0xaa0363cf, 0xb5735c90, 0x4c70a239, 0xd59e9e0b, 0xcbaade14, 0xeecc86bc, 0x60622ca7, 0x9cab5cab, 0xb2f3846e, 0x648b1eaf, 0x19bdf0ca, 0xa02369b9, 0x655abb50, 0x40685a32, 0x3c2ab4b3, 0x319ee9d5, 0xc021b8f7, 0x9b540b19, 0x875fa099, 0x95f7997e, 0x623d7da8, 0xf837889a, 0x97e32d77, 0x11ed935f, 0x16681281, 0x0e358829, 0xc7e61fd6, 0x96dedfa1, 0x7858ba99, 0x57f584a5, 0x1b227263, 0x9b83c3ff, 0x1ac24696, 0xcdb30aeb, 0x532e3054, 0x8fd948e4, 0x6dbc3128, 0x58ebf2ef, 0x34c6ffea, 0xfe28ed61, 0xee7c3c73, 0x5d4a14d9, 0xe864b7e3, 0x42105d14, 0x203e13e0, 0x45eee2b6, 0xa3aaabea, 0xdb6c4f15, 0xfacb4fd0, 0xc742f442, 0xef6abbb5, 0x654f3b1d, 0x41cd2105, 0xd81e799e, 0x86854dc7, 0xe44b476a, 0x3d816250, 0xcf62a1f2, 0x5b8d2646, 0xfc8883a0, 0xc1c7b6a3, 0x7f1524c3, 0x69cb7492, 0x47848a0b, 0x5692b285, 0x095bbf00, 0xad19489d, 0x1462b174, 0x23820e00, 0x58428d2a, 0x0c55f5ea, 0x1dadf43e, 0x233f7061, 0x3372f092, 0x8d937e41, 0xd65fecf1, 0x6c223bdb, 0x7cde3759, 0xcbee7460, 0x4085f2a7, 0xce77326e, 0xa6078084, 0x19f8509e, 0xe8efd855, 0x61d99735, 0xa969a7aa, 0xc50c06c2, 0x5a04abfc, 0x800bcadc, 0x9e447a2e, 0xc3453484, 0xfdd56705, 0x0e1e9ec9, 0xdb73dbd3, 0x105588cd, 0x675fda79, 0xe3674340, 0xc5c43465, 0x713e38d8, 0x3d28f89e, 0xf16dff20, 0x153e21e7, 0x8fb03d4a, 0xe6e39f2b, 0xdb83adf7], [0xe93d5a68, 0x948140f7, 0xf64c261c, 0x94692934, 0x411520f7, 0x7602d4f7, 0xbcf46b2e, 0xd4a20068, 0xd4082471, 0x3320f46a, 0x43b7d4b7, 0x500061af, 0x1e39f62e, 0x97244546, 0x14214f74, 0xbf8b8840, 0x4d95fc1d, 0x96b591af, 0x70f4ddd3, 0x66a02f45, 0xbfbc09ec, 0x03bd9785, 0x7fac6dd0, 0x31cb8504, 0x96eb27b3, 0x55fd3941, 0xda2547e6, 0xabca0a9a, 0x28507825, 0x530429f4, 0x0a2c86da, 0xe9b66dfb, 0x68dc1462, 0xd7486900, 0x680ec0a4, 0x27a18dee, 0x4f3ffea2, 0xe887ad8c, 0xb58ce006, 0x7af4d6b6, 0xaace1e7c, 0xd3375fec, 0xce78a399, 0x406b2a42, 0x20fe9e35, 0xd9f385b9, 0xee39d7ab, 0x3b124e8b, 0x1dc9faf7, 0x4b6d1856, 0x26a36631, 0xeae397b2, 0x3a6efa74, 0xdd5b4332, 0x6841e7f7, 0xca7820fb, 0xfb0af54e, 0xd8feb397, 0x454056ac, 0xba489527, 0x55533a3a, 0x20838d87, 0xfe6ba9b7, 0xd096954b, 0x55a867bc, 0xa1159a58, 0xcca92963, 0x99e1db33, 0xa62a4a56, 0x3f3125f9, 0x5ef47e1c, 0x9029317c, 0xfdf8e802, 0x04272f70, 0x80bb155c, 0x05282ce3, 0x95c11548, 0xe4c66d22, 0x48c1133f, 0xc70f86dc, 0x07f9c9ee, 0x41041f0f, 0x404779a4, 0x5d886e17, 0x325f51eb, 0xd59bc0d1, 0xf2bcc18f, 0x41113564, 0x257b7834, 0x602a9c60, 0xdff8e8a3, 0x1f636c1b, 0x0e12b4c2, 0x02e1329e, 0xaf664fd1, 0xcad18115, 0x6b2395e0, 0x333e92e1, 0x3b240b62, 0xeebeb922, 0x85b2a20e, 0xe6ba0d99, 0xde720c8c, 0x2da2f728, 0xd0127845, 0x95b794fd, 0x647d0862, 0xe7ccf5f0, 0x5449a36f, 0x877d48fa, 0xc39dfd27, 0xf33e8d1e, 0x0a476341, 0x992eff74, 0x3a6f6eab, 0xf4f8fd37, 0xa812dc60, 0xa1ebddf8, 0x991be14c, 0xdb6e6b0d, 0xc67b5510, 0x6d672c37, 0x2765d43b, 0xdcd0e804, 0xf1290dc7, 0xcc00ffa3, 0xb5390f92, 0x690fed0b, 0x667b9ffb, 0xcedb7d9c, 0xa091cf0b, 0xd9155ea3, 0xbb132f88, 0x515bad24, 0x7b9479bf, 0x763bd6eb, 0x37392eb3, 0xcc115979, 0x8026e297, 0xf42e312d, 0x6842ada7, 0xc66a2b3b, 0x12754ccc, 0x782ef11c, 0x6a124237, 0xb79251e7, 0x06a1bbe6, 0x4bfb6350, 0x1a6b1018, 0x11caedfa, 0x3d25bdd8, 0xe2e1c3c9, 0x44421659, 0x0a121386, 0xd90cec6e, 0xd5abea2a, 0x64af674e, 0xda86a85f, 0xbebfe988, 0x64e4c3fe, 0x9dbc8057, 0xf0f7c086, 0x60787bf8, 0x6003604d, 0xd1fd8346, 0xf6381fb0, 0x7745ae04, 0xd736fccc, 0x83426b33, 0xf01eab71, 0xb0804187, 0x3c005e5f, 0x77a057be, 0xbde8ae24, 0x55464299, 0xbf582e61, 0x4e58f48f, 0xf2ddfda2, 0xf474ef38, 0x8789bdc2, 0x5366f9c3, 0xc8b38e74, 0xb475f255, 0x46fcd9b9, 0x7aeb2661, 0x8b1ddf84, 0x846a0e79, 0x915f95e2, 0x466e598e, 0x20b45770, 0x8cd55591, 0xc902de4c, 0xb90bace1, 0xbb8205d0, 0x11a86248, 0x7574a99e, 0xb77f19b6, 0xe0a9dc09, 0x662d09a1, 0xc4324633, 0xe85a1f02, 0x09f0be8c, 0x4a99a025, 0x1d6efe10, 0x1ab93d1d, 0x0ba5a4df, 0xa186f20f, 0x2868f169, 0xdcb7da83, 0x573906fe, 0xa1e2ce9b, 0x4fcd7f52, 0x50115e01, 0xa70683fa, 0xa002b5c4, 0x0de6d027, 0x9af88c27, 0x773f8641, 0xc3604c06, 0x61a806b5, 0xf0177a28, 0xc0f586e0, 0x006058aa, 0x30dc7d62, 0x11e69ed7, 0x2338ea63, 0x53c2dd94, 0xc2c21634, 0xbbcbee56, 0x90bcb6de, 0xebfc7da1, 0xce591d76, 0x6f05e409, 0x4b7c0188, 0x39720a3d, 0x7c927c24, 0x86e3725f, 0x724d9db9, 0x1ac15bb4, 0xd39eb8fc, 0xed545578, 0x08fca5b5, 0xd83d7cd3, 0x4dad0fc4, 0x1e50ef5e, 0xb161e6f8, 0xa28514d9, 0x6c51133c, 0x6fd5c7e7, 0x56e14ec4, 0x362abfce, 0xddc6c837, 0xd79a3234, 0x92638212, 0x670efa8e, 0x406000e0], [0x3a39ce37, 0xd3faf5cf, 0xabc27737, 0x5ac52d1b, 0x5cb0679e, 0x4fa33742, 0xd3822740, 0x99bc9bbe, 0xd5118e9d, 0xbf0f7315, 0xd62d1c7e, 0xc700c47b, 0xb78c1b6b, 0x21a19045, 0xb26eb1be, 0x6a366eb4, 0x5748ab2f, 0xbc946e79, 0xc6a376d2, 0x6549c2c8, 0x530ff8ee, 0x468dde7d, 0xd5730a1d, 0x4cd04dc6, 0x2939bbdb, 0xa9ba4650, 0xac9526e8, 0xbe5ee304, 0xa1fad5f0, 0x6a2d519a, 0x63ef8ce2, 0x9a86ee22, 0xc089c2b8, 0x43242ef6, 0xa51e03aa, 0x9cf2d0a4, 0x83c061ba, 0x9be96a4d, 0x8fe51550, 0xba645bd6, 0x2826a2f9, 0xa73a3ae1, 0x4ba99586, 0xef5562e9, 0xc72fefd3, 0xf752f7da, 0x3f046f69, 0x77fa0a59, 0x80e4a915, 0x87b08601, 0x9b09e6ad, 0x3b3ee593, 0xe990fd5a, 0x9e34d797, 0x2cf0b7d9, 0x022b8b51, 0x96d5ac3a, 0x017da67d, 0xd1cf3ed6, 0x7c7d2d28, 0x1f9f25cf, 0xadf2b89b, 0x5ad6b472, 0x5a88f54c, 0xe029ac71, 0xe019a5e6, 0x47b0acfd, 0xed93fa9b, 0xe8d3c48d, 0x283b57cc, 0xf8d56629, 0x79132e28, 0x785f0191, 0xed756055, 0xf7960e44, 0xe3d35e8c, 0x15056dd4, 0x88f46dba, 0x03a16125, 0x0564f0bd, 0xc3eb9e15, 0x3c9057a2, 0x97271aec, 0xa93a072a, 0x1b3f6d9b, 0x1e6321f5, 0xf59c66fb, 0x26dcf319, 0x7533d928, 0xb155fdf5, 0x03563482, 0x8aba3cbb, 0x28517711, 0xc20ad9f8, 0xabcc5167, 0xccad925f, 0x4de81751, 0x3830dc8e, 0x379d5862, 0x9320f991, 0xea7a90c2, 0xfb3e7bce, 0x5121ce64, 0x774fbe32, 0xa8b6e37e, 0xc3293d46, 0x48de5369, 0x6413e680, 0xa2ae0810, 0xdd6db224, 0x69852dfd, 0x09072166, 0xb39a460a, 0x6445c0dd, 0x586cdecf, 0x1c20c8ae, 0x5bbef7dd, 0x1b588d40, 0xccd2017f, 0x6bb4e3bb, 0xdda26a7e, 0x3a59ff45, 0x3e350a44, 0xbcb4cdd5, 0x72eacea8, 0xfa6484bb, 0x8d6612ae, 0xbf3c6f47, 0xd29be463, 0x542f5d9e, 0xaec2771b, 0xf64e6370, 0x740e0d8d, 0xe75b1357, 0xf8721671, 0xaf537d5d, 0x4040cb08, 0x4eb4e2cc, 0x34d2466a, 0x0115af84, 0xe1b00428, 0x95983a1d, 0x06b89fb4, 0xce6ea048, 0x6f3f3b82, 0x3520ab82, 0x011a1d4b, 0x277227f8, 0x611560b1, 0xe7933fdc, 0xbb3a792b, 0x344525bd, 0xa08839e1, 0x51ce794b, 0x2f32c9b7, 0xa01fbac9, 0xe01cc87e, 0xbcc7d1f6, 0xcf0111c3, 0xa1e8aac7, 0x1a908749, 0xd44fbd9a, 0xd0dadecb, 0xd50ada38, 0x0339c32a, 0xc6913667, 0x8df9317c, 0xe0b12b4f, 0xf79e59b7, 0x43f5bb3a, 0xf2d519ff, 0x27d9459c, 0xbf97222c, 0x15e6fc2a, 0x0f91fc71, 0x9b941525, 0xfae59361, 0xceb69ceb, 0xc2a86459, 0x12baa8d1, 0xb6c1075e, 0xe3056a0c, 0x10d25065, 0xcb03a442, 0xe0ec6e0e, 0x1698db3b, 0x4c98a0be, 0x3278e964, 0x9f1f9532, 0xe0d392df, 0xd3a0342b, 0x8971f21e, 0x1b0a7441, 0x4ba3348c, 0xc5be7120, 0xc37632d8, 0xdf359f8d, 0x9b992f2e, 0xe60b6f47, 0x0fe3f11d, 0xe54cda54, 0x1edad891, 0xce6279cf, 0xcd3e7e6f, 0x1618b166, 0xfd2c1d05, 0x848fd2c5, 0xf6fb2299, 0xf523f357, 0xa6327623, 0x93a83531, 0x56cccd02, 0xacf08162, 0x5a75ebb5, 0x6e163697, 0x88d273cc, 0xde966292, 0x81b949d0, 0x4c50901b, 0x71c65614, 0xe6c6c7bd, 0x327a140a, 0x45e1d006, 0xc3f27b9a, 0xc9aa53fd, 0x62a80f00, 0xbb25bfe2, 0x35bdd2f6, 0x71126905, 0xb2040222, 0xb6cbcf7c, 0xcd769c2b, 0x53113ec0, 0x1640e3d3, 0x38abbd60, 0x2547adf0, 0xba38209c, 0xf746ce76, 0x77afa1c5, 0x20756060, 0x85cbfe4e, 0x8ae88dd8, 0x7aaaf9b0, 0x4cf9aa7e, 0x1948c25c, 0x02fb8a8c, 0x01c36ae4, 0xd6ebe1f9, 0x90d4f869, 0xa65cdea0, 0x3f09252d, 0xc208e69f, 0xb74e6132, 0xce77e25b, 0x578fdfe3, 0x3ac372e6]]"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/Blowfish.swift",
+ "kind": "IntegerLiteral",
+ "offset": 15953,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/MD5.swift",
+ "kind": "IntegerLiteral",
+ "offset": 985,
+ "length": 2,
+ "value": "64"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/MD5.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1021,
+ "length": 2,
+ "value": "16"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/MD5.swift",
+ "kind": "Array",
+ "offset": 1094,
+ "length": 48,
+ "value": "[0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476]"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/MD5.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1241,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/MD5.swift",
+ "kind": "Array",
+ "offset": 1396,
+ "length": 256,
+ "value": "[7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22, 5, 9, 14, 20, 5, 9, 14, 20, 5, 9, 14, 20, 5, 9, 14, 20, 4, 11, 16, 23, 4, 11, 16, 23, 4, 11, 16, 23, 4, 11, 16, 23, 6, 10, 15, 21, 6, 10, 15, 21, 6, 10, 15, 21, 6, 10, 15, 21]"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/MD5.swift",
+ "kind": "Array",
+ "offset": 1751,
+ "length": 834,
+ "value": "[0xd76aa478, 0xe8c7b756, 0x242070db, 0xc1bdceee, 0xf57c0faf, 0x4787c62a, 0xa8304613, 0xfd469501, 0x698098d8, 0x8b44f7af, 0xffff5bb1, 0x895cd7be, 0x6b901122, 0xfd987193, 0xa679438e, 0x49b40821, 0xf61e2562, 0xc040b340, 0x265e5a51, 0xe9b6c7aa, 0xd62f105d, 0x2441453, 0xd8a1e681, 0xe7d3fbc8, 0x21e1cde6, 0xc33707d6, 0xf4d50d87, 0x455a14ed, 0xa9e3e905, 0xfcefa3f8, 0x676f02d9, 0x8d2a4c8a, 0xfffa3942, 0x8771f681, 0x6d9d6122, 0xfde5380c, 0xa4beea44, 0x4bdecfa9, 0xf6bb4b60, 0xbebfbc70, 0x289b7ec6, 0xeaa127fa, 0xd4ef3085, 0x4881d05, 0xd9d4d039, 0xe6db99e5, 0x1fa27cf8, 0xc4ac5665, 0xf4292244, 0x432aff97, 0xab9423a7, 0xfc93a039, 0x655b59c3, 0x8f0ccc92, 0xffeff47d, 0x85845dd1, 0x6fa87e4f, 0xfe2ce6e0, 0xa3014314, 0x4e0811a1, 0xf7537e82, 0xbd3af235, 0x2ad7d2bb, 0xeb86d391]"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/MD5.swift",
+ "kind": "BooleanLiteral",
+ "offset": 4564,
+ "length": 5,
+ "value": "false"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/Logger.swift",
+ "kind": "BooleanLiteral",
+ "offset": 148,
+ "length": 5,
+ "value": "false"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/Logger.swift",
+ "kind": "Array",
+ "offset": 502,
+ "length": 2,
+ "value": "[]"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/Logger.swift",
+ "kind": "StringLiteral",
+ "offset": 1274,
+ "length": 3,
+ "value": "\" \""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/Logger.swift",
+ "kind": "StringLiteral",
+ "offset": 1300,
+ "length": 4,
+ "value": "\"\n\""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/SHA2.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1325,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/SHA2.swift",
+ "kind": "BooleanLiteral",
+ "offset": 10632,
+ "length": 5,
+ "value": "false"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/MSTtsModel.swift",
+ "kind": "StringLiteral",
+ "offset": 545,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/MSTtsModel.swift",
+ "kind": "StringLiteral",
+ "offset": 592,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/MSTtsModel.swift",
+ "kind": "IntegerLiteral",
+ "offset": 641,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/MSTtsModel.swift",
+ "kind": "StringLiteral",
+ "offset": 692,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/Foundation\/Array+Foundation.swift",
+ "kind": "Array",
+ "offset": 1039,
+ "length": 2,
+ "value": "[]"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/BlockDecryptor.swift",
+ "kind": "BooleanLiteral",
+ "offset": 1486,
+ "length": 5,
+ "value": "false"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/BlockMode\/CCM.swift",
+ "kind": "IntegerLiteral",
+ "offset": 4323,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/BlockMode\/CCM.swift",
+ "kind": "IntegerLiteral",
+ "offset": 4592,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/BlockMode\/CCM.swift",
+ "kind": "Array",
+ "offset": 4670,
+ "length": 2,
+ "value": "[]"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/BlockMode\/CCM.swift",
+ "kind": "Array",
+ "offset": 4713,
+ "length": 2,
+ "value": "[]"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/BlockMode\/CCM.swift",
+ "kind": "Array",
+ "offset": 8132,
+ "length": 2,
+ "value": "[]"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/CS_BigInt\/PrimeTest.swift",
+ "kind": "Array",
+ "offset": 261,
+ "length": 48,
+ "value": "[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41]"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/CS_BigInt\/PrimeTest.swift",
+ "kind": "Array",
+ "offset": 625,
+ "length": 435,
+ "value": "[2047, 1373653, 25326001, 3215031751, 2152302898747, 3474749660383, 341550071728321, 341550071728321, 3825123056546413051, 3825123056546413051, 3825123056546413051, \"318665857834031151167461\", \"3317044064679887385961981\"]"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/CS_BigInt\/PrimeTest.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2928,
+ "length": 2,
+ "value": "10"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/CS_BigInt\/PrimeTest.swift",
+ "kind": "IntegerLiteral",
+ "offset": 5647,
+ "length": 2,
+ "value": "10"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/BlockMode\/BlockModeOptions.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1124,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/BlockMode\/BlockModeOptions.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1129,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/BlockMode\/BlockModeOptions.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1223,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/BlockMode\/BlockModeOptions.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1228,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/BlockMode\/BlockModeOptions.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1309,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/BlockMode\/BlockModeOptions.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1314,
+ "length": 1,
+ "value": "2"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/BlockMode\/BlockModeOptions.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1399,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/BlockMode\/BlockModeOptions.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1404,
+ "length": 1,
+ "value": "3"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/MSStt.swift",
+ "kind": "IntegerLiteral",
+ "offset": 206,
+ "length": 12,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/CS_BigInt\/Addition.swift",
+ "kind": "IntegerLiteral",
+ "offset": 426,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/CS_BigInt\/Addition.swift",
+ "kind": "IntegerLiteral",
+ "offset": 944,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/CS_BigInt\/Addition.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1293,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/CS_BigInt\/Addition.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2065,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/CS_BigInt\/Addition.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2389,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/StreamDecryptor.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1342,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/SwiftHTTP\/Operation.swift",
+ "kind": "BooleanLiteral",
+ "offset": 5836,
+ "length": 5,
+ "value": "false"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/SwiftHTTP\/Operation.swift",
+ "kind": "IntegerLiteral",
+ "offset": 19533,
+ "length": 1,
+ "value": "5"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/Scrypt.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1396,
+ "length": 2,
+ "value": "64"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/Scrypt.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1411,
+ "length": 2,
+ "value": "64"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/AEAD\/AEADChaCha20Poly1305.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1110,
+ "length": 2,
+ "value": "32"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/AEAD\/AEADChaCha20Poly1305.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1170,
+ "length": 2,
+ "value": "12"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/AEAD\/AEADChaCha20Poly1305.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1175,
+ "length": 2,
+ "value": "12"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/BlockMode\/ECB.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1542,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/SHA3.swift",
+ "kind": "Array",
+ "offset": 1226,
+ "length": 508,
+ "value": "[0x0000000000000001, 0x0000000000008082, 0x800000000000808a, 0x8000000080008000, 0x000000000000808b, 0x0000000080000001, 0x8000000080008081, 0x8000000000008009, 0x000000000000008a, 0x0000000000000088, 0x0000000080008009, 0x000000008000000a, 0x000000008000808b, 0x800000000000008b, 0x8000000000008089, 0x8000000000008003, 0x8000000000008002, 0x8000000000000080, 0x000000000000800a, 0x800000008000000a, 0x8000000080008081, 0x8000000000008080, 0x0000000080000001, 0x8000000080008008]"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/SHA3.swift",
+ "kind": "BooleanLiteral",
+ "offset": 8297,
+ "length": 5,
+ "value": "false"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/MSAuthModel.swift",
+ "kind": "StringLiteral",
+ "offset": 507,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/MSAuthModel.swift",
+ "kind": "StringLiteral",
+ "offset": 564,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/MSAuthModel.swift",
+ "kind": "StringLiteral",
+ "offset": 635,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/MSChatGptModel.swift",
+ "kind": "StringLiteral",
+ "offset": 211,
+ "length": 16,
+ "value": "\"response error\""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/MSChatGptModel.swift",
+ "kind": "StringLiteral",
+ "offset": 275,
+ "length": 17,
+ "value": "\"invalid_request\""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/MSChatGptModel.swift",
+ "kind": "StringLiteral",
+ "offset": 372,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/MSChatGptModel.swift",
+ "kind": "StringLiteral",
+ "offset": 414,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/MSChatGptModel.swift",
+ "kind": "IntegerLiteral",
+ "offset": 482,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/MSChatGptModel.swift",
+ "kind": "StringLiteral",
+ "offset": 538,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/MSChatGptModel.swift",
+ "kind": "Array",
+ "offset": 603,
+ "length": 2,
+ "value": "[]"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/MSChatGptModel.swift",
+ "kind": "IntegerLiteral",
+ "offset": 780,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/MSChatGptModel.swift",
+ "kind": "StringLiteral",
+ "offset": 929,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/MSChatGptModel.swift",
+ "kind": "StringLiteral",
+ "offset": 1041,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/MSChatGptModel.swift",
+ "kind": "StringLiteral",
+ "offset": 1091,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/MSChatGptModel.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1191,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/MSChatGptModel.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1232,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/MSChatGptModel.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1268,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/BlockEncryptor.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1250,
+ "length": 2,
+ "value": "16"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/BlockEncryptor.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1290,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/SwiftHTTP\/HTTPSecurity.swift",
+ "kind": "BooleanLiteral",
+ "offset": 756,
+ "length": 4,
+ "value": "true"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/SwiftHTTP\/HTTPSecurity.swift",
+ "kind": "BooleanLiteral",
+ "offset": 823,
+ "length": 5,
+ "value": "false"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/SwiftHTTP\/HTTPSecurity.swift",
+ "kind": "BooleanLiteral",
+ "offset": 965,
+ "length": 5,
+ "value": "false"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/SwiftHTTP\/HTTPSecurity.swift",
+ "kind": "BooleanLiteral",
+ "offset": 1287,
+ "length": 5,
+ "value": "false"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/AEAD\/AEADXChaCha20Poly1305.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1425,
+ "length": 2,
+ "value": "32"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/AEAD\/AEADXChaCha20Poly1305.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1578,
+ "length": 2,
+ "value": "12"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/AEAD\/AEADXChaCha20Poly1305.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1583,
+ "length": 2,
+ "value": "12"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/BlockMode\/CTR.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1314,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/BlockMode\/CTR.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2865,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/BlockMode\/CTR.swift",
+ "kind": "IntegerLiteral",
+ "offset": 3150,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/PKCS\/PBKDF2.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1948,
+ "length": 4,
+ "value": "4096"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/CS_BigInt\/Multiplication.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1579,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/CS_BigInt\/Multiplication.swift",
+ "kind": "IntegerLiteral",
+ "offset": 3101,
+ "length": 4,
+ "value": "1024"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/SwiftHTTP\/Request.swift",
+ "kind": "StringLiteral",
+ "offset": 957,
+ "length": 5,
+ "value": "\"GET\""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/SwiftHTTP\/Request.swift",
+ "kind": "StringLiteral",
+ "offset": 979,
+ "length": 6,
+ "value": "\"POST\""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/SwiftHTTP\/Request.swift",
+ "kind": "StringLiteral",
+ "offset": 1001,
+ "length": 5,
+ "value": "\"PUT\""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/SwiftHTTP\/Request.swift",
+ "kind": "StringLiteral",
+ "offset": 1023,
+ "length": 6,
+ "value": "\"HEAD\""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/SwiftHTTP\/Request.swift",
+ "kind": "StringLiteral",
+ "offset": 1048,
+ "length": 8,
+ "value": "\"DELETE\""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/SwiftHTTP\/Request.swift",
+ "kind": "StringLiteral",
+ "offset": 1074,
+ "length": 7,
+ "value": "\"PATCH\""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/SwiftHTTP\/Request.swift",
+ "kind": "StringLiteral",
+ "offset": 1101,
+ "length": 9,
+ "value": "\"OPTIONS\""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/SwiftHTTP\/Request.swift",
+ "kind": "StringLiteral",
+ "offset": 1128,
+ "length": 7,
+ "value": "\"TRACE\""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/SwiftHTTP\/Request.swift",
+ "kind": "StringLiteral",
+ "offset": 1155,
+ "length": 9,
+ "value": "\"CONNECT\""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/SwiftHTTP\/Request.swift",
+ "kind": "StringLiteral",
+ "offset": 1184,
+ "length": 9,
+ "value": "\"UNKNOWN\""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/SwiftHTTP\/Request.swift",
+ "kind": "BooleanLiteral",
+ "offset": 2521,
+ "length": 5,
+ "value": "false"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/SwiftHTTP\/Request.swift",
+ "kind": "IntegerLiteral",
+ "offset": 4840,
+ "length": 2,
+ "value": "60"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/MixSdk.swift",
+ "kind": "StringLiteral",
+ "offset": 1138,
+ "length": 24,
+ "value": "\"ws:\/\/amp.raisound.com\/\""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/MixSdk.swift",
+ "kind": "StringLiteral",
+ "offset": 1192,
+ "length": 27,
+ "value": "\"https:\/\/amp.raisound.com\/\""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/MixSdk.swift",
+ "kind": "StringLiteral",
+ "offset": 1313,
+ "length": 33,
+ "value": "\"http:\/\/dmp.raisound.com\/bz-api\/\""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/MixSdk.swift",
+ "kind": "FloatLiteral",
+ "offset": 1444,
+ "length": 3,
+ "value": "5.0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/MixSdk.swift",
+ "kind": "StringLiteral",
+ "offset": 4349,
+ "length": 12,
+ "value": "\"2025010201\""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/MixSdk.swift",
+ "kind": "StringLiteral",
+ "offset": 4530,
+ "length": 17,
+ "value": "\"MixSdk version:\""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/MixSdk.swift",
+ "kind": "BooleanLiteral",
+ "offset": 4417,
+ "length": 5,
+ "value": "false"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/MixSdk.swift",
+ "kind": "StringLiteral",
+ "offset": 5769,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/MsTranslateModel.swift",
+ "kind": "IntegerLiteral",
+ "offset": 156,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/MsTranslateModel.swift",
+ "kind": "Array",
+ "offset": 195,
+ "length": 2,
+ "value": "[]"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/MsTranslateModel.swift",
+ "kind": "StringLiteral",
+ "offset": 317,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/MsTranslateModel.swift",
+ "kind": "StringLiteral",
+ "offset": 368,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/MsTranslateModel.swift",
+ "kind": "StringLiteral",
+ "offset": 415,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/StreamEncryptor.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1277,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/BlockMode\/GCM.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2513,
+ "length": 2,
+ "value": "16"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/BlockMode\/GCM.swift",
+ "kind": "IntegerLiteral",
+ "offset": 4021,
+ "length": 2,
+ "value": "12"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/BlockMode\/GCM.swift",
+ "kind": "IntegerLiteral",
+ "offset": 4156,
+ "length": 2,
+ "value": "16"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/BlockMode\/GCM.swift",
+ "kind": "IntegerLiteral",
+ "offset": 9505,
+ "length": 18,
+ "value": "0xE100000000000000"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/BlockMode\/GCM.swift",
+ "kind": "IntegerLiteral",
+ "offset": 9528,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/BlockMode\/GCM.swift",
+ "kind": "IntegerLiteral",
+ "offset": 10594,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/MSChatModel.swift",
+ "kind": "StringLiteral",
+ "offset": 208,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/CS_BigInt\/Subtraction.swift",
+ "kind": "IntegerLiteral",
+ "offset": 648,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/CS_BigInt\/Subtraction.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1462,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/CS_BigInt\/Subtraction.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1952,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/CS_BigInt\/Subtraction.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2368,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/CS_BigInt\/Subtraction.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2957,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/CS_BigInt\/Subtraction.swift",
+ "kind": "IntegerLiteral",
+ "offset": 4984,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/CS_BigInt\/Subtraction.swift",
+ "kind": "IntegerLiteral",
+ "offset": 5397,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/CS_BigInt\/Subtraction.swift",
+ "kind": "IntegerLiteral",
+ "offset": 5686,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/Array+Extension.swift",
+ "kind": "BooleanLiteral",
+ "offset": 3588,
+ "length": 4,
+ "value": "true"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/Array+Extension.swift",
+ "kind": "BooleanLiteral",
+ "offset": 3726,
+ "length": 4,
+ "value": "true"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/BlockMode\/OFB.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1816,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/PKCS\/PBKDF1.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2280,
+ "length": 4,
+ "value": "4096"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/Date.swift",
+ "kind": "StringLiteral",
+ "offset": 402,
+ "length": 10,
+ "value": "\"HH:mm:ss\""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/Date.swift",
+ "kind": "StringLiteral",
+ "offset": 491,
+ "length": 7,
+ "value": "\"HH:mm\""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/Date.swift",
+ "kind": "StringLiteral",
+ "offset": 572,
+ "length": 7,
+ "value": "\"MM-dd\""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/Date.swift",
+ "kind": "StringLiteral",
+ "offset": 659,
+ "length": 12,
+ "value": "\"MM月dd日\""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/Date.swift",
+ "kind": "StringLiteral",
+ "offset": 751,
+ "length": 12,
+ "value": "\"yyyy-MM-dd\""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/Date.swift",
+ "kind": "StringLiteral",
+ "offset": 851,
+ "length": 18,
+ "value": "\"yyy年MM月dd日\""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/Date.swift",
+ "kind": "StringLiteral",
+ "offset": 956,
+ "length": 18,
+ "value": "\"yyyy-MM-dd HH:mm\""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/Date.swift",
+ "kind": "StringLiteral",
+ "offset": 1069,
+ "length": 24,
+ "value": "\"yyy年MM月dd日 HH:mm\""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/Date.swift",
+ "kind": "StringLiteral",
+ "offset": 1181,
+ "length": 21,
+ "value": "\"yyyy-MM-dd HH:mm:ss\""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/Date.swift",
+ "kind": "StringLiteral",
+ "offset": 1298,
+ "length": 28,
+ "value": "\"yyyy年MM月dd日 HH:mm:ss\""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/Date.swift",
+ "kind": "StringLiteral",
+ "offset": 1418,
+ "length": 25,
+ "value": "\"yyyy-MM-dd HH:mm:ss.SSS\""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/Date.swift",
+ "kind": "StringLiteral",
+ "offset": 1543,
+ "length": 32,
+ "value": "\"yyyy年MM月dd日 HH:mm:ss.SSS\""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/Date.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2353,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/Date.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2390,
+ "length": 3,
+ "value": "2"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/Date.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2429,
+ "length": 3,
+ "value": "3"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/Date.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2468,
+ "length": 3,
+ "value": "4"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/Date.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2507,
+ "length": 4,
+ "value": "5"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/Date.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2547,
+ "length": 3,
+ "value": "6"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/Date.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2586,
+ "length": 3,
+ "value": "7"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/MSAudioConvert.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1381,
+ "length": 5,
+ "value": "16000"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/Updatable.swift",
+ "kind": "BooleanLiteral",
+ "offset": 1952,
+ "length": 5,
+ "value": "false"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/Updatable.swift",
+ "kind": "BooleanLiteral",
+ "offset": 2223,
+ "length": 5,
+ "value": "false"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/Updatable.swift",
+ "kind": "BooleanLiteral",
+ "offset": 2395,
+ "length": 5,
+ "value": "false"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/Updatable.swift",
+ "kind": "BooleanLiteral",
+ "offset": 2573,
+ "length": 5,
+ "value": "false"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/BlockMode\/CFB.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1132,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/BlockMode\/CFB.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1177,
+ "length": 2,
+ "value": "16"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/BlockMode\/CFB.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2209,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/CS_BigInt\/StringConversion.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1633,
+ "length": 2,
+ "value": "10"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/CS_BigInt\/StringConversion.swift",
+ "kind": "IntegerLiteral",
+ "offset": 3373,
+ "length": 2,
+ "value": "10"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/CS_BigInt\/StringConversion.swift",
+ "kind": "BooleanLiteral",
+ "offset": 4655,
+ "length": 5,
+ "value": "false"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/CS_BigInt\/StringConversion.swift",
+ "kind": "IntegerLiteral",
+ "offset": 6099,
+ "length": 2,
+ "value": "10"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/CS_BigInt\/StringConversion.swift",
+ "kind": "BooleanLiteral",
+ "offset": 6121,
+ "length": 5,
+ "value": "false"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/Bit.swift",
+ "kind": "IntegerLiteral",
+ "offset": 960,
+ "length": 3,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/Utils.swift",
+ "kind": "IntegerLiteral",
+ "offset": 3447,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/ChaCha20.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1145,
+ "length": 2,
+ "value": "64"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/ChaCha20.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1470,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/ChaCha20.swift",
+ "kind": "BooleanLiteral",
+ "offset": 8581,
+ "length": 5,
+ "value": "false"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/ChaCha20.swift",
+ "kind": "IntegerLiteral",
+ "offset": 9318,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/ChaCha20.swift",
+ "kind": "IntegerLiteral",
+ "offset": 9358,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/ChaCha20.swift",
+ "kind": "BooleanLiteral",
+ "offset": 9542,
+ "length": 4,
+ "value": "true"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/AES.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1311,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/AES.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1314,
+ "length": 6,
+ "value": "2"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/AES.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1322,
+ "length": 6,
+ "value": "3"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/AES.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1692,
+ "length": 2,
+ "value": "16"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/AES.swift",
+ "kind": "Array",
+ "offset": 2480,
+ "length": 1604,
+ "value": "[0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb, 0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb, 0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb, 0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb, 0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb, 0x8d]"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/AES.swift",
+ "kind": "Array",
+ "offset": 4137,
+ "length": 3050,
+ "value": "[0xa56363c6, 0x847c7cf8, 0x997777ee, 0x8d7b7bf6, 0xdf2f2ff, 0xbd6b6bd6, 0xb16f6fde, 0x54c5c591, 0x50303060, 0x3010102, 0xa96767ce, 0x7d2b2b56, 0x19fefee7, 0x62d7d7b5, 0xe6abab4d, 0x9a7676ec, 0x45caca8f, 0x9d82821f, 0x40c9c989, 0x877d7dfa, 0x15fafaef, 0xeb5959b2, 0xc947478e, 0xbf0f0fb, 0xecadad41, 0x67d4d4b3, 0xfda2a25f, 0xeaafaf45, 0xbf9c9c23, 0xf7a4a453, 0x967272e4, 0x5bc0c09b, 0xc2b7b775, 0x1cfdfde1, 0xae93933d, 0x6a26264c, 0x5a36366c, 0x413f3f7e, 0x2f7f7f5, 0x4fcccc83, 0x5c343468, 0xf4a5a551, 0x34e5e5d1, 0x8f1f1f9, 0x937171e2, 0x73d8d8ab, 0x53313162, 0x3f15152a, 0xc040408, 0x52c7c795, 0x65232346, 0x5ec3c39d, 0x28181830, 0xa1969637, 0xf05050a, 0xb59a9a2f, 0x907070e, 0x36121224, 0x9b80801b, 0x3de2e2df, 0x26ebebcd, 0x6927274e, 0xcdb2b27f, 0x9f7575ea, 0x1b090912, 0x9e83831d, 0x742c2c58, 0x2e1a1a34, 0x2d1b1b36, 0xb26e6edc, 0xee5a5ab4, 0xfba0a05b, 0xf65252a4, 0x4d3b3b76, 0x61d6d6b7, 0xceb3b37d, 0x7b292952, 0x3ee3e3dd, 0x712f2f5e, 0x97848413, 0xf55353a6, 0x68d1d1b9, 0x0, 0x2cededc1, 0x60202040, 0x1ffcfce3, 0xc8b1b179, 0xed5b5bb6, 0xbe6a6ad4, 0x46cbcb8d, 0xd9bebe67, 0x4b393972, 0xde4a4a94, 0xd44c4c98, 0xe85858b0, 0x4acfcf85, 0x6bd0d0bb, 0x2aefefc5, 0xe5aaaa4f, 0x16fbfbed, 0xc5434386, 0xd74d4d9a, 0x55333366, 0x94858511, 0xcf45458a, 0x10f9f9e9, 0x6020204, 0x817f7ffe, 0xf05050a0, 0x443c3c78, 0xba9f9f25, 0xe3a8a84b, 0xf35151a2, 0xfea3a35d, 0xc0404080, 0x8a8f8f05, 0xad92923f, 0xbc9d9d21, 0x48383870, 0x4f5f5f1, 0xdfbcbc63, 0xc1b6b677, 0x75dadaaf, 0x63212142, 0x30101020, 0x1affffe5, 0xef3f3fd, 0x6dd2d2bf, 0x4ccdcd81, 0x140c0c18, 0x35131326, 0x2fececc3, 0xe15f5fbe, 0xa2979735, 0xcc444488, 0x3917172e, 0x57c4c493, 0xf2a7a755, 0x827e7efc, 0x473d3d7a, 0xac6464c8, 0xe75d5dba, 0x2b191932, 0x957373e6, 0xa06060c0, 0x98818119, 0xd14f4f9e, 0x7fdcdca3, 0x66222244, 0x7e2a2a54, 0xab90903b, 0x8388880b, 0xca46468c, 0x29eeeec7, 0xd3b8b86b, 0x3c141428, 0x79dedea7, 0xe25e5ebc, 0x1d0b0b16, 0x76dbdbad, 0x3be0e0db, 0x56323264, 0x4e3a3a74, 0x1e0a0a14, 0xdb494992, 0xa06060c, 0x6c242448, 0xe45c5cb8, 0x5dc2c29f, 0x6ed3d3bd, 0xefacac43, 0xa66262c4, 0xa8919139, 0xa4959531, 0x37e4e4d3, 0x8b7979f2, 0x32e7e7d5, 0x43c8c88b, 0x5937376e, 0xb76d6dda, 0x8c8d8d01, 0x64d5d5b1, 0xd24e4e9c, 0xe0a9a949, 0xb46c6cd8, 0xfa5656ac, 0x7f4f4f3, 0x25eaeacf, 0xaf6565ca, 0x8e7a7af4, 0xe9aeae47, 0x18080810, 0xd5baba6f, 0x887878f0, 0x6f25254a, 0x722e2e5c, 0x241c1c38, 0xf1a6a657, 0xc7b4b473, 0x51c6c697, 0x23e8e8cb, 0x7cdddda1, 0x9c7474e8, 0x211f1f3e, 0xdd4b4b96, 0xdcbdbd61, 0x868b8b0d, 0x858a8a0f, 0x907070e0, 0x423e3e7c, 0xc4b5b571, 0xaa6666cc, 0xd8484890, 0x5030306, 0x1f6f6f7, 0x120e0e1c, 0xa36161c2, 0x5f35356a, 0xf95757ae, 0xd0b9b969, 0x91868617, 0x58c1c199, 0x271d1d3a, 0xb99e9e27, 0x38e1e1d9, 0x13f8f8eb, 0xb398982b, 0x33111122, 0xbb6969d2, 0x70d9d9a9, 0x898e8e07, 0xa7949433, 0xb69b9b2d, 0x221e1e3c, 0x92878715, 0x20e9e9c9, 0x49cece87, 0xff5555aa, 0x78282850, 0x7adfdfa5, 0x8f8c8c03, 0xf8a1a159, 0x80898909, 0x170d0d1a, 0xdabfbf65, 0x31e6e6d7, 0xc6424284, 0xb86868d0, 0xc3414182, 0xb0999929, 0x772d2d5a, 0x110f0f1e, 0xcbb0b07b, 0xfc5454a8, 0xd6bbbb6d, 0x3a16162c]"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/AES.swift",
+ "kind": "Array",
+ "offset": 7243,
+ "length": 3050,
+ "value": "[0x50a7f451, 0x5365417e, 0xc3a4171a, 0x965e273a, 0xcb6bab3b, 0xf1459d1f, 0xab58faac, 0x9303e34b, 0x55fa3020, 0xf66d76ad, 0x9176cc88, 0x254c02f5, 0xfcd7e54f, 0xd7cb2ac5, 0x80443526, 0x8fa362b5, 0x495ab1de, 0x671bba25, 0x980eea45, 0xe1c0fe5d, 0x2752fc3, 0x12f04c81, 0xa397468d, 0xc6f9d36b, 0xe75f8f03, 0x959c9215, 0xeb7a6dbf, 0xda595295, 0x2d83bed4, 0xd3217458, 0x2969e049, 0x44c8c98e, 0x6a89c275, 0x78798ef4, 0x6b3e5899, 0xdd71b927, 0xb64fe1be, 0x17ad88f0, 0x66ac20c9, 0xb43ace7d, 0x184adf63, 0x82311ae5, 0x60335197, 0x457f5362, 0xe07764b1, 0x84ae6bbb, 0x1ca081fe, 0x942b08f9, 0x58684870, 0x19fd458f, 0x876cde94, 0xb7f87b52, 0x23d373ab, 0xe2024b72, 0x578f1fe3, 0x2aab5566, 0x728ebb2, 0x3c2b52f, 0x9a7bc586, 0xa50837d3, 0xf2872830, 0xb2a5bf23, 0xba6a0302, 0x5c8216ed, 0x2b1ccf8a, 0x92b479a7, 0xf0f207f3, 0xa1e2694e, 0xcdf4da65, 0xd5be0506, 0x1f6234d1, 0x8afea6c4, 0x9d532e34, 0xa055f3a2, 0x32e18a05, 0x75ebf6a4, 0x39ec830b, 0xaaef6040, 0x69f715e, 0x51106ebd, 0xf98a213e, 0x3d06dd96, 0xae053edd, 0x46bde64d, 0xb58d5491, 0x55dc471, 0x6fd40604, 0xff155060, 0x24fb9819, 0x97e9bdd6, 0xcc434089, 0x779ed967, 0xbd42e8b0, 0x888b8907, 0x385b19e7, 0xdbeec879, 0x470a7ca1, 0xe90f427c, 0xc91e84f8, 0x0, 0x83868009, 0x48ed2b32, 0xac70111e, 0x4e725a6c, 0xfbff0efd, 0x5638850f, 0x1ed5ae3d, 0x27392d36, 0x64d90f0a, 0x21a65c68, 0xd1545b9b, 0x3a2e3624, 0xb1670a0c, 0xfe75793, 0xd296eeb4, 0x9e919b1b, 0x4fc5c080, 0xa220dc61, 0x694b775a, 0x161a121c, 0xaba93e2, 0xe52aa0c0, 0x43e0223c, 0x1d171b12, 0xb0d090e, 0xadc78bf2, 0xb9a8b62d, 0xc8a91e14, 0x8519f157, 0x4c0775af, 0xbbdd99ee, 0xfd607fa3, 0x9f2601f7, 0xbcf5725c, 0xc53b6644, 0x347efb5b, 0x7629438b, 0xdcc623cb, 0x68fcedb6, 0x63f1e4b8, 0xcadc31d7, 0x10856342, 0x40229713, 0x2011c684, 0x7d244a85, 0xf83dbbd2, 0x1132f9ae, 0x6da129c7, 0x4b2f9e1d, 0xf330b2dc, 0xec52860d, 0xd0e3c177, 0x6c16b32b, 0x99b970a9, 0xfa489411, 0x2264e947, 0xc48cfca8, 0x1a3ff0a0, 0xd82c7d56, 0xef903322, 0xc74e4987, 0xc1d138d9, 0xfea2ca8c, 0x360bd498, 0xcf81f5a6, 0x28de7aa5, 0x268eb7da, 0xa4bfad3f, 0xe49d3a2c, 0xd927850, 0x9bcc5f6a, 0x62467e54, 0xc2138df6, 0xe8b8d890, 0x5ef7392e, 0xf5afc382, 0xbe805d9f, 0x7c93d069, 0xa92dd56f, 0xb31225cf, 0x3b99acc8, 0xa77d1810, 0x6e639ce8, 0x7bbb3bdb, 0x97826cd, 0xf418596e, 0x1b79aec, 0xa89a4f83, 0x656e95e6, 0x7ee6ffaa, 0x8cfbc21, 0xe6e815ef, 0xd99be7ba, 0xce366f4a, 0xd4099fea, 0xd67cb029, 0xafb2a431, 0x31233f2a, 0x3094a5c6, 0xc066a235, 0x37bc4e74, 0xa6ca82fc, 0xb0d090e0, 0x15d8a733, 0x4a9804f1, 0xf7daec41, 0xe50cd7f, 0x2ff69117, 0x8dd64d76, 0x4db0ef43, 0x544daacc, 0xdf0496e4, 0xe3b5d19e, 0x1b886a4c, 0xb81f2cc1, 0x7f516546, 0x4ea5e9d, 0x5d358c01, 0x737487fa, 0x2e410bfb, 0x5a1d67b3, 0x52d2db92, 0x335610e9, 0x1347d66d, 0x8c61d79a, 0x7a0ca137, 0x8e14f859, 0x893c13eb, 0xee27a9ce, 0x35c961b7, 0xede51ce1, 0x3cb1477a, 0x59dfd29c, 0x3f73f255, 0x79ce1418, 0xbf37c773, 0xeacdf753, 0x5baafd5f, 0x146f3ddf, 0x86db4478, 0x81f3afca, 0x3ec468b9, 0x2c342438, 0x5f40a3c2, 0x72c31d16, 0xc25e2bc, 0x8b493c28, 0x41950dff, 0x7101a839, 0xdeb30c08, 0x9ce4b4d8, 0x90c15664, 0x6184cb7b, 0x70b632d5, 0x745c6c48, 0x4257b8d0]"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/AES.swift",
+ "kind": "Array",
+ "offset": 10345,
+ "length": 3050,
+ "value": "[0x6363c6a5, 0x7c7cf884, 0x7777ee99, 0x7b7bf68d, 0xf2f2ff0d, 0x6b6bd6bd, 0x6f6fdeb1, 0xc5c59154, 0x30306050, 0x1010203, 0x6767cea9, 0x2b2b567d, 0xfefee719, 0xd7d7b562, 0xabab4de6, 0x7676ec9a, 0xcaca8f45, 0x82821f9d, 0xc9c98940, 0x7d7dfa87, 0xfafaef15, 0x5959b2eb, 0x47478ec9, 0xf0f0fb0b, 0xadad41ec, 0xd4d4b367, 0xa2a25ffd, 0xafaf45ea, 0x9c9c23bf, 0xa4a453f7, 0x7272e496, 0xc0c09b5b, 0xb7b775c2, 0xfdfde11c, 0x93933dae, 0x26264c6a, 0x36366c5a, 0x3f3f7e41, 0xf7f7f502, 0xcccc834f, 0x3434685c, 0xa5a551f4, 0xe5e5d134, 0xf1f1f908, 0x7171e293, 0xd8d8ab73, 0x31316253, 0x15152a3f, 0x404080c, 0xc7c79552, 0x23234665, 0xc3c39d5e, 0x18183028, 0x969637a1, 0x5050a0f, 0x9a9a2fb5, 0x7070e09, 0x12122436, 0x80801b9b, 0xe2e2df3d, 0xebebcd26, 0x27274e69, 0xb2b27fcd, 0x7575ea9f, 0x909121b, 0x83831d9e, 0x2c2c5874, 0x1a1a342e, 0x1b1b362d, 0x6e6edcb2, 0x5a5ab4ee, 0xa0a05bfb, 0x5252a4f6, 0x3b3b764d, 0xd6d6b761, 0xb3b37dce, 0x2929527b, 0xe3e3dd3e, 0x2f2f5e71, 0x84841397, 0x5353a6f5, 0xd1d1b968, 0x0, 0xededc12c, 0x20204060, 0xfcfce31f, 0xb1b179c8, 0x5b5bb6ed, 0x6a6ad4be, 0xcbcb8d46, 0xbebe67d9, 0x3939724b, 0x4a4a94de, 0x4c4c98d4, 0x5858b0e8, 0xcfcf854a, 0xd0d0bb6b, 0xefefc52a, 0xaaaa4fe5, 0xfbfbed16, 0x434386c5, 0x4d4d9ad7, 0x33336655, 0x85851194, 0x45458acf, 0xf9f9e910, 0x2020406, 0x7f7ffe81, 0x5050a0f0, 0x3c3c7844, 0x9f9f25ba, 0xa8a84be3, 0x5151a2f3, 0xa3a35dfe, 0x404080c0, 0x8f8f058a, 0x92923fad, 0x9d9d21bc, 0x38387048, 0xf5f5f104, 0xbcbc63df, 0xb6b677c1, 0xdadaaf75, 0x21214263, 0x10102030, 0xffffe51a, 0xf3f3fd0e, 0xd2d2bf6d, 0xcdcd814c, 0xc0c1814, 0x13132635, 0xececc32f, 0x5f5fbee1, 0x979735a2, 0x444488cc, 0x17172e39, 0xc4c49357, 0xa7a755f2, 0x7e7efc82, 0x3d3d7a47, 0x6464c8ac, 0x5d5dbae7, 0x1919322b, 0x7373e695, 0x6060c0a0, 0x81811998, 0x4f4f9ed1, 0xdcdca37f, 0x22224466, 0x2a2a547e, 0x90903bab, 0x88880b83, 0x46468cca, 0xeeeec729, 0xb8b86bd3, 0x1414283c, 0xdedea779, 0x5e5ebce2, 0xb0b161d, 0xdbdbad76, 0xe0e0db3b, 0x32326456, 0x3a3a744e, 0xa0a141e, 0x494992db, 0x6060c0a, 0x2424486c, 0x5c5cb8e4, 0xc2c29f5d, 0xd3d3bd6e, 0xacac43ef, 0x6262c4a6, 0x919139a8, 0x959531a4, 0xe4e4d337, 0x7979f28b, 0xe7e7d532, 0xc8c88b43, 0x37376e59, 0x6d6ddab7, 0x8d8d018c, 0xd5d5b164, 0x4e4e9cd2, 0xa9a949e0, 0x6c6cd8b4, 0x5656acfa, 0xf4f4f307, 0xeaeacf25, 0x6565caaf, 0x7a7af48e, 0xaeae47e9, 0x8081018, 0xbaba6fd5, 0x7878f088, 0x25254a6f, 0x2e2e5c72, 0x1c1c3824, 0xa6a657f1, 0xb4b473c7, 0xc6c69751, 0xe8e8cb23, 0xdddda17c, 0x7474e89c, 0x1f1f3e21, 0x4b4b96dd, 0xbdbd61dc, 0x8b8b0d86, 0x8a8a0f85, 0x7070e090, 0x3e3e7c42, 0xb5b571c4, 0x6666ccaa, 0x484890d8, 0x3030605, 0xf6f6f701, 0xe0e1c12, 0x6161c2a3, 0x35356a5f, 0x5757aef9, 0xb9b969d0, 0x86861791, 0xc1c19958, 0x1d1d3a27, 0x9e9e27b9, 0xe1e1d938, 0xf8f8eb13, 0x98982bb3, 0x11112233, 0x6969d2bb, 0xd9d9a970, 0x8e8e0789, 0x949433a7, 0x9b9b2db6, 0x1e1e3c22, 0x87871592, 0xe9e9c920, 0xcece8749, 0x5555aaff, 0x28285078, 0xdfdfa57a, 0x8c8c038f, 0xa1a159f8, 0x89890980, 0xd0d1a17, 0xbfbf65da, 0xe6e6d731, 0x424284c6, 0x6868d0b8, 0x414182c3, 0x999929b0, 0x2d2d5a77, 0xf0f1e11, 0xb0b07bcb, 0x5454a8fc, 0xbbbb6dd6, 0x16162c3a]"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/AES.swift",
+ "kind": "Array",
+ "offset": 13451,
+ "length": 3050,
+ "value": "[0xa7f45150, 0x65417e53, 0xa4171ac3, 0x5e273a96, 0x6bab3bcb, 0x459d1ff1, 0x58faacab, 0x3e34b93, 0xfa302055, 0x6d76adf6, 0x76cc8891, 0x4c02f525, 0xd7e54ffc, 0xcb2ac5d7, 0x44352680, 0xa362b58f, 0x5ab1de49, 0x1bba2567, 0xeea4598, 0xc0fe5de1, 0x752fc302, 0xf04c8112, 0x97468da3, 0xf9d36bc6, 0x5f8f03e7, 0x9c921595, 0x7a6dbfeb, 0x595295da, 0x83bed42d, 0x217458d3, 0x69e04929, 0xc8c98e44, 0x89c2756a, 0x798ef478, 0x3e58996b, 0x71b927dd, 0x4fe1beb6, 0xad88f017, 0xac20c966, 0x3ace7db4, 0x4adf6318, 0x311ae582, 0x33519760, 0x7f536245, 0x7764b1e0, 0xae6bbb84, 0xa081fe1c, 0x2b08f994, 0x68487058, 0xfd458f19, 0x6cde9487, 0xf87b52b7, 0xd373ab23, 0x24b72e2, 0x8f1fe357, 0xab55662a, 0x28ebb207, 0xc2b52f03, 0x7bc5869a, 0x837d3a5, 0x872830f2, 0xa5bf23b2, 0x6a0302ba, 0x8216ed5c, 0x1ccf8a2b, 0xb479a792, 0xf207f3f0, 0xe2694ea1, 0xf4da65cd, 0xbe0506d5, 0x6234d11f, 0xfea6c48a, 0x532e349d, 0x55f3a2a0, 0xe18a0532, 0xebf6a475, 0xec830b39, 0xef6040aa, 0x9f715e06, 0x106ebd51, 0x8a213ef9, 0x6dd963d, 0x53eddae, 0xbde64d46, 0x8d5491b5, 0x5dc47105, 0xd406046f, 0x155060ff, 0xfb981924, 0xe9bdd697, 0x434089cc, 0x9ed96777, 0x42e8b0bd, 0x8b890788, 0x5b19e738, 0xeec879db, 0xa7ca147, 0xf427ce9, 0x1e84f8c9, 0x0, 0x86800983, 0xed2b3248, 0x70111eac, 0x725a6c4e, 0xff0efdfb, 0x38850f56, 0xd5ae3d1e, 0x392d3627, 0xd90f0a64, 0xa65c6821, 0x545b9bd1, 0x2e36243a, 0x670a0cb1, 0xe757930f, 0x96eeb4d2, 0x919b1b9e, 0xc5c0804f, 0x20dc61a2, 0x4b775a69, 0x1a121c16, 0xba93e20a, 0x2aa0c0e5, 0xe0223c43, 0x171b121d, 0xd090e0b, 0xc78bf2ad, 0xa8b62db9, 0xa91e14c8, 0x19f15785, 0x775af4c, 0xdd99eebb, 0x607fa3fd, 0x2601f79f, 0xf5725cbc, 0x3b6644c5, 0x7efb5b34, 0x29438b76, 0xc623cbdc, 0xfcedb668, 0xf1e4b863, 0xdc31d7ca, 0x85634210, 0x22971340, 0x11c68420, 0x244a857d, 0x3dbbd2f8, 0x32f9ae11, 0xa129c76d, 0x2f9e1d4b, 0x30b2dcf3, 0x52860dec, 0xe3c177d0, 0x16b32b6c, 0xb970a999, 0x489411fa, 0x64e94722, 0x8cfca8c4, 0x3ff0a01a, 0x2c7d56d8, 0x903322ef, 0x4e4987c7, 0xd138d9c1, 0xa2ca8cfe, 0xbd49836, 0x81f5a6cf, 0xde7aa528, 0x8eb7da26, 0xbfad3fa4, 0x9d3a2ce4, 0x9278500d, 0xcc5f6a9b, 0x467e5462, 0x138df6c2, 0xb8d890e8, 0xf7392e5e, 0xafc382f5, 0x805d9fbe, 0x93d0697c, 0x2dd56fa9, 0x1225cfb3, 0x99acc83b, 0x7d1810a7, 0x639ce86e, 0xbb3bdb7b, 0x7826cd09, 0x18596ef4, 0xb79aec01, 0x9a4f83a8, 0x6e95e665, 0xe6ffaa7e, 0xcfbc2108, 0xe815efe6, 0x9be7bad9, 0x366f4ace, 0x99fead4, 0x7cb029d6, 0xb2a431af, 0x233f2a31, 0x94a5c630, 0x66a235c0, 0xbc4e7437, 0xca82fca6, 0xd090e0b0, 0xd8a73315, 0x9804f14a, 0xdaec41f7, 0x50cd7f0e, 0xf691172f, 0xd64d768d, 0xb0ef434d, 0x4daacc54, 0x496e4df, 0xb5d19ee3, 0x886a4c1b, 0x1f2cc1b8, 0x5165467f, 0xea5e9d04, 0x358c015d, 0x7487fa73, 0x410bfb2e, 0x1d67b35a, 0xd2db9252, 0x5610e933, 0x47d66d13, 0x61d79a8c, 0xca1377a, 0x14f8598e, 0x3c13eb89, 0x27a9ceee, 0xc961b735, 0xe51ce1ed, 0xb1477a3c, 0xdfd29c59, 0x73f2553f, 0xce141879, 0x37c773bf, 0xcdf753ea, 0xaafd5f5b, 0x6f3ddf14, 0xdb447886, 0xf3afca81, 0xc468b93e, 0x3424382c, 0x40a3c25f, 0xc31d1672, 0x25e2bc0c, 0x493c288b, 0x950dff41, 0x1a83971, 0xb30c08de, 0xe4b4d89c, 0xc1566490, 0x84cb7b61, 0xb632d570, 0x5c6c4874, 0x57b8d042]"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/AES.swift",
+ "kind": "Array",
+ "offset": 16553,
+ "length": 3050,
+ "value": "[0x63c6a563, 0x7cf8847c, 0x77ee9977, 0x7bf68d7b, 0xf2ff0df2, 0x6bd6bd6b, 0x6fdeb16f, 0xc59154c5, 0x30605030, 0x1020301, 0x67cea967, 0x2b567d2b, 0xfee719fe, 0xd7b562d7, 0xab4de6ab, 0x76ec9a76, 0xca8f45ca, 0x821f9d82, 0xc98940c9, 0x7dfa877d, 0xfaef15fa, 0x59b2eb59, 0x478ec947, 0xf0fb0bf0, 0xad41ecad, 0xd4b367d4, 0xa25ffda2, 0xaf45eaaf, 0x9c23bf9c, 0xa453f7a4, 0x72e49672, 0xc09b5bc0, 0xb775c2b7, 0xfde11cfd, 0x933dae93, 0x264c6a26, 0x366c5a36, 0x3f7e413f, 0xf7f502f7, 0xcc834fcc, 0x34685c34, 0xa551f4a5, 0xe5d134e5, 0xf1f908f1, 0x71e29371, 0xd8ab73d8, 0x31625331, 0x152a3f15, 0x4080c04, 0xc79552c7, 0x23466523, 0xc39d5ec3, 0x18302818, 0x9637a196, 0x50a0f05, 0x9a2fb59a, 0x70e0907, 0x12243612, 0x801b9b80, 0xe2df3de2, 0xebcd26eb, 0x274e6927, 0xb27fcdb2, 0x75ea9f75, 0x9121b09, 0x831d9e83, 0x2c58742c, 0x1a342e1a, 0x1b362d1b, 0x6edcb26e, 0x5ab4ee5a, 0xa05bfba0, 0x52a4f652, 0x3b764d3b, 0xd6b761d6, 0xb37dceb3, 0x29527b29, 0xe3dd3ee3, 0x2f5e712f, 0x84139784, 0x53a6f553, 0xd1b968d1, 0x0, 0xedc12ced, 0x20406020, 0xfce31ffc, 0xb179c8b1, 0x5bb6ed5b, 0x6ad4be6a, 0xcb8d46cb, 0xbe67d9be, 0x39724b39, 0x4a94de4a, 0x4c98d44c, 0x58b0e858, 0xcf854acf, 0xd0bb6bd0, 0xefc52aef, 0xaa4fe5aa, 0xfbed16fb, 0x4386c543, 0x4d9ad74d, 0x33665533, 0x85119485, 0x458acf45, 0xf9e910f9, 0x2040602, 0x7ffe817f, 0x50a0f050, 0x3c78443c, 0x9f25ba9f, 0xa84be3a8, 0x51a2f351, 0xa35dfea3, 0x4080c040, 0x8f058a8f, 0x923fad92, 0x9d21bc9d, 0x38704838, 0xf5f104f5, 0xbc63dfbc, 0xb677c1b6, 0xdaaf75da, 0x21426321, 0x10203010, 0xffe51aff, 0xf3fd0ef3, 0xd2bf6dd2, 0xcd814ccd, 0xc18140c, 0x13263513, 0xecc32fec, 0x5fbee15f, 0x9735a297, 0x4488cc44, 0x172e3917, 0xc49357c4, 0xa755f2a7, 0x7efc827e, 0x3d7a473d, 0x64c8ac64, 0x5dbae75d, 0x19322b19, 0x73e69573, 0x60c0a060, 0x81199881, 0x4f9ed14f, 0xdca37fdc, 0x22446622, 0x2a547e2a, 0x903bab90, 0x880b8388, 0x468cca46, 0xeec729ee, 0xb86bd3b8, 0x14283c14, 0xdea779de, 0x5ebce25e, 0xb161d0b, 0xdbad76db, 0xe0db3be0, 0x32645632, 0x3a744e3a, 0xa141e0a, 0x4992db49, 0x60c0a06, 0x24486c24, 0x5cb8e45c, 0xc29f5dc2, 0xd3bd6ed3, 0xac43efac, 0x62c4a662, 0x9139a891, 0x9531a495, 0xe4d337e4, 0x79f28b79, 0xe7d532e7, 0xc88b43c8, 0x376e5937, 0x6ddab76d, 0x8d018c8d, 0xd5b164d5, 0x4e9cd24e, 0xa949e0a9, 0x6cd8b46c, 0x56acfa56, 0xf4f307f4, 0xeacf25ea, 0x65caaf65, 0x7af48e7a, 0xae47e9ae, 0x8101808, 0xba6fd5ba, 0x78f08878, 0x254a6f25, 0x2e5c722e, 0x1c38241c, 0xa657f1a6, 0xb473c7b4, 0xc69751c6, 0xe8cb23e8, 0xdda17cdd, 0x74e89c74, 0x1f3e211f, 0x4b96dd4b, 0xbd61dcbd, 0x8b0d868b, 0x8a0f858a, 0x70e09070, 0x3e7c423e, 0xb571c4b5, 0x66ccaa66, 0x4890d848, 0x3060503, 0xf6f701f6, 0xe1c120e, 0x61c2a361, 0x356a5f35, 0x57aef957, 0xb969d0b9, 0x86179186, 0xc19958c1, 0x1d3a271d, 0x9e27b99e, 0xe1d938e1, 0xf8eb13f8, 0x982bb398, 0x11223311, 0x69d2bb69, 0xd9a970d9, 0x8e07898e, 0x9433a794, 0x9b2db69b, 0x1e3c221e, 0x87159287, 0xe9c920e9, 0xce8749ce, 0x55aaff55, 0x28507828, 0xdfa57adf, 0x8c038f8c, 0xa159f8a1, 0x89098089, 0xd1a170d, 0xbf65dabf, 0xe6d731e6, 0x4284c642, 0x68d0b868, 0x4182c341, 0x9929b099, 0x2d5a772d, 0xf1e110f, 0xb07bcbb0, 0x54a8fc54, 0xbb6dd6bb, 0x162c3a16]"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/AES.swift",
+ "kind": "Array",
+ "offset": 19659,
+ "length": 3050,
+ "value": "[0xf45150a7, 0x417e5365, 0x171ac3a4, 0x273a965e, 0xab3bcb6b, 0x9d1ff145, 0xfaacab58, 0xe34b9303, 0x302055fa, 0x76adf66d, 0xcc889176, 0x2f5254c, 0xe54ffcd7, 0x2ac5d7cb, 0x35268044, 0x62b58fa3, 0xb1de495a, 0xba25671b, 0xea45980e, 0xfe5de1c0, 0x2fc30275, 0x4c8112f0, 0x468da397, 0xd36bc6f9, 0x8f03e75f, 0x9215959c, 0x6dbfeb7a, 0x5295da59, 0xbed42d83, 0x7458d321, 0xe0492969, 0xc98e44c8, 0xc2756a89, 0x8ef47879, 0x58996b3e, 0xb927dd71, 0xe1beb64f, 0x88f017ad, 0x20c966ac, 0xce7db43a, 0xdf63184a, 0x1ae58231, 0x51976033, 0x5362457f, 0x64b1e077, 0x6bbb84ae, 0x81fe1ca0, 0x8f9942b, 0x48705868, 0x458f19fd, 0xde94876c, 0x7b52b7f8, 0x73ab23d3, 0x4b72e202, 0x1fe3578f, 0x55662aab, 0xebb20728, 0xb52f03c2, 0xc5869a7b, 0x37d3a508, 0x2830f287, 0xbf23b2a5, 0x302ba6a, 0x16ed5c82, 0xcf8a2b1c, 0x79a792b4, 0x7f3f0f2, 0x694ea1e2, 0xda65cdf4, 0x506d5be, 0x34d11f62, 0xa6c48afe, 0x2e349d53, 0xf3a2a055, 0x8a0532e1, 0xf6a475eb, 0x830b39ec, 0x6040aaef, 0x715e069f, 0x6ebd5110, 0x213ef98a, 0xdd963d06, 0x3eddae05, 0xe64d46bd, 0x5491b58d, 0xc471055d, 0x6046fd4, 0x5060ff15, 0x981924fb, 0xbdd697e9, 0x4089cc43, 0xd967779e, 0xe8b0bd42, 0x8907888b, 0x19e7385b, 0xc879dbee, 0x7ca1470a, 0x427ce90f, 0x84f8c91e, 0x0, 0x80098386, 0x2b3248ed, 0x111eac70, 0x5a6c4e72, 0xefdfbff, 0x850f5638, 0xae3d1ed5, 0x2d362739, 0xf0a64d9, 0x5c6821a6, 0x5b9bd154, 0x36243a2e, 0xa0cb167, 0x57930fe7, 0xeeb4d296, 0x9b1b9e91, 0xc0804fc5, 0xdc61a220, 0x775a694b, 0x121c161a, 0x93e20aba, 0xa0c0e52a, 0x223c43e0, 0x1b121d17, 0x90e0b0d, 0x8bf2adc7, 0xb62db9a8, 0x1e14c8a9, 0xf1578519, 0x75af4c07, 0x99eebbdd, 0x7fa3fd60, 0x1f79f26, 0x725cbcf5, 0x6644c53b, 0xfb5b347e, 0x438b7629, 0x23cbdcc6, 0xedb668fc, 0xe4b863f1, 0x31d7cadc, 0x63421085, 0x97134022, 0xc6842011, 0x4a857d24, 0xbbd2f83d, 0xf9ae1132, 0x29c76da1, 0x9e1d4b2f, 0xb2dcf330, 0x860dec52, 0xc177d0e3, 0xb32b6c16, 0x70a999b9, 0x9411fa48, 0xe9472264, 0xfca8c48c, 0xf0a01a3f, 0x7d56d82c, 0x3322ef90, 0x4987c74e, 0x38d9c1d1, 0xca8cfea2, 0xd498360b, 0xf5a6cf81, 0x7aa528de, 0xb7da268e, 0xad3fa4bf, 0x3a2ce49d, 0x78500d92, 0x5f6a9bcc, 0x7e546246, 0x8df6c213, 0xd890e8b8, 0x392e5ef7, 0xc382f5af, 0x5d9fbe80, 0xd0697c93, 0xd56fa92d, 0x25cfb312, 0xacc83b99, 0x1810a77d, 0x9ce86e63, 0x3bdb7bbb, 0x26cd0978, 0x596ef418, 0x9aec01b7, 0x4f83a89a, 0x95e6656e, 0xffaa7ee6, 0xbc2108cf, 0x15efe6e8, 0xe7bad99b, 0x6f4ace36, 0x9fead409, 0xb029d67c, 0xa431afb2, 0x3f2a3123, 0xa5c63094, 0xa235c066, 0x4e7437bc, 0x82fca6ca, 0x90e0b0d0, 0xa73315d8, 0x4f14a98, 0xec41f7da, 0xcd7f0e50, 0x91172ff6, 0x4d768dd6, 0xef434db0, 0xaacc544d, 0x96e4df04, 0xd19ee3b5, 0x6a4c1b88, 0x2cc1b81f, 0x65467f51, 0x5e9d04ea, 0x8c015d35, 0x87fa7374, 0xbfb2e41, 0x67b35a1d, 0xdb9252d2, 0x10e93356, 0xd66d1347, 0xd79a8c61, 0xa1377a0c, 0xf8598e14, 0x13eb893c, 0xa9ceee27, 0x61b735c9, 0x1ce1ede5, 0x477a3cb1, 0xd29c59df, 0xf2553f73, 0x141879ce, 0xc773bf37, 0xf753eacd, 0xfd5f5baa, 0x3ddf146f, 0x447886db, 0xafca81f3, 0x68b93ec4, 0x24382c34, 0xa3c25f40, 0x1d1672c3, 0xe2bc0c25, 0x3c288b49, 0xdff4195, 0xa8397101, 0xc08deb3, 0xb4d89ce4, 0x566490c1, 0xcb7b6184, 0x32d570b6, 0x6c48745c, 0xb8d04257]"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/AES.swift",
+ "kind": "Array",
+ "offset": 22761,
+ "length": 3050,
+ "value": "[0xc6a56363, 0xf8847c7c, 0xee997777, 0xf68d7b7b, 0xff0df2f2, 0xd6bd6b6b, 0xdeb16f6f, 0x9154c5c5, 0x60503030, 0x2030101, 0xcea96767, 0x567d2b2b, 0xe719fefe, 0xb562d7d7, 0x4de6abab, 0xec9a7676, 0x8f45caca, 0x1f9d8282, 0x8940c9c9, 0xfa877d7d, 0xef15fafa, 0xb2eb5959, 0x8ec94747, 0xfb0bf0f0, 0x41ecadad, 0xb367d4d4, 0x5ffda2a2, 0x45eaafaf, 0x23bf9c9c, 0x53f7a4a4, 0xe4967272, 0x9b5bc0c0, 0x75c2b7b7, 0xe11cfdfd, 0x3dae9393, 0x4c6a2626, 0x6c5a3636, 0x7e413f3f, 0xf502f7f7, 0x834fcccc, 0x685c3434, 0x51f4a5a5, 0xd134e5e5, 0xf908f1f1, 0xe2937171, 0xab73d8d8, 0x62533131, 0x2a3f1515, 0x80c0404, 0x9552c7c7, 0x46652323, 0x9d5ec3c3, 0x30281818, 0x37a19696, 0xa0f0505, 0x2fb59a9a, 0xe090707, 0x24361212, 0x1b9b8080, 0xdf3de2e2, 0xcd26ebeb, 0x4e692727, 0x7fcdb2b2, 0xea9f7575, 0x121b0909, 0x1d9e8383, 0x58742c2c, 0x342e1a1a, 0x362d1b1b, 0xdcb26e6e, 0xb4ee5a5a, 0x5bfba0a0, 0xa4f65252, 0x764d3b3b, 0xb761d6d6, 0x7dceb3b3, 0x527b2929, 0xdd3ee3e3, 0x5e712f2f, 0x13978484, 0xa6f55353, 0xb968d1d1, 0x0, 0xc12ceded, 0x40602020, 0xe31ffcfc, 0x79c8b1b1, 0xb6ed5b5b, 0xd4be6a6a, 0x8d46cbcb, 0x67d9bebe, 0x724b3939, 0x94de4a4a, 0x98d44c4c, 0xb0e85858, 0x854acfcf, 0xbb6bd0d0, 0xc52aefef, 0x4fe5aaaa, 0xed16fbfb, 0x86c54343, 0x9ad74d4d, 0x66553333, 0x11948585, 0x8acf4545, 0xe910f9f9, 0x4060202, 0xfe817f7f, 0xa0f05050, 0x78443c3c, 0x25ba9f9f, 0x4be3a8a8, 0xa2f35151, 0x5dfea3a3, 0x80c04040, 0x58a8f8f, 0x3fad9292, 0x21bc9d9d, 0x70483838, 0xf104f5f5, 0x63dfbcbc, 0x77c1b6b6, 0xaf75dada, 0x42632121, 0x20301010, 0xe51affff, 0xfd0ef3f3, 0xbf6dd2d2, 0x814ccdcd, 0x18140c0c, 0x26351313, 0xc32fecec, 0xbee15f5f, 0x35a29797, 0x88cc4444, 0x2e391717, 0x9357c4c4, 0x55f2a7a7, 0xfc827e7e, 0x7a473d3d, 0xc8ac6464, 0xbae75d5d, 0x322b1919, 0xe6957373, 0xc0a06060, 0x19988181, 0x9ed14f4f, 0xa37fdcdc, 0x44662222, 0x547e2a2a, 0x3bab9090, 0xb838888, 0x8cca4646, 0xc729eeee, 0x6bd3b8b8, 0x283c1414, 0xa779dede, 0xbce25e5e, 0x161d0b0b, 0xad76dbdb, 0xdb3be0e0, 0x64563232, 0x744e3a3a, 0x141e0a0a, 0x92db4949, 0xc0a0606, 0x486c2424, 0xb8e45c5c, 0x9f5dc2c2, 0xbd6ed3d3, 0x43efacac, 0xc4a66262, 0x39a89191, 0x31a49595, 0xd337e4e4, 0xf28b7979, 0xd532e7e7, 0x8b43c8c8, 0x6e593737, 0xdab76d6d, 0x18c8d8d, 0xb164d5d5, 0x9cd24e4e, 0x49e0a9a9, 0xd8b46c6c, 0xacfa5656, 0xf307f4f4, 0xcf25eaea, 0xcaaf6565, 0xf48e7a7a, 0x47e9aeae, 0x10180808, 0x6fd5baba, 0xf0887878, 0x4a6f2525, 0x5c722e2e, 0x38241c1c, 0x57f1a6a6, 0x73c7b4b4, 0x9751c6c6, 0xcb23e8e8, 0xa17cdddd, 0xe89c7474, 0x3e211f1f, 0x96dd4b4b, 0x61dcbdbd, 0xd868b8b, 0xf858a8a, 0xe0907070, 0x7c423e3e, 0x71c4b5b5, 0xccaa6666, 0x90d84848, 0x6050303, 0xf701f6f6, 0x1c120e0e, 0xc2a36161, 0x6a5f3535, 0xaef95757, 0x69d0b9b9, 0x17918686, 0x9958c1c1, 0x3a271d1d, 0x27b99e9e, 0xd938e1e1, 0xeb13f8f8, 0x2bb39898, 0x22331111, 0xd2bb6969, 0xa970d9d9, 0x7898e8e, 0x33a79494, 0x2db69b9b, 0x3c221e1e, 0x15928787, 0xc920e9e9, 0x8749cece, 0xaaff5555, 0x50782828, 0xa57adfdf, 0x38f8c8c, 0x59f8a1a1, 0x9808989, 0x1a170d0d, 0x65dabfbf, 0xd731e6e6, 0x84c64242, 0xd0b86868, 0x82c34141, 0x29b09999, 0x5a772d2d, 0x1e110f0f, 0x7bcbb0b0, 0xa8fc5454, 0x6dd6bbbb, 0x2c3a1616]"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/AES.swift",
+ "kind": "Array",
+ "offset": 25867,
+ "length": 3050,
+ "value": "[0x5150a7f4, 0x7e536541, 0x1ac3a417, 0x3a965e27, 0x3bcb6bab, 0x1ff1459d, 0xacab58fa, 0x4b9303e3, 0x2055fa30, 0xadf66d76, 0x889176cc, 0xf5254c02, 0x4ffcd7e5, 0xc5d7cb2a, 0x26804435, 0xb58fa362, 0xde495ab1, 0x25671bba, 0x45980eea, 0x5de1c0fe, 0xc302752f, 0x8112f04c, 0x8da39746, 0x6bc6f9d3, 0x3e75f8f, 0x15959c92, 0xbfeb7a6d, 0x95da5952, 0xd42d83be, 0x58d32174, 0x492969e0, 0x8e44c8c9, 0x756a89c2, 0xf478798e, 0x996b3e58, 0x27dd71b9, 0xbeb64fe1, 0xf017ad88, 0xc966ac20, 0x7db43ace, 0x63184adf, 0xe582311a, 0x97603351, 0x62457f53, 0xb1e07764, 0xbb84ae6b, 0xfe1ca081, 0xf9942b08, 0x70586848, 0x8f19fd45, 0x94876cde, 0x52b7f87b, 0xab23d373, 0x72e2024b, 0xe3578f1f, 0x662aab55, 0xb20728eb, 0x2f03c2b5, 0x869a7bc5, 0xd3a50837, 0x30f28728, 0x23b2a5bf, 0x2ba6a03, 0xed5c8216, 0x8a2b1ccf, 0xa792b479, 0xf3f0f207, 0x4ea1e269, 0x65cdf4da, 0x6d5be05, 0xd11f6234, 0xc48afea6, 0x349d532e, 0xa2a055f3, 0x532e18a, 0xa475ebf6, 0xb39ec83, 0x40aaef60, 0x5e069f71, 0xbd51106e, 0x3ef98a21, 0x963d06dd, 0xddae053e, 0x4d46bde6, 0x91b58d54, 0x71055dc4, 0x46fd406, 0x60ff1550, 0x1924fb98, 0xd697e9bd, 0x89cc4340, 0x67779ed9, 0xb0bd42e8, 0x7888b89, 0xe7385b19, 0x79dbeec8, 0xa1470a7c, 0x7ce90f42, 0xf8c91e84, 0x0, 0x9838680, 0x3248ed2b, 0x1eac7011, 0x6c4e725a, 0xfdfbff0e, 0xf563885, 0x3d1ed5ae, 0x3627392d, 0xa64d90f, 0x6821a65c, 0x9bd1545b, 0x243a2e36, 0xcb1670a, 0x930fe757, 0xb4d296ee, 0x1b9e919b, 0x804fc5c0, 0x61a220dc, 0x5a694b77, 0x1c161a12, 0xe20aba93, 0xc0e52aa0, 0x3c43e022, 0x121d171b, 0xe0b0d09, 0xf2adc78b, 0x2db9a8b6, 0x14c8a91e, 0x578519f1, 0xaf4c0775, 0xeebbdd99, 0xa3fd607f, 0xf79f2601, 0x5cbcf572, 0x44c53b66, 0x5b347efb, 0x8b762943, 0xcbdcc623, 0xb668fced, 0xb863f1e4, 0xd7cadc31, 0x42108563, 0x13402297, 0x842011c6, 0x857d244a, 0xd2f83dbb, 0xae1132f9, 0xc76da129, 0x1d4b2f9e, 0xdcf330b2, 0xdec5286, 0x77d0e3c1, 0x2b6c16b3, 0xa999b970, 0x11fa4894, 0x472264e9, 0xa8c48cfc, 0xa01a3ff0, 0x56d82c7d, 0x22ef9033, 0x87c74e49, 0xd9c1d138, 0x8cfea2ca, 0x98360bd4, 0xa6cf81f5, 0xa528de7a, 0xda268eb7, 0x3fa4bfad, 0x2ce49d3a, 0x500d9278, 0x6a9bcc5f, 0x5462467e, 0xf6c2138d, 0x90e8b8d8, 0x2e5ef739, 0x82f5afc3, 0x9fbe805d, 0x697c93d0, 0x6fa92dd5, 0xcfb31225, 0xc83b99ac, 0x10a77d18, 0xe86e639c, 0xdb7bbb3b, 0xcd097826, 0x6ef41859, 0xec01b79a, 0x83a89a4f, 0xe6656e95, 0xaa7ee6ff, 0x2108cfbc, 0xefe6e815, 0xbad99be7, 0x4ace366f, 0xead4099f, 0x29d67cb0, 0x31afb2a4, 0x2a31233f, 0xc63094a5, 0x35c066a2, 0x7437bc4e, 0xfca6ca82, 0xe0b0d090, 0x3315d8a7, 0xf14a9804, 0x41f7daec, 0x7f0e50cd, 0x172ff691, 0x768dd64d, 0x434db0ef, 0xcc544daa, 0xe4df0496, 0x9ee3b5d1, 0x4c1b886a, 0xc1b81f2c, 0x467f5165, 0x9d04ea5e, 0x15d358c, 0xfa737487, 0xfb2e410b, 0xb35a1d67, 0x9252d2db, 0xe9335610, 0x6d1347d6, 0x9a8c61d7, 0x377a0ca1, 0x598e14f8, 0xeb893c13, 0xceee27a9, 0xb735c961, 0xe1ede51c, 0x7a3cb147, 0x9c59dfd2, 0x553f73f2, 0x1879ce14, 0x73bf37c7, 0x53eacdf7, 0x5f5baafd, 0xdf146f3d, 0x7886db44, 0xca81f3af, 0xb93ec468, 0x382c3424, 0xc25f40a3, 0x1672c31d, 0xbc0c25e2, 0x288b493c, 0xff41950d, 0x397101a8, 0x8deb30c, 0xd89ce4b4, 0x6490c156, 0x7b6184cb, 0xd570b632, 0x48745c6c, 0xd04257b8]"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/AES.swift",
+ "kind": "Array",
+ "offset": 28969,
+ "length": 3050,
+ "value": "[0x0, 0xb0d090e, 0x161a121c, 0x1d171b12, 0x2c342438, 0x27392d36, 0x3a2e3624, 0x31233f2a, 0x58684870, 0x5365417e, 0x4e725a6c, 0x457f5362, 0x745c6c48, 0x7f516546, 0x62467e54, 0x694b775a, 0xb0d090e0, 0xbbdd99ee, 0xa6ca82fc, 0xadc78bf2, 0x9ce4b4d8, 0x97e9bdd6, 0x8afea6c4, 0x81f3afca, 0xe8b8d890, 0xe3b5d19e, 0xfea2ca8c, 0xf5afc382, 0xc48cfca8, 0xcf81f5a6, 0xd296eeb4, 0xd99be7ba, 0x7bbb3bdb, 0x70b632d5, 0x6da129c7, 0x66ac20c9, 0x578f1fe3, 0x5c8216ed, 0x41950dff, 0x4a9804f1, 0x23d373ab, 0x28de7aa5, 0x35c961b7, 0x3ec468b9, 0xfe75793, 0x4ea5e9d, 0x19fd458f, 0x12f04c81, 0xcb6bab3b, 0xc066a235, 0xdd71b927, 0xd67cb029, 0xe75f8f03, 0xec52860d, 0xf1459d1f, 0xfa489411, 0x9303e34b, 0x980eea45, 0x8519f157, 0x8e14f859, 0xbf37c773, 0xb43ace7d, 0xa92dd56f, 0xa220dc61, 0xf66d76ad, 0xfd607fa3, 0xe07764b1, 0xeb7a6dbf, 0xda595295, 0xd1545b9b, 0xcc434089, 0xc74e4987, 0xae053edd, 0xa50837d3, 0xb81f2cc1, 0xb31225cf, 0x82311ae5, 0x893c13eb, 0x942b08f9, 0x9f2601f7, 0x46bde64d, 0x4db0ef43, 0x50a7f451, 0x5baafd5f, 0x6a89c275, 0x6184cb7b, 0x7c93d069, 0x779ed967, 0x1ed5ae3d, 0x15d8a733, 0x8cfbc21, 0x3c2b52f, 0x32e18a05, 0x39ec830b, 0x24fb9819, 0x2ff69117, 0x8dd64d76, 0x86db4478, 0x9bcc5f6a, 0x90c15664, 0xa1e2694e, 0xaaef6040, 0xb7f87b52, 0xbcf5725c, 0xd5be0506, 0xdeb30c08, 0xc3a4171a, 0xc8a91e14, 0xf98a213e, 0xf2872830, 0xef903322, 0xe49d3a2c, 0x3d06dd96, 0x360bd498, 0x2b1ccf8a, 0x2011c684, 0x1132f9ae, 0x1a3ff0a0, 0x728ebb2, 0xc25e2bc, 0x656e95e6, 0x6e639ce8, 0x737487fa, 0x78798ef4, 0x495ab1de, 0x4257b8d0, 0x5f40a3c2, 0x544daacc, 0xf7daec41, 0xfcd7e54f, 0xe1c0fe5d, 0xeacdf753, 0xdbeec879, 0xd0e3c177, 0xcdf4da65, 0xc6f9d36b, 0xafb2a431, 0xa4bfad3f, 0xb9a8b62d, 0xb2a5bf23, 0x83868009, 0x888b8907, 0x959c9215, 0x9e919b1b, 0x470a7ca1, 0x4c0775af, 0x51106ebd, 0x5a1d67b3, 0x6b3e5899, 0x60335197, 0x7d244a85, 0x7629438b, 0x1f6234d1, 0x146f3ddf, 0x97826cd, 0x2752fc3, 0x335610e9, 0x385b19e7, 0x254c02f5, 0x2e410bfb, 0x8c61d79a, 0x876cde94, 0x9a7bc586, 0x9176cc88, 0xa055f3a2, 0xab58faac, 0xb64fe1be, 0xbd42e8b0, 0xd4099fea, 0xdf0496e4, 0xc2138df6, 0xc91e84f8, 0xf83dbbd2, 0xf330b2dc, 0xee27a9ce, 0xe52aa0c0, 0x3cb1477a, 0x37bc4e74, 0x2aab5566, 0x21a65c68, 0x10856342, 0x1b886a4c, 0x69f715e, 0xd927850, 0x64d90f0a, 0x6fd40604, 0x72c31d16, 0x79ce1418, 0x48ed2b32, 0x43e0223c, 0x5ef7392e, 0x55fa3020, 0x1b79aec, 0xaba93e2, 0x17ad88f0, 0x1ca081fe, 0x2d83bed4, 0x268eb7da, 0x3b99acc8, 0x3094a5c6, 0x59dfd29c, 0x52d2db92, 0x4fc5c080, 0x44c8c98e, 0x75ebf6a4, 0x7ee6ffaa, 0x63f1e4b8, 0x68fcedb6, 0xb1670a0c, 0xba6a0302, 0xa77d1810, 0xac70111e, 0x9d532e34, 0x965e273a, 0x8b493c28, 0x80443526, 0xe90f427c, 0xe2024b72, 0xff155060, 0xf418596e, 0xc53b6644, 0xce366f4a, 0xd3217458, 0xd82c7d56, 0x7a0ca137, 0x7101a839, 0x6c16b32b, 0x671bba25, 0x5638850f, 0x5d358c01, 0x40229713, 0x4b2f9e1d, 0x2264e947, 0x2969e049, 0x347efb5b, 0x3f73f255, 0xe50cd7f, 0x55dc471, 0x184adf63, 0x1347d66d, 0xcadc31d7, 0xc1d138d9, 0xdcc623cb, 0xd7cb2ac5, 0xe6e815ef, 0xede51ce1, 0xf0f207f3, 0xfbff0efd, 0x92b479a7, 0x99b970a9, 0x84ae6bbb, 0x8fa362b5, 0xbe805d9f, 0xb58d5491, 0xa89a4f83, 0xa397468d]"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/AES.swift",
+ "kind": "Array",
+ "offset": 32071,
+ "length": 3050,
+ "value": "[0x0, 0xd090e0b, 0x1a121c16, 0x171b121d, 0x3424382c, 0x392d3627, 0x2e36243a, 0x233f2a31, 0x68487058, 0x65417e53, 0x725a6c4e, 0x7f536245, 0x5c6c4874, 0x5165467f, 0x467e5462, 0x4b775a69, 0xd090e0b0, 0xdd99eebb, 0xca82fca6, 0xc78bf2ad, 0xe4b4d89c, 0xe9bdd697, 0xfea6c48a, 0xf3afca81, 0xb8d890e8, 0xb5d19ee3, 0xa2ca8cfe, 0xafc382f5, 0x8cfca8c4, 0x81f5a6cf, 0x96eeb4d2, 0x9be7bad9, 0xbb3bdb7b, 0xb632d570, 0xa129c76d, 0xac20c966, 0x8f1fe357, 0x8216ed5c, 0x950dff41, 0x9804f14a, 0xd373ab23, 0xde7aa528, 0xc961b735, 0xc468b93e, 0xe757930f, 0xea5e9d04, 0xfd458f19, 0xf04c8112, 0x6bab3bcb, 0x66a235c0, 0x71b927dd, 0x7cb029d6, 0x5f8f03e7, 0x52860dec, 0x459d1ff1, 0x489411fa, 0x3e34b93, 0xeea4598, 0x19f15785, 0x14f8598e, 0x37c773bf, 0x3ace7db4, 0x2dd56fa9, 0x20dc61a2, 0x6d76adf6, 0x607fa3fd, 0x7764b1e0, 0x7a6dbfeb, 0x595295da, 0x545b9bd1, 0x434089cc, 0x4e4987c7, 0x53eddae, 0x837d3a5, 0x1f2cc1b8, 0x1225cfb3, 0x311ae582, 0x3c13eb89, 0x2b08f994, 0x2601f79f, 0xbde64d46, 0xb0ef434d, 0xa7f45150, 0xaafd5f5b, 0x89c2756a, 0x84cb7b61, 0x93d0697c, 0x9ed96777, 0xd5ae3d1e, 0xd8a73315, 0xcfbc2108, 0xc2b52f03, 0xe18a0532, 0xec830b39, 0xfb981924, 0xf691172f, 0xd64d768d, 0xdb447886, 0xcc5f6a9b, 0xc1566490, 0xe2694ea1, 0xef6040aa, 0xf87b52b7, 0xf5725cbc, 0xbe0506d5, 0xb30c08de, 0xa4171ac3, 0xa91e14c8, 0x8a213ef9, 0x872830f2, 0x903322ef, 0x9d3a2ce4, 0x6dd963d, 0xbd49836, 0x1ccf8a2b, 0x11c68420, 0x32f9ae11, 0x3ff0a01a, 0x28ebb207, 0x25e2bc0c, 0x6e95e665, 0x639ce86e, 0x7487fa73, 0x798ef478, 0x5ab1de49, 0x57b8d042, 0x40a3c25f, 0x4daacc54, 0xdaec41f7, 0xd7e54ffc, 0xc0fe5de1, 0xcdf753ea, 0xeec879db, 0xe3c177d0, 0xf4da65cd, 0xf9d36bc6, 0xb2a431af, 0xbfad3fa4, 0xa8b62db9, 0xa5bf23b2, 0x86800983, 0x8b890788, 0x9c921595, 0x919b1b9e, 0xa7ca147, 0x775af4c, 0x106ebd51, 0x1d67b35a, 0x3e58996b, 0x33519760, 0x244a857d, 0x29438b76, 0x6234d11f, 0x6f3ddf14, 0x7826cd09, 0x752fc302, 0x5610e933, 0x5b19e738, 0x4c02f525, 0x410bfb2e, 0x61d79a8c, 0x6cde9487, 0x7bc5869a, 0x76cc8891, 0x55f3a2a0, 0x58faacab, 0x4fe1beb6, 0x42e8b0bd, 0x99fead4, 0x496e4df, 0x138df6c2, 0x1e84f8c9, 0x3dbbd2f8, 0x30b2dcf3, 0x27a9ceee, 0x2aa0c0e5, 0xb1477a3c, 0xbc4e7437, 0xab55662a, 0xa65c6821, 0x85634210, 0x886a4c1b, 0x9f715e06, 0x9278500d, 0xd90f0a64, 0xd406046f, 0xc31d1672, 0xce141879, 0xed2b3248, 0xe0223c43, 0xf7392e5e, 0xfa302055, 0xb79aec01, 0xba93e20a, 0xad88f017, 0xa081fe1c, 0x83bed42d, 0x8eb7da26, 0x99acc83b, 0x94a5c630, 0xdfd29c59, 0xd2db9252, 0xc5c0804f, 0xc8c98e44, 0xebf6a475, 0xe6ffaa7e, 0xf1e4b863, 0xfcedb668, 0x670a0cb1, 0x6a0302ba, 0x7d1810a7, 0x70111eac, 0x532e349d, 0x5e273a96, 0x493c288b, 0x44352680, 0xf427ce9, 0x24b72e2, 0x155060ff, 0x18596ef4, 0x3b6644c5, 0x366f4ace, 0x217458d3, 0x2c7d56d8, 0xca1377a, 0x1a83971, 0x16b32b6c, 0x1bba2567, 0x38850f56, 0x358c015d, 0x22971340, 0x2f9e1d4b, 0x64e94722, 0x69e04929, 0x7efb5b34, 0x73f2553f, 0x50cd7f0e, 0x5dc47105, 0x4adf6318, 0x47d66d13, 0xdc31d7ca, 0xd138d9c1, 0xc623cbdc, 0xcb2ac5d7, 0xe815efe6, 0xe51ce1ed, 0xf207f3f0, 0xff0efdfb, 0xb479a792, 0xb970a999, 0xae6bbb84, 0xa362b58f, 0x805d9fbe, 0x8d5491b5, 0x9a4f83a8, 0x97468da3]"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/AES.swift",
+ "kind": "Array",
+ "offset": 35173,
+ "length": 3050,
+ "value": "[0x0, 0x90e0b0d, 0x121c161a, 0x1b121d17, 0x24382c34, 0x2d362739, 0x36243a2e, 0x3f2a3123, 0x48705868, 0x417e5365, 0x5a6c4e72, 0x5362457f, 0x6c48745c, 0x65467f51, 0x7e546246, 0x775a694b, 0x90e0b0d0, 0x99eebbdd, 0x82fca6ca, 0x8bf2adc7, 0xb4d89ce4, 0xbdd697e9, 0xa6c48afe, 0xafca81f3, 0xd890e8b8, 0xd19ee3b5, 0xca8cfea2, 0xc382f5af, 0xfca8c48c, 0xf5a6cf81, 0xeeb4d296, 0xe7bad99b, 0x3bdb7bbb, 0x32d570b6, 0x29c76da1, 0x20c966ac, 0x1fe3578f, 0x16ed5c82, 0xdff4195, 0x4f14a98, 0x73ab23d3, 0x7aa528de, 0x61b735c9, 0x68b93ec4, 0x57930fe7, 0x5e9d04ea, 0x458f19fd, 0x4c8112f0, 0xab3bcb6b, 0xa235c066, 0xb927dd71, 0xb029d67c, 0x8f03e75f, 0x860dec52, 0x9d1ff145, 0x9411fa48, 0xe34b9303, 0xea45980e, 0xf1578519, 0xf8598e14, 0xc773bf37, 0xce7db43a, 0xd56fa92d, 0xdc61a220, 0x76adf66d, 0x7fa3fd60, 0x64b1e077, 0x6dbfeb7a, 0x5295da59, 0x5b9bd154, 0x4089cc43, 0x4987c74e, 0x3eddae05, 0x37d3a508, 0x2cc1b81f, 0x25cfb312, 0x1ae58231, 0x13eb893c, 0x8f9942b, 0x1f79f26, 0xe64d46bd, 0xef434db0, 0xf45150a7, 0xfd5f5baa, 0xc2756a89, 0xcb7b6184, 0xd0697c93, 0xd967779e, 0xae3d1ed5, 0xa73315d8, 0xbc2108cf, 0xb52f03c2, 0x8a0532e1, 0x830b39ec, 0x981924fb, 0x91172ff6, 0x4d768dd6, 0x447886db, 0x5f6a9bcc, 0x566490c1, 0x694ea1e2, 0x6040aaef, 0x7b52b7f8, 0x725cbcf5, 0x506d5be, 0xc08deb3, 0x171ac3a4, 0x1e14c8a9, 0x213ef98a, 0x2830f287, 0x3322ef90, 0x3a2ce49d, 0xdd963d06, 0xd498360b, 0xcf8a2b1c, 0xc6842011, 0xf9ae1132, 0xf0a01a3f, 0xebb20728, 0xe2bc0c25, 0x95e6656e, 0x9ce86e63, 0x87fa7374, 0x8ef47879, 0xb1de495a, 0xb8d04257, 0xa3c25f40, 0xaacc544d, 0xec41f7da, 0xe54ffcd7, 0xfe5de1c0, 0xf753eacd, 0xc879dbee, 0xc177d0e3, 0xda65cdf4, 0xd36bc6f9, 0xa431afb2, 0xad3fa4bf, 0xb62db9a8, 0xbf23b2a5, 0x80098386, 0x8907888b, 0x9215959c, 0x9b1b9e91, 0x7ca1470a, 0x75af4c07, 0x6ebd5110, 0x67b35a1d, 0x58996b3e, 0x51976033, 0x4a857d24, 0x438b7629, 0x34d11f62, 0x3ddf146f, 0x26cd0978, 0x2fc30275, 0x10e93356, 0x19e7385b, 0x2f5254c, 0xbfb2e41, 0xd79a8c61, 0xde94876c, 0xc5869a7b, 0xcc889176, 0xf3a2a055, 0xfaacab58, 0xe1beb64f, 0xe8b0bd42, 0x9fead409, 0x96e4df04, 0x8df6c213, 0x84f8c91e, 0xbbd2f83d, 0xb2dcf330, 0xa9ceee27, 0xa0c0e52a, 0x477a3cb1, 0x4e7437bc, 0x55662aab, 0x5c6821a6, 0x63421085, 0x6a4c1b88, 0x715e069f, 0x78500d92, 0xf0a64d9, 0x6046fd4, 0x1d1672c3, 0x141879ce, 0x2b3248ed, 0x223c43e0, 0x392e5ef7, 0x302055fa, 0x9aec01b7, 0x93e20aba, 0x88f017ad, 0x81fe1ca0, 0xbed42d83, 0xb7da268e, 0xacc83b99, 0xa5c63094, 0xd29c59df, 0xdb9252d2, 0xc0804fc5, 0xc98e44c8, 0xf6a475eb, 0xffaa7ee6, 0xe4b863f1, 0xedb668fc, 0xa0cb167, 0x302ba6a, 0x1810a77d, 0x111eac70, 0x2e349d53, 0x273a965e, 0x3c288b49, 0x35268044, 0x427ce90f, 0x4b72e202, 0x5060ff15, 0x596ef418, 0x6644c53b, 0x6f4ace36, 0x7458d321, 0x7d56d82c, 0xa1377a0c, 0xa8397101, 0xb32b6c16, 0xba25671b, 0x850f5638, 0x8c015d35, 0x97134022, 0x9e1d4b2f, 0xe9472264, 0xe0492969, 0xfb5b347e, 0xf2553f73, 0xcd7f0e50, 0xc471055d, 0xdf63184a, 0xd66d1347, 0x31d7cadc, 0x38d9c1d1, 0x23cbdcc6, 0x2ac5d7cb, 0x15efe6e8, 0x1ce1ede5, 0x7f3f0f2, 0xefdfbff, 0x79a792b4, 0x70a999b9, 0x6bbb84ae, 0x62b58fa3, 0x5d9fbe80, 0x5491b58d, 0x4f83a89a, 0x468da397]"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/AES.swift",
+ "kind": "Array",
+ "offset": 38275,
+ "length": 3050,
+ "value": "[0x0, 0xe0b0d09, 0x1c161a12, 0x121d171b, 0x382c3424, 0x3627392d, 0x243a2e36, 0x2a31233f, 0x70586848, 0x7e536541, 0x6c4e725a, 0x62457f53, 0x48745c6c, 0x467f5165, 0x5462467e, 0x5a694b77, 0xe0b0d090, 0xeebbdd99, 0xfca6ca82, 0xf2adc78b, 0xd89ce4b4, 0xd697e9bd, 0xc48afea6, 0xca81f3af, 0x90e8b8d8, 0x9ee3b5d1, 0x8cfea2ca, 0x82f5afc3, 0xa8c48cfc, 0xa6cf81f5, 0xb4d296ee, 0xbad99be7, 0xdb7bbb3b, 0xd570b632, 0xc76da129, 0xc966ac20, 0xe3578f1f, 0xed5c8216, 0xff41950d, 0xf14a9804, 0xab23d373, 0xa528de7a, 0xb735c961, 0xb93ec468, 0x930fe757, 0x9d04ea5e, 0x8f19fd45, 0x8112f04c, 0x3bcb6bab, 0x35c066a2, 0x27dd71b9, 0x29d67cb0, 0x3e75f8f, 0xdec5286, 0x1ff1459d, 0x11fa4894, 0x4b9303e3, 0x45980eea, 0x578519f1, 0x598e14f8, 0x73bf37c7, 0x7db43ace, 0x6fa92dd5, 0x61a220dc, 0xadf66d76, 0xa3fd607f, 0xb1e07764, 0xbfeb7a6d, 0x95da5952, 0x9bd1545b, 0x89cc4340, 0x87c74e49, 0xddae053e, 0xd3a50837, 0xc1b81f2c, 0xcfb31225, 0xe582311a, 0xeb893c13, 0xf9942b08, 0xf79f2601, 0x4d46bde6, 0x434db0ef, 0x5150a7f4, 0x5f5baafd, 0x756a89c2, 0x7b6184cb, 0x697c93d0, 0x67779ed9, 0x3d1ed5ae, 0x3315d8a7, 0x2108cfbc, 0x2f03c2b5, 0x532e18a, 0xb39ec83, 0x1924fb98, 0x172ff691, 0x768dd64d, 0x7886db44, 0x6a9bcc5f, 0x6490c156, 0x4ea1e269, 0x40aaef60, 0x52b7f87b, 0x5cbcf572, 0x6d5be05, 0x8deb30c, 0x1ac3a417, 0x14c8a91e, 0x3ef98a21, 0x30f28728, 0x22ef9033, 0x2ce49d3a, 0x963d06dd, 0x98360bd4, 0x8a2b1ccf, 0x842011c6, 0xae1132f9, 0xa01a3ff0, 0xb20728eb, 0xbc0c25e2, 0xe6656e95, 0xe86e639c, 0xfa737487, 0xf478798e, 0xde495ab1, 0xd04257b8, 0xc25f40a3, 0xcc544daa, 0x41f7daec, 0x4ffcd7e5, 0x5de1c0fe, 0x53eacdf7, 0x79dbeec8, 0x77d0e3c1, 0x65cdf4da, 0x6bc6f9d3, 0x31afb2a4, 0x3fa4bfad, 0x2db9a8b6, 0x23b2a5bf, 0x9838680, 0x7888b89, 0x15959c92, 0x1b9e919b, 0xa1470a7c, 0xaf4c0775, 0xbd51106e, 0xb35a1d67, 0x996b3e58, 0x97603351, 0x857d244a, 0x8b762943, 0xd11f6234, 0xdf146f3d, 0xcd097826, 0xc302752f, 0xe9335610, 0xe7385b19, 0xf5254c02, 0xfb2e410b, 0x9a8c61d7, 0x94876cde, 0x869a7bc5, 0x889176cc, 0xa2a055f3, 0xacab58fa, 0xbeb64fe1, 0xb0bd42e8, 0xead4099f, 0xe4df0496, 0xf6c2138d, 0xf8c91e84, 0xd2f83dbb, 0xdcf330b2, 0xceee27a9, 0xc0e52aa0, 0x7a3cb147, 0x7437bc4e, 0x662aab55, 0x6821a65c, 0x42108563, 0x4c1b886a, 0x5e069f71, 0x500d9278, 0xa64d90f, 0x46fd406, 0x1672c31d, 0x1879ce14, 0x3248ed2b, 0x3c43e022, 0x2e5ef739, 0x2055fa30, 0xec01b79a, 0xe20aba93, 0xf017ad88, 0xfe1ca081, 0xd42d83be, 0xda268eb7, 0xc83b99ac, 0xc63094a5, 0x9c59dfd2, 0x9252d2db, 0x804fc5c0, 0x8e44c8c9, 0xa475ebf6, 0xaa7ee6ff, 0xb863f1e4, 0xb668fced, 0xcb1670a, 0x2ba6a03, 0x10a77d18, 0x1eac7011, 0x349d532e, 0x3a965e27, 0x288b493c, 0x26804435, 0x7ce90f42, 0x72e2024b, 0x60ff1550, 0x6ef41859, 0x44c53b66, 0x4ace366f, 0x58d32174, 0x56d82c7d, 0x377a0ca1, 0x397101a8, 0x2b6c16b3, 0x25671bba, 0xf563885, 0x15d358c, 0x13402297, 0x1d4b2f9e, 0x472264e9, 0x492969e0, 0x5b347efb, 0x553f73f2, 0x7f0e50cd, 0x71055dc4, 0x63184adf, 0x6d1347d6, 0xd7cadc31, 0xd9c1d138, 0xcbdcc623, 0xc5d7cb2a, 0xefe6e815, 0xe1ede51c, 0xf3f0f207, 0xfdfbff0e, 0xa792b479, 0xa999b970, 0xbb84ae6b, 0xb58fa362, 0x9fbe805d, 0x91b58d54, 0x83a89a4f, 0x8da39746]"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/CS_BigInt\/DataConversion.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2492,
+ "length": 1,
+ "value": "8"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/CS_BigInt\/DataConversion.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2497,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/CS_BigInt\/DataConversion.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2542,
+ "length": 1,
+ "value": "7"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/CS_BigInt\/DataConversion.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2547,
+ "length": 1,
+ "value": "8"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/CS_BigInt\/DataConversion.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2576,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/CS_BigInt\/DataConversion.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2780,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/CS_BigInt\/DataConversion.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2848,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/CS_BigInt\/DataConversion.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2870,
+ "length": 1,
+ "value": "8"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/CS_BigInt\/DataConversion.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2914,
+ "length": 4,
+ "value": "0xFF"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/CS_BigInt\/DataConversion.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2949,
+ "length": 1,
+ "value": "8"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/CS_BigInt\/DataConversion.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2979,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/CS_BigInt\/DataConversion.swift",
+ "kind": "IntegerLiteral",
+ "offset": 3022,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/CS_BigInt\/DataConversion.swift",
+ "kind": "IntegerLiteral",
+ "offset": 3102,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/Any.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1376,
+ "length": 10,
+ "value": "0b11111111"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/Any.swift",
+ "kind": "StringLiteral",
+ "offset": 3358,
+ "length": 6,
+ "value": "\"%02x\""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/Any.swift",
+ "kind": "StringLiteral",
+ "offset": 3388,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/Any.swift",
+ "kind": "StringLiteral",
+ "offset": 3559,
+ "length": 6,
+ "value": "\"%02x\""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/Tools\/Any.swift",
+ "kind": "StringLiteral",
+ "offset": 3589,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/MSTranscription.swift",
+ "kind": "StringLiteral",
+ "offset": 947,
+ "length": 32,
+ "value": "\"group.WhispererKeyboardSharing\""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/BlockMode\/CBC.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1823,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/CS_BigInt\/Codable.swift",
+ "kind": "IntegerLiteral",
+ "offset": 662,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/CS_BigInt\/Codable.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1820,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/CS_BigInt\/Codable.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1858,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/CS_BigInt\/Codable.swift",
+ "kind": "Array",
+ "offset": 1876,
+ "length": 2,
+ "value": "[]"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/CS_BigInt\/Codable.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2480,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/CS_BigInt\/Codable.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2814,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/CS_BigInt\/Codable.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2876,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/CS_BigInt\/Codable.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2898,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/CS_BigInt\/Codable.swift",
+ "kind": "IntegerLiteral",
+ "offset": 3161,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/CS_BigInt\/Codable.swift",
+ "kind": "IntegerLiteral",
+ "offset": 3187,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/CS_BigInt\/Codable.swift",
+ "kind": "IntegerLiteral",
+ "offset": 3240,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/CS_BigInt\/Codable.swift",
+ "kind": "IntegerLiteral",
+ "offset": 3319,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/SHA1.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1010,
+ "length": 2,
+ "value": "20"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/SHA1.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1075,
+ "length": 2,
+ "value": "64"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/SHA1.swift",
+ "kind": "Array",
+ "offset": 1156,
+ "length": 60,
+ "value": "[0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0]"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/SHA1.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1332,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/SHA1.swift",
+ "kind": "BooleanLiteral",
+ "offset": 3441,
+ "length": 5,
+ "value": "false"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/BlockMode\/PCBC.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1835,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/Foundation\/Data+Extension.swift",
+ "kind": "BooleanLiteral",
+ "offset": 1803,
+ "length": 4,
+ "value": "true"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/Foundation\/Data+Extension.swift",
+ "kind": "BooleanLiteral",
+ "offset": 1955,
+ "length": 4,
+ "value": "true"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/SwiftHTTP\/StatusCode.swift",
+ "kind": "IntegerLiteral",
+ "offset": 240,
+ "length": 3,
+ "value": "100"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/SwiftHTTP\/StatusCode.swift",
+ "kind": "IntegerLiteral",
+ "offset": 270,
+ "length": 3,
+ "value": "101"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/SwiftHTTP\/StatusCode.swift",
+ "kind": "IntegerLiteral",
+ "offset": 293,
+ "length": 3,
+ "value": "200"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/SwiftHTTP\/StatusCode.swift",
+ "kind": "IntegerLiteral",
+ "offset": 312,
+ "length": 3,
+ "value": "201"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/SwiftHTTP\/StatusCode.swift",
+ "kind": "IntegerLiteral",
+ "offset": 332,
+ "length": 3,
+ "value": "202"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/SwiftHTTP\/StatusCode.swift",
+ "kind": "IntegerLiteral",
+ "offset": 371,
+ "length": 3,
+ "value": "203"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/SwiftHTTP\/StatusCode.swift",
+ "kind": "IntegerLiteral",
+ "offset": 392,
+ "length": 3,
+ "value": "204"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/SwiftHTTP\/StatusCode.swift",
+ "kind": "IntegerLiteral",
+ "offset": 416,
+ "length": 3,
+ "value": "205"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/SwiftHTTP\/StatusCode.swift",
+ "kind": "IntegerLiteral",
+ "offset": 442,
+ "length": 3,
+ "value": "206"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/SwiftHTTP\/StatusCode.swift",
+ "kind": "IntegerLiteral",
+ "offset": 478,
+ "length": 3,
+ "value": "300"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/SwiftHTTP\/StatusCode.swift",
+ "kind": "IntegerLiteral",
+ "offset": 506,
+ "length": 3,
+ "value": "301"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/SwiftHTTP\/StatusCode.swift",
+ "kind": "IntegerLiteral",
+ "offset": 523,
+ "length": 3,
+ "value": "302"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/SwiftHTTP\/StatusCode.swift",
+ "kind": "IntegerLiteral",
+ "offset": 543,
+ "length": 3,
+ "value": "303"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/SwiftHTTP\/StatusCode.swift",
+ "kind": "IntegerLiteral",
+ "offset": 566,
+ "length": 3,
+ "value": "304"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/SwiftHTTP\/StatusCode.swift",
+ "kind": "IntegerLiteral",
+ "offset": 586,
+ "length": 3,
+ "value": "305"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/SwiftHTTP\/StatusCode.swift",
+ "kind": "IntegerLiteral",
+ "offset": 604,
+ "length": 3,
+ "value": "306"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/SwiftHTTP\/StatusCode.swift",
+ "kind": "IntegerLiteral",
+ "offset": 633,
+ "length": 3,
+ "value": "307"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/SwiftHTTP\/StatusCode.swift",
+ "kind": "IntegerLiteral",
+ "offset": 664,
+ "length": 3,
+ "value": "400"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/SwiftHTTP\/StatusCode.swift",
+ "kind": "IntegerLiteral",
+ "offset": 688,
+ "length": 3,
+ "value": "401"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/SwiftHTTP\/StatusCode.swift",
+ "kind": "IntegerLiteral",
+ "offset": 715,
+ "length": 3,
+ "value": "402"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/SwiftHTTP\/StatusCode.swift",
+ "kind": "IntegerLiteral",
+ "offset": 736,
+ "length": 3,
+ "value": "403"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/SwiftHTTP\/StatusCode.swift",
+ "kind": "IntegerLiteral",
+ "offset": 756,
+ "length": 3,
+ "value": "404"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/SwiftHTTP\/StatusCode.swift",
+ "kind": "IntegerLiteral",
+ "offset": 784,
+ "length": 3,
+ "value": "405"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/SwiftHTTP\/StatusCode.swift",
+ "kind": "IntegerLiteral",
+ "offset": 809,
+ "length": 3,
+ "value": "406"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/SwiftHTTP\/StatusCode.swift",
+ "kind": "IntegerLiteral",
+ "offset": 848,
+ "length": 3,
+ "value": "407"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/SwiftHTTP\/StatusCode.swift",
+ "kind": "IntegerLiteral",
+ "offset": 874,
+ "length": 3,
+ "value": "408"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/SwiftHTTP\/StatusCode.swift",
+ "kind": "IntegerLiteral",
+ "offset": 894,
+ "length": 3,
+ "value": "409"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/SwiftHTTP\/StatusCode.swift",
+ "kind": "IntegerLiteral",
+ "offset": 910,
+ "length": 3,
+ "value": "410"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/SwiftHTTP\/StatusCode.swift",
+ "kind": "IntegerLiteral",
+ "offset": 936,
+ "length": 3,
+ "value": "411"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/SwiftHTTP\/StatusCode.swift",
+ "kind": "IntegerLiteral",
+ "offset": 966,
+ "length": 3,
+ "value": "412"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/SwiftHTTP\/StatusCode.swift",
+ "kind": "IntegerLiteral",
+ "offset": 999,
+ "length": 3,
+ "value": "413"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/SwiftHTTP\/StatusCode.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1028,
+ "length": 3,
+ "value": "414"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/SwiftHTTP\/StatusCode.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1060,
+ "length": 3,
+ "value": "415"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/SwiftHTTP\/StatusCode.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1100,
+ "length": 3,
+ "value": "416"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/SwiftHTTP\/StatusCode.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1129,
+ "length": 3,
+ "value": "417"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/SwiftHTTP\/StatusCode.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1169,
+ "length": 3,
+ "value": "500"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/SwiftHTTP\/StatusCode.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1195,
+ "length": 3,
+ "value": "501"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/SwiftHTTP\/StatusCode.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1217,
+ "length": 3,
+ "value": "502"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/SwiftHTTP\/StatusCode.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1247,
+ "length": 3,
+ "value": "503"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/SwiftHTTP\/StatusCode.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1273,
+ "length": 3,
+ "value": "504"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/SwiftHTTP\/StatusCode.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1308,
+ "length": 3,
+ "value": "505"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/SwiftHTTP\/StatusCode.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1339,
+ "length": 5,
+ "value": "-1001"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/SwiftHTTP\/StatusCode.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1375,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/MSSttModel.swift",
+ "kind": "StringLiteral",
+ "offset": 592,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/MSSttModel.swift",
+ "kind": "StringLiteral",
+ "offset": 639,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/MSSttModel.swift",
+ "kind": "IntegerLiteral",
+ "offset": 688,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/MSSttModel.swift",
+ "kind": "StringLiteral",
+ "offset": 739,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/MSSttModel.swift",
+ "kind": "StringLiteral",
+ "offset": 912,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/MSSttModel.swift",
+ "kind": "BooleanLiteral",
+ "offset": 965,
+ "length": 5,
+ "value": "false"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/MSSttModel.swift",
+ "kind": "StringLiteral",
+ "offset": 1024,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/MSSttModel.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1080,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/MSSttModel.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1133,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/Checksum.swift",
+ "kind": "Array",
+ "offset": 1047,
+ "length": 3460,
+ "value": "[0x00000000, 0x77073096, 0xEE0E612C, 0x990951BA, 0x076DC419, 0x706AF48F, 0xE963A535, 0x9E6495A3, 0x0EDB8832, 0x79DCB8A4, 0xE0D5E91E, 0x97D2D988, 0x09B64C2B, 0x7EB17CBD, 0xE7B82D07, 0x90BF1D91, 0x1DB71064, 0x6AB020F2, 0xF3B97148, 0x84BE41DE, 0x1ADAD47D, 0x6DDDE4EB, 0xF4D4B551, 0x83D385C7, 0x136C9856, 0x646BA8C0, 0xFD62F97A, 0x8A65C9EC, 0x14015C4F, 0x63066CD9, 0xFA0F3D63, 0x8D080DF5, 0x3B6E20C8, 0x4C69105E, 0xD56041E4, 0xA2677172, 0x3C03E4D1, 0x4B04D447, 0xD20D85FD, 0xA50AB56B, 0x35B5A8FA, 0x42B2986C, 0xDBBBC9D6, 0xACBCF940, 0x32D86CE3, 0x45DF5C75, 0xDCD60DCF, 0xABD13D59, 0x26D930AC, 0x51DE003A, 0xC8D75180, 0xBFD06116, 0x21B4F4B5, 0x56B3C423, 0xCFBA9599, 0xB8BDA50F, 0x2802B89E, 0x5F058808, 0xC60CD9B2, 0xB10BE924, 0x2F6F7C87, 0x58684C11, 0xC1611DAB, 0xB6662D3D, 0x76DC4190, 0x01DB7106, 0x98D220BC, 0xEFD5102A, 0x71B18589, 0x06B6B51F, 0x9FBFE4A5, 0xE8B8D433, 0x7807C9A2, 0x0F00F934, 0x9609A88E, 0xE10E9818, 0x7F6A0DBB, 0x086D3D2D, 0x91646C97, 0xE6635C01, 0x6B6B51F4, 0x1C6C6162, 0x856530D8, 0xF262004E, 0x6C0695ED, 0x1B01A57B, 0x8208F4C1, 0xF50FC457, 0x65B0D9C6, 0x12B7E950, 0x8BBEB8EA, 0xFCB9887C, 0x62DD1DDF, 0x15DA2D49, 0x8CD37CF3, 0xFBD44C65, 0x4DB26158, 0x3AB551CE, 0xA3BC0074, 0xD4BB30E2, 0x4ADFA541, 0x3DD895D7, 0xA4D1C46D, 0xD3D6F4FB, 0x4369E96A, 0x346ED9FC, 0xAD678846, 0xDA60B8D0, 0x44042D73, 0x33031DE5, 0xAA0A4C5F, 0xDD0D7CC9, 0x5005713C, 0x270241AA, 0xBE0B1010, 0xC90C2086, 0x5768B525, 0x206F85B3, 0xB966D409, 0xCE61E49F, 0x5EDEF90E, 0x29D9C998, 0xB0D09822, 0xC7D7A8B4, 0x59B33D17, 0x2EB40D81, 0xB7BD5C3B, 0xC0BA6CAD, 0xEDB88320, 0x9ABFB3B6, 0x03B6E20C, 0x74B1D29A, 0xEAD54739, 0x9DD277AF, 0x04DB2615, 0x73DC1683, 0xE3630B12, 0x94643B84, 0x0D6D6A3E, 0x7A6A5AA8, 0xE40ECF0B, 0x9309FF9D, 0x0A00AE27, 0x7D079EB1, 0xF00F9344, 0x8708A3D2, 0x1E01F268, 0x6906C2FE, 0xF762575D, 0x806567CB, 0x196C3671, 0x6E6B06E7, 0xFED41B76, 0x89D32BE0, 0x10DA7A5A, 0x67DD4ACC, 0xF9B9DF6F, 0x8EBEEFF9, 0x17B7BE43, 0x60B08ED5, 0xD6D6A3E8, 0xA1D1937E, 0x38D8C2C4, 0x4FDFF252, 0xD1BB67F1, 0xA6BC5767, 0x3FB506DD, 0x48B2364B, 0xD80D2BDA, 0xAF0A1B4C, 0x36034AF6, 0x41047A60, 0xDF60EFC3, 0xA867DF55, 0x316E8EEF, 0x4669BE79, 0xCB61B38C, 0xBC66831A, 0x256FD2A0, 0x5268E236, 0xCC0C7795, 0xBB0B4703, 0x220216B9, 0x5505262F, 0xC5BA3BBE, 0xB2BD0B28, 0x2BB45A92, 0x5CB36A04, 0xC2D7FFA7, 0xB5D0CF31, 0x2CD99E8B, 0x5BDEAE1D, 0x9B64C2B0, 0xEC63F226, 0x756AA39C, 0x026D930A, 0x9C0906A9, 0xEB0E363F, 0x72076785, 0x05005713, 0x95BF4A82, 0xE2B87A14, 0x7BB12BAE, 0x0CB61B38, 0x92D28E9B, 0xE5D5BE0D, 0x7CDCEFB7, 0x0BDBDF21, 0x86D3D2D4, 0xF1D4E242, 0x68DDB3F8, 0x1FDA836E, 0x81BE16CD, 0xF6B9265B, 0x6FB077E1, 0x18B74777, 0x88085AE6, 0xFF0F6A70, 0x66063BCA, 0x11010B5C, 0x8F659EFF, 0xF862AE69, 0x616BFFD3, 0x166CCF45, 0xA00AE278, 0xD70DD2EE, 0x4E048354, 0x3903B3C2, 0xA7672661, 0xD06016F7, 0x4969474D, 0x3E6E77DB, 0xAED16A4A, 0xD9D65ADC, 0x40DF0B66, 0x37D83BF0, 0xA9BCAE53, 0xDEBB9EC5, 0x47B2CF7F, 0x30B5FFE9, 0xBDBDF21C, 0xCABAC28A, 0x53B39330, 0x24B4A3A6, 0xBAD03605, 0xCDD70693, 0x54DE5729, 0x23D967BF, 0xB3667A2E, 0xC4614AB8, 0x5D681B02, 0x2A6F2B94, 0xB40BBE37, 0xC30C8EA1, 0x5A05DF1B, 0x2D02EF8D]"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/Checksum.swift",
+ "kind": "Array",
+ "offset": 4568,
+ "length": 3460,
+ "value": "[0x00000000, 0xF26B8303, 0xE13B70F7, 0x1350F3F4, 0xC79A971F, 0x35F1141C, 0x26A1E7E8, 0xD4CA64EB, 0x8AD958CF, 0x78B2DBCC, 0x6BE22838, 0x9989AB3B, 0x4D43CFD0, 0xBF284CD3, 0xAC78BF27, 0x5E133C24, 0x105EC76F, 0xE235446C, 0xF165B798, 0x030E349B, 0xD7C45070, 0x25AFD373, 0x36FF2087, 0xC494A384, 0x9A879FA0, 0x68EC1CA3, 0x7BBCEF57, 0x89D76C54, 0x5D1D08BF, 0xAF768BBC, 0xBC267848, 0x4E4DFB4B, 0x20BD8EDE, 0xD2D60DDD, 0xC186FE29, 0x33ED7D2A, 0xE72719C1, 0x154C9AC2, 0x061C6936, 0xF477EA35, 0xAA64D611, 0x580F5512, 0x4B5FA6E6, 0xB93425E5, 0x6DFE410E, 0x9F95C20D, 0x8CC531F9, 0x7EAEB2FA, 0x30E349B1, 0xC288CAB2, 0xD1D83946, 0x23B3BA45, 0xF779DEAE, 0x05125DAD, 0x1642AE59, 0xE4292D5A, 0xBA3A117E, 0x4851927D, 0x5B016189, 0xA96AE28A, 0x7DA08661, 0x8FCB0562, 0x9C9BF696, 0x6EF07595, 0x417B1DBC, 0xB3109EBF, 0xA0406D4B, 0x522BEE48, 0x86E18AA3, 0x748A09A0, 0x67DAFA54, 0x95B17957, 0xCBA24573, 0x39C9C670, 0x2A993584, 0xD8F2B687, 0x0C38D26C, 0xFE53516F, 0xED03A29B, 0x1F682198, 0x5125DAD3, 0xA34E59D0, 0xB01EAA24, 0x42752927, 0x96BF4DCC, 0x64D4CECF, 0x77843D3B, 0x85EFBE38, 0xDBFC821C, 0x2997011F, 0x3AC7F2EB, 0xC8AC71E8, 0x1C661503, 0xEE0D9600, 0xFD5D65F4, 0x0F36E6F7, 0x61C69362, 0x93AD1061, 0x80FDE395, 0x72966096, 0xA65C047D, 0x5437877E, 0x4767748A, 0xB50CF789, 0xEB1FCBAD, 0x197448AE, 0x0A24BB5A, 0xF84F3859, 0x2C855CB2, 0xDEEEDFB1, 0xCDBE2C45, 0x3FD5AF46, 0x7198540D, 0x83F3D70E, 0x90A324FA, 0x62C8A7F9, 0xB602C312, 0x44694011, 0x5739B3E5, 0xA55230E6, 0xFB410CC2, 0x092A8FC1, 0x1A7A7C35, 0xE811FF36, 0x3CDB9BDD, 0xCEB018DE, 0xDDE0EB2A, 0x2F8B6829, 0x82F63B78, 0x709DB87B, 0x63CD4B8F, 0x91A6C88C, 0x456CAC67, 0xB7072F64, 0xA457DC90, 0x563C5F93, 0x082F63B7, 0xFA44E0B4, 0xE9141340, 0x1B7F9043, 0xCFB5F4A8, 0x3DDE77AB, 0x2E8E845F, 0xDCE5075C, 0x92A8FC17, 0x60C37F14, 0x73938CE0, 0x81F80FE3, 0x55326B08, 0xA759E80B, 0xB4091BFF, 0x466298FC, 0x1871A4D8, 0xEA1A27DB, 0xF94AD42F, 0x0B21572C, 0xDFEB33C7, 0x2D80B0C4, 0x3ED04330, 0xCCBBC033, 0xA24BB5A6, 0x502036A5, 0x4370C551, 0xB11B4652, 0x65D122B9, 0x97BAA1BA, 0x84EA524E, 0x7681D14D, 0x2892ED69, 0xDAF96E6A, 0xC9A99D9E, 0x3BC21E9D, 0xEF087A76, 0x1D63F975, 0x0E330A81, 0xFC588982, 0xB21572C9, 0x407EF1CA, 0x532E023E, 0xA145813D, 0x758FE5D6, 0x87E466D5, 0x94B49521, 0x66DF1622, 0x38CC2A06, 0xCAA7A905, 0xD9F75AF1, 0x2B9CD9F2, 0xFF56BD19, 0x0D3D3E1A, 0x1E6DCDEE, 0xEC064EED, 0xC38D26C4, 0x31E6A5C7, 0x22B65633, 0xD0DDD530, 0x0417B1DB, 0xF67C32D8, 0xE52CC12C, 0x1747422F, 0x49547E0B, 0xBB3FFD08, 0xA86F0EFC, 0x5A048DFF, 0x8ECEE914, 0x7CA56A17, 0x6FF599E3, 0x9D9E1AE0, 0xD3D3E1AB, 0x21B862A8, 0x32E8915C, 0xC083125F, 0x144976B4, 0xE622F5B7, 0xF5720643, 0x07198540, 0x590AB964, 0xAB613A67, 0xB831C993, 0x4A5A4A90, 0x9E902E7B, 0x6CFBAD78, 0x7FAB5E8C, 0x8DC0DD8F, 0xE330A81A, 0x115B2B19, 0x020BD8ED, 0xF0605BEE, 0x24AA3F05, 0xD6C1BC06, 0xC5914FF2, 0x37FACCF1, 0x69E9F0D5, 0x9B8273D6, 0x88D28022, 0x7AB90321, 0xAE7367CA, 0x5C18E4C9, 0x4F48173D, 0xBD23943E, 0xF36E6F75, 0x0105EC76, 0x12551F82, 0xE03E9C81, 0x34F4F86A, 0xC69F7B69, 0xD5CF889D, 0x27A40B9E, 0x79B737BA, 0x8BDCB4B9, 0x988C474D, 0x6AE7C44E, 0xBE2DA0A5, 0x4C4623A6, 0x5F16D052, 0xAD7D5351]"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/Checksum.swift",
+ "kind": "Array",
+ "offset": 8088,
+ "length": 2180,
+ "value": "[0x0000, 0xC0C1, 0xC181, 0x0140, 0xC301, 0x03C0, 0x0280, 0xC241, 0xC601, 0x06C0, 0x0780, 0xC741, 0x0500, 0xC5C1, 0xC481, 0x0440, 0xCC01, 0x0CC0, 0x0D80, 0xCD41, 0x0F00, 0xCFC1, 0xCE81, 0x0E40, 0x0A00, 0xCAC1, 0xCB81, 0x0B40, 0xC901, 0x09C0, 0x0880, 0xC841, 0xD801, 0x18C0, 0x1980, 0xD941, 0x1B00, 0xDBC1, 0xDA81, 0x1A40, 0x1E00, 0xDEC1, 0xDF81, 0x1F40, 0xDD01, 0x1DC0, 0x1C80, 0xDC41, 0x1400, 0xD4C1, 0xD581, 0x1540, 0xD701, 0x17C0, 0x1680, 0xD641, 0xD201, 0x12C0, 0x1380, 0xD341, 0x1100, 0xD1C1, 0xD081, 0x1040, 0xF001, 0x30C0, 0x3180, 0xF141, 0x3300, 0xF3C1, 0xF281, 0x3240, 0x3600, 0xF6C1, 0xF781, 0x3740, 0xF501, 0x35C0, 0x3480, 0xF441, 0x3C00, 0xFCC1, 0xFD81, 0x3D40, 0xFF01, 0x3FC0, 0x3E80, 0xFE41, 0xFA01, 0x3AC0, 0x3B80, 0xFB41, 0x3900, 0xF9C1, 0xF881, 0x3840, 0x2800, 0xE8C1, 0xE981, 0x2940, 0xEB01, 0x2BC0, 0x2A80, 0xEA41, 0xEE01, 0x2EC0, 0x2F80, 0xEF41, 0x2D00, 0xEDC1, 0xEC81, 0x2C40, 0xE401, 0x24C0, 0x2580, 0xE541, 0x2700, 0xE7C1, 0xE681, 0x2640, 0x2200, 0xE2C1, 0xE381, 0x2340, 0xE101, 0x21C0, 0x2080, 0xE041, 0xA001, 0x60C0, 0x6180, 0xA141, 0x6300, 0xA3C1, 0xA281, 0x6240, 0x6600, 0xA6C1, 0xA781, 0x6740, 0xA501, 0x65C0, 0x6480, 0xA441, 0x6C00, 0xACC1, 0xAD81, 0x6D40, 0xAF01, 0x6FC0, 0x6E80, 0xAE41, 0xAA01, 0x6AC0, 0x6B80, 0xAB41, 0x6900, 0xA9C1, 0xA881, 0x6840, 0x7800, 0xB8C1, 0xB981, 0x7940, 0xBB01, 0x7BC0, 0x7A80, 0xBA41, 0xBE01, 0x7EC0, 0x7F80, 0xBF41, 0x7D00, 0xBDC1, 0xBC81, 0x7C40, 0xB401, 0x74C0, 0x7580, 0xB541, 0x7700, 0xB7C1, 0xB681, 0x7640, 0x7200, 0xB2C1, 0xB381, 0x7340, 0xB101, 0x71C0, 0x7080, 0xB041, 0x5000, 0x90C1, 0x9181, 0x5140, 0x9301, 0x53C0, 0x5280, 0x9241, 0x9601, 0x56C0, 0x5780, 0x9741, 0x5500, 0x95C1, 0x9481, 0x5440, 0x9C01, 0x5CC0, 0x5D80, 0x9D41, 0x5F00, 0x9FC1, 0x9E81, 0x5E40, 0x5A00, 0x9AC1, 0x9B81, 0x5B40, 0x9901, 0x59C0, 0x5880, 0x9841, 0x8801, 0x48C0, 0x4980, 0x8941, 0x4B00, 0x8BC1, 0x8A81, 0x4A40, 0x4E00, 0x8EC1, 0x8F81, 0x4F40, 0x8D01, 0x4DC0, 0x4C80, 0x8C41, 0x4400, 0x84C1, 0x8581, 0x4540, 0x8701, 0x47C0, 0x4680, 0x8641, 0x8201, 0x42C0, 0x4380, 0x8341, 0x4100, 0x81C1, 0x8081, 0x4040]"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/Checksum.swift",
+ "kind": "BooleanLiteral",
+ "offset": 10438,
+ "length": 4,
+ "value": "true"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/Checksum.swift",
+ "kind": "BooleanLiteral",
+ "offset": 10908,
+ "length": 4,
+ "value": "true"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/Checksum.swift",
+ "kind": "BooleanLiteral",
+ "offset": 11941,
+ "length": 4,
+ "value": "true"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/Checksum.swift",
+ "kind": "BooleanLiteral",
+ "offset": 12315,
+ "length": 4,
+ "value": "true"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/XChaCha20.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1630,
+ "length": 2,
+ "value": "64"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/XChaCha20.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2213,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/MSChatGpt.swift",
+ "kind": "StringLiteral",
+ "offset": 656,
+ "length": 13,
+ "value": "\"gpt-4-turbo\""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/MSChatGpt.swift",
+ "kind": "BooleanLiteral",
+ "offset": 7659,
+ "length": 4,
+ "value": "true"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/Rabbit.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1100,
+ "length": 2,
+ "value": "64"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/Rabbit.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1105,
+ "length": 1,
+ "value": "8"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/Rabbit.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1167,
+ "length": 3,
+ "value": "128"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/Rabbit.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1173,
+ "length": 1,
+ "value": "8"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/Rabbit.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1239,
+ "length": 3,
+ "value": "128"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/Rabbit.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1245,
+ "length": 1,
+ "value": "8"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/Rabbit.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1454,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/Rabbit.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1464,
+ "length": 1,
+ "value": "8"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/Rabbit.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1535,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/Rabbit.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1545,
+ "length": 1,
+ "value": "8"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/Rabbit.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1596,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/CryptoSwift\/Rabbit.swift",
+ "kind": "Array",
+ "offset": 1652,
+ "length": 132,
+ "value": "[0x4d34d34d, 0xd34d34d3, 0x34d34d34, 0x4d34d34d, 0xd34d34d3, 0x34d34d34, 0x4d34d34d, 0xd34d34d3]"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/MSAigcModel.swift",
+ "kind": "IntegerLiteral",
+ "offset": 151,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/MSAigcModel.swift",
+ "kind": "StringLiteral",
+ "offset": 278,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/MSAigcModel.swift",
+ "kind": "StringLiteral",
+ "offset": 306,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/MSAigcModel.swift",
+ "kind": "IntegerLiteral",
+ "offset": 391,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/MSAigcModel.swift",
+ "kind": "Array",
+ "offset": 422,
+ "length": 2,
+ "value": "[]"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/MSAigcModel.swift",
+ "kind": "StringLiteral",
+ "offset": 533,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/MSAigcModel.swift",
+ "kind": "StringLiteral",
+ "offset": 579,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/MSAigcModel.swift",
+ "kind": "StringLiteral",
+ "offset": 626,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/MSAigcModel.swift",
+ "kind": "IntegerLiteral",
+ "offset": 788,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/MSAigcModel.swift",
+ "kind": "StringLiteral",
+ "offset": 1180,
+ "length": 6,
+ "value": "\"auto\""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/MSAigcModel.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1400,
+ "length": 1,
+ "value": "4"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/MSAigcModel.swift",
+ "kind": "StringLiteral",
+ "offset": 1546,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/MSAigcModel.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1619,
+ "length": 2,
+ "value": "32"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/MSAigcModel.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1677,
+ "length": 2,
+ "value": "80"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/MSAigcModel.swift",
+ "kind": "StringLiteral",
+ "offset": 1752,
+ "length": 6,
+ "value": "\"jpeg\""
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/MSAigcModel.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1817,
+ "length": 3,
+ "value": "128"
+ },
+ {
+ "filePath": "\/Users\/yaozuopan\/Documents\/code\/MixSdk-iOS\/MixSdk\/MixSdk\/MixSdk\/MSAigcModel.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1878,
+ "length": 3,
+ "value": "128"
+ }
+ ]
+}
\ No newline at end of file
--- /dev/null
+// swift-interface-format-version: 1.0
+// swift-compiler-version: Apple Swift version 6.0.3 effective-4.2 (swiftlang-6.0.3.1.10 clang-1600.0.30.1)
+// swift-module-flags: -target arm64-apple-ios13.0 -enable-objc-interop -enable-library-evolution -swift-version 4.2 -enforce-exclusivity=checked -O -enable-bare-slash-regex -module-name MixSdk
+// swift-module-flags-ignorable: -no-verify-emitted-module-interface
+import CommonCrypto
+import CryptoKit
+import Darwin
+import Foundation
+@_exported import MixSdk
+import MixTools
+import MobileCoreServices
+import Security
+import Swift
+import UIKit
+import _Concurrency
+import _StringProcessing
+import _SwiftConcurrencyShims
+public typealias MSRegisterCallBack = (_ password: Swift.String?, _ error: MixSdk.MSError?) -> Swift.Void
+public typealias MSLoginCallBack = (_ token: Swift.String?, _ error: MixSdk.MSError?) -> Swift.Void
+@_hasMissingDesignatedInitializers public class MSAuth {
+ public var authorized: Swift.Bool {
+ get
+ }
+ public func register(productId: Swift.String, productKey: Swift.String, deviceId: Swift.String, completeHandler: @escaping MixSdk.MSRegisterCallBack)
+ public func login(productKey: Swift.String, deviceId: Swift.String, password: Swift.String, completeHandler: @escaping MixSdk.MSLoginCallBack)
+ @objc deinit
+}
+public enum MSError : Swift.Error {
+ case invalidRequest
+ case parsingError
+ case reponseError(Swift.Int, Swift.String)
+ case unauthorised
+ case unknow
+ public var msg: Swift.String {
+ get
+ }
+}
+@_hasMissingDesignatedInitializers public class MSTtsEvent : Swift.Codable {
+ public var event: Swift.String
+ public var msg: Swift.String
+ public var status: Swift.Int
+ public var task_id: Swift.String
+ @objc deinit
+ public func encode(to encoder: any Swift.Encoder) throws
+ required public init(from decoder: any Swift.Decoder) throws
+}
+public enum MSConnectState : Swift.Int {
+ case connected
+ case disConnected
+ public init?(rawValue: Swift.Int)
+ public typealias RawValue = Swift.Int
+ public var rawValue: Swift.Int {
+ get
+ }
+}
+public typealias MSSttCallBack = (_ text: Swift.String?, _ error: MixSdk.MSError?) -> Swift.Void
+public typealias MSSttEventCallBack = (_ model: MixSdk.MSSttEvent) -> Swift.Void
+public typealias MSConnectStateCallBack = (_ state: MixSdk.MSConnectState) -> Swift.Void
+@_hasMissingDesignatedInitializers public class MSStt {
+ public var eventCallBack: MixSdk.MSSttEventCallBack?
+ public var connectStateCallBack: MixSdk.MSConnectStateCallBack?
+ public var connectState: MixSdk.MSConnectState {
+ get
+ }
+ public func sentenceRecognize(filePath: Swift.String, format: Swift.String? = nil, sample_rate: Swift.String? = nil, lang: Swift.String? = nil, completeHandler: @escaping MixSdk.MSSttCallBack)
+ @objc deinit
+}
+extension MixSdk.MSStt {
+ public func startTranscription()
+ public func stopTranscription()
+ public func sendVoice(pcmData: Foundation.Data)
+ public func sendVoice(sbcData: Foundation.Data)
+}
+@usableFromInline
+final internal class StreamDecryptor {
+ @usableFromInline
+ internal enum Error : Swift.Error {
+ case unsupported
+ @usableFromInline
+ internal static func == (a: MixSdk.StreamDecryptor.Error, b: MixSdk.StreamDecryptor.Error) -> Swift.Bool
+ @usableFromInline
+ internal func hash(into hasher: inout Swift.Hasher)
+ @usableFromInline
+ internal var hashValue: Swift.Int {
+ @usableFromInline
+ get
+ }
+ }
+ @usableFromInline
+ final internal let blockSize: Swift.Int
+ @usableFromInline
+ final internal var worker: any MixSdk.CipherModeWorker
+ @usableFromInline
+ final internal let padding: MixSdk.Padding
+ @usableFromInline
+ final internal var accumulated: [Swift.UInt8]
+ @usableFromInline
+ final internal var lastBlockRemainder: Swift.Int
+ @usableFromInline
+ internal init(blockSize: Swift.Int, padding: MixSdk.Padding, _ worker: any MixSdk.CipherModeWorker) throws
+ @objc @usableFromInline
+ deinit
+}
+@usableFromInline
+internal struct BatchedCollectionIndex<Base> where Base : Swift.Collection {
+}
+extension MixSdk.BatchedCollectionIndex : Swift.Comparable {
+ @usableFromInline
+ internal static func == <BaseCollection>(lhs: MixSdk.BatchedCollectionIndex<BaseCollection>, rhs: MixSdk.BatchedCollectionIndex<BaseCollection>) -> Swift.Bool where BaseCollection : Swift.Collection
+ @usableFromInline
+ internal static func < <BaseCollection>(lhs: MixSdk.BatchedCollectionIndex<BaseCollection>, rhs: MixSdk.BatchedCollectionIndex<BaseCollection>) -> Swift.Bool where BaseCollection : Swift.Collection
+}
+@usableFromInline
+internal struct BatchedCollection<Base> : Swift.Collection where Base : Swift.Collection {
+ @usableFromInline
+ internal init(base: Base, size: Swift.Int)
+ @usableFromInline
+ internal typealias Index = MixSdk.BatchedCollectionIndex<Base>
+ @usableFromInline
+ internal var startIndex: MixSdk.BatchedCollection<Base>.Index {
+ get
+ }
+ @usableFromInline
+ internal var endIndex: MixSdk.BatchedCollection<Base>.Index {
+ get
+ }
+ @usableFromInline
+ internal func index(after idx: MixSdk.BatchedCollection<Base>.Index) -> MixSdk.BatchedCollection<Base>.Index
+ @usableFromInline
+ internal subscript(idx: MixSdk.BatchedCollection<Base>.Index) -> Base.SubSequence {
+ get
+ }
+ @usableFromInline
+ internal typealias Element = Base.SubSequence
+ @usableFromInline
+ internal typealias Indices = Swift.DefaultIndices<MixSdk.BatchedCollection<Base>>
+ @usableFromInline
+ internal typealias Iterator = Swift.IndexingIterator<MixSdk.BatchedCollection<Base>>
+ @usableFromInline
+ internal typealias SubSequence = Swift.Slice<MixSdk.BatchedCollection<Base>>
+}
+@_hasMissingDesignatedInitializers public class MSRegisterModel {
+ public var deviceId: Swift.String
+ public var password: Swift.String
+ public var nonce: Swift.String
+ @objc deinit
+}
+@_hasMissingDesignatedInitializers public class MSChatGptError : Swift.Codable {
+ public var message: Swift.String
+ public var code: Swift.String
+ @objc deinit
+ public func encode(to encoder: any Swift.Encoder) throws
+ required public init(from decoder: any Swift.Decoder) throws
+}
+@_hasMissingDesignatedInitializers public class MSChatGptModel : Swift.Codable {
+ public var id: Swift.String
+ public var object: Swift.String
+ public var created: Swift.Int
+ public var model: Swift.String
+ public var choices: [MixSdk.MSChatGptChoices]
+ public var usage: MixSdk.MSChatGptUsage
+ @objc deinit
+ public func encode(to encoder: any Swift.Encoder) throws
+ required public init(from decoder: any Swift.Decoder) throws
+}
+@_hasMissingDesignatedInitializers public class MSChatGptChoices : Swift.Codable {
+ public var index: Swift.Int
+ public var message: MixSdk.MSChatGptMessage
+ public var finish_reason: Swift.String
+ @objc deinit
+ public func encode(to encoder: any Swift.Encoder) throws
+ required public init(from decoder: any Swift.Decoder) throws
+}
+@_hasMissingDesignatedInitializers public class MSChatGptMessage : Swift.Codable {
+ public var role: Swift.String
+ public var content: Swift.String
+ @objc deinit
+ public func encode(to encoder: any Swift.Encoder) throws
+ required public init(from decoder: any Swift.Decoder) throws
+}
+@_hasMissingDesignatedInitializers public class MSChatGptUsage : Swift.Codable {
+ public var prompt_tokens: Swift.Int
+ public var completion_tokens: Swift.Int
+ public var total_tokens: Swift.Int
+ @objc deinit
+ public func encode(to encoder: any Swift.Encoder) throws
+ required public init(from decoder: any Swift.Decoder) throws
+}
+@usableFromInline
+final internal class BlockEncryptor {
+ @usableFromInline
+ internal init(blockSize: Swift.Int, padding: MixSdk.Padding, _ worker: any MixSdk.CipherModeWorker) throws
+ @usableFromInline
+ final internal func seek(to: Swift.Int) throws
+ @objc @usableFromInline
+ deinit
+}
+public enum MSPlatform {
+ case aliyun
+ case xunfei
+ case yiyan
+ case doubao
+ case kimi
+ case chatGPT
+ public var title: Swift.String {
+ get
+ }
+ public static func == (a: MixSdk.MSPlatform, b: MixSdk.MSPlatform) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
+ public var hashValue: Swift.Int {
+ get
+ }
+}
+@objc @_inheritsConvenienceInitializers @_hasMissingDesignatedInitializers public class MixSdk : ObjectiveC.NSObject {
+ public static let shared: MixSdk.MixSdk
+ public func initSDK()
+ public var logs: [Swift.String] {
+ get
+ }
+ final public let version: Swift.String
+ public var isDebug: Swift.Bool {
+ get
+ set
+ }
+ final public let auth: MixSdk.MSAuth
+ final public let translate: MixSdk.MSTranslate
+ final public let aigc: MixSdk.MSAigc
+ final public let chat: MixSdk.MSChat
+ final public let tts: MixSdk.MSTts
+ final public let stt: MixSdk.MSStt
+ final public let chatGpt: MixSdk.MSChatGpt
+ final public let chatGptTrans: MixSdk.MSChatGptTranscription
+ public func setPlatform(_ platform: MixSdk.MSPlatform, key: Swift.String? = nil)
+ public var aiPlatform: MixSdk.MSPlatform
+ public var aiKey: Swift.String?
+ public func cleanLog()
+ @objc deinit
+}
+@_hasMissingDesignatedInitializers public class MSTranslateLanguage : Swift.Codable {
+ public var cn: Swift.String
+ public var en: Swift.String
+ public var code: Swift.String
+ @objc deinit
+ public func encode(to encoder: any Swift.Encoder) throws
+ required public init(from decoder: any Swift.Decoder) throws
+}
+@usableFromInline
+final internal class StreamEncryptor {
+ @usableFromInline
+ internal enum Error : Swift.Error {
+ case unsupported
+ @usableFromInline
+ internal static func == (a: MixSdk.StreamEncryptor.Error, b: MixSdk.StreamEncryptor.Error) -> Swift.Bool
+ @usableFromInline
+ internal func hash(into hasher: inout Swift.Hasher)
+ @usableFromInline
+ internal var hashValue: Swift.Int {
+ @usableFromInline
+ get
+ }
+ }
+ @usableFromInline
+ final internal let blockSize: Swift.Int
+ @usableFromInline
+ final internal var worker: any MixSdk.CipherModeWorker
+ @usableFromInline
+ final internal let padding: MixSdk.Padding
+ @usableFromInline
+ final internal var lastBlockRemainder: Swift.Int
+ @usableFromInline
+ internal init(blockSize: Swift.Int, padding: MixSdk.Padding, _ worker: any MixSdk.CipherModeWorker) throws
+ @usableFromInline
+ final internal func seek(to: Swift.Int) throws
+ @objc @usableFromInline
+ deinit
+}
+@_hasMissingDesignatedInitializers public class MSChatModel : Swift.Codable {
+ public var type: Swift.String
+ public var content: Swift.String?
+ @objc deinit
+ public func encode(to encoder: any Swift.Encoder) throws
+ required public init(from decoder: any Swift.Decoder) throws
+}
+public typealias MSTtsEventCallBack = (_ model: MixSdk.MSTtsEvent) -> Swift.Void
+public typealias MSTtsVoiceCallBack = (_ data: Foundation.Data) -> Swift.Void
+@_hasMissingDesignatedInitializers public class MSTts {
+ public var eventCallBack: MixSdk.MSTtsEventCallBack?
+ public var voiceCallBack: MixSdk.MSTtsVoiceCallBack?
+ public var connectStateCallBack: MixSdk.MSConnectStateCallBack?
+ public var connectState: MixSdk.MSConnectState {
+ get
+ }
+ @objc deinit
+}
+extension MixSdk.MSTts {
+ public func startSynthesis()
+ public func stopSynthesis()
+ public func runSynthesis(text: Swift.String)
+ public func sendLongTextStream(text: Swift.String)
+}
+public typealias MSAigcStyleCallBack = (_ list: [MixSdk.MSAigcStyle]?, _ error: MixSdk.MSError?) -> Swift.Void
+public typealias MSAigcTaskCallBack = (_ taskId: Swift.String?, _ error: MixSdk.MSError?) -> Swift.Void
+public typealias MSAigcQueryCallBack = (_ imageUrls: [Swift.String]?, _ error: MixSdk.MSError?) -> Swift.Void
+@_hasMissingDesignatedInitializers public class MSAigc {
+ public func getStyle(type: Swift.Int, completeHandler: @escaping MixSdk.MSAigcStyleCallBack)
+ public func getResult(task: MixSdk.MSAigcSearchTask, completeHandler: @escaping MixSdk.MSAigcQueryCallBack)
+ public func createTask(_ task: MixSdk.MSAigcTask, completeHandler: @escaping MixSdk.MSAigcTaskCallBack)
+ @objc deinit
+}
+@usableFromInline
+internal func strideCount(from: Swift.Int, to: Swift.Int, by: Swift.Int) -> Swift.Int
+public typealias MSAudioConvertCallBack = (_ data: Foundation.Data) -> Swift.Void
+@_hasMissingDesignatedInitializers public class MSAudioConvert {
+ public static func sbcTopcm(_ data: Foundation.Data) -> Foundation.Data
+ public static func sbcTopcm(_ data: Foundation.Data, _ callBack: @escaping MixSdk.MSAudioConvertCallBack)
+ public static func pcmToMp3(_ pcmPath: Swift.String, _ mp3Path: Swift.String) -> Swift.Bool
+ public static func pcmToMp3(pcmPath: Swift.String, pcmSampleRate: Swift.Int = 16000, mp3Path: Swift.String) -> Swift.Bool
+ public static func sbcToPcm(sbcPath: Swift.String, pcmPath: Swift.String) -> Swift.Bool
+ public static func sbcToMp3(sbcPath: Swift.String, mp3Path: Swift.String) -> Swift.Bool
+ @objc deinit
+}
+public typealias MSTranslateCallBack = (_ text: Swift.String?, _ error: MixSdk.MSError?) -> Swift.Void
+public typealias MSLanuageCallBack = (_ list: [MixSdk.MSTranslateLanguage]?, _ error: MixSdk.MSError?) -> Swift.Void
+@_hasMissingDesignatedInitializers public class MSTranslate {
+ public func translate(lang: MixSdk.MSTranslateLanguage, text: Swift.String, completeHandler: @escaping MixSdk.MSTranslateCallBack)
+ public func getSupportLanguages(completeHandler: @escaping MixSdk.MSLanuageCallBack)
+ @objc deinit
+}
+@_hasMissingDesignatedInitializers public class MSSttEvent : Swift.Codable {
+ public var event: Swift.String
+ public var msg: Swift.String
+ public var status: Swift.Int
+ public var task_id: Swift.String
+ public var result: MixSdk.MSSttResult?
+ @objc deinit
+ public func encode(to encoder: any Swift.Encoder) throws
+ required public init(from decoder: any Swift.Decoder) throws
+}
+@_hasMissingDesignatedInitializers public class MSSttResult : Swift.Codable {
+ public var result: Swift.String
+ public var is_end: Swift.Bool
+ public var sentence_id: Swift.String
+ public var start_time: Swift.Int
+ public var end_time: Swift.Int
+ @objc deinit
+ public func encode(to encoder: any Swift.Encoder) throws
+ required public init(from decoder: any Swift.Decoder) throws
+}
+public typealias MSChatCallBack = (_ model: MixSdk.MSChatModel) -> Swift.Void
+public typealias MSPlatformChangeCallBack = (_ success: Swift.Bool) -> Swift.Void
+@_hasMissingDesignatedInitializers public class MSChat {
+ public var callBack: MixSdk.MSChatCallBack?
+ public var connectStateCallBack: MixSdk.MSConnectStateCallBack?
+ public var connectState: MixSdk.MSConnectState {
+ get
+ }
+ public func reset()
+ public func send(content: Swift.String)
+ @objc deinit
+}
+public typealias MSChatGptCallBack = (_ response: MixSdk.MSChatGptModel?, _ error: MixSdk.MSChatGptError?) -> Swift.Void
+public typealias MSChatGptTranscriptionCallBack = (_ text: Swift.String?, _ error: MixSdk.MSChatGptError?) -> Swift.Void
+public typealias MSChatGptCheckKeyCallBack = (_ isValid: Swift.Bool?, _ error: MixSdk.MSChatGptError?) -> Swift.Void
+@_hasMissingDesignatedInitializers public class MSChatGpt {
+ public func transcription(filePath: Swift.String, completeHandler: @escaping MixSdk.MSChatGptTranscriptionCallBack)
+ public func changeModel(model: Swift.String)
+ public func isValidKey(_ key: Swift.String, completeHandler: @escaping MixSdk.MSChatGptCheckKeyCallBack)
+ public func send(content: Swift.String, completeHandler: @escaping MixSdk.MSChatGptCallBack)
+ @objc deinit
+}
+@_hasMissingDesignatedInitializers public class MSChatGptTranscription {
+ public func start()
+ public func stop(completeHandler: @escaping MixSdk.MSChatGptTranscriptionCallBack)
+ public func sendVoice(pcmData: Foundation.Data)
+ public func sendVoice(sbcData: Foundation.Data)
+ @objc deinit
+}
+@_hasMissingDesignatedInitializers public class MSAigcStyle : Swift.Codable {
+ public var name: Swift.String
+ public var url: Swift.String
+ public var code: Swift.String
+ @objc deinit
+ public func encode(to encoder: any Swift.Encoder) throws
+ required public init(from decoder: any Swift.Decoder) throws
+}
+public class MSAigcTask : Swift.Codable {
+ public var type: Swift.Int
+ public var subject: Swift.String?
+ public var algorithm: Swift.String
+ public var image_base64: Swift.String?
+ public var amount: Swift.Int
+ public init()
+ @objc deinit
+ public func encode(to encoder: any Swift.Encoder) throws
+ required public init(from decoder: any Swift.Decoder) throws
+}
+public class MSAigcSearchTask : Swift.Codable {
+ public var task_id: Swift.String
+ public var bit_depth: Swift.Int
+ public var compression_quality: Swift.Int
+ public var format: Swift.String
+ public var height: Swift.Int
+ public var width: Swift.Int
+ public init()
+ @objc deinit
+ public func encode(to encoder: any Swift.Encoder) throws
+ required public init(from decoder: any Swift.Decoder) throws
+}
+extension MixSdk.MSConnectState : Swift.Equatable {}
+extension MixSdk.MSConnectState : Swift.Hashable {}
+extension MixSdk.MSConnectState : Swift.RawRepresentable {}
+extension MixSdk.StreamDecryptor.Error : Swift.Equatable {}
+extension MixSdk.StreamDecryptor.Error : Swift.Hashable {}
+extension MixSdk.MSPlatform : Swift.Equatable {}
+extension MixSdk.MSPlatform : Swift.Hashable {}
+extension MixSdk.StreamEncryptor.Error : Swift.Equatable {}
+extension MixSdk.StreamEncryptor.Error : Swift.Hashable {}
--- /dev/null
+// swift-interface-format-version: 1.0
+// swift-compiler-version: Apple Swift version 6.0.3 effective-4.2 (swiftlang-6.0.3.1.10 clang-1600.0.30.1)
+// swift-module-flags: -target arm64-apple-ios13.0 -enable-objc-interop -enable-library-evolution -swift-version 4.2 -enforce-exclusivity=checked -O -enable-bare-slash-regex -module-name MixSdk
+// swift-module-flags-ignorable: -no-verify-emitted-module-interface
+import CommonCrypto
+import CryptoKit
+import Darwin
+import Foundation
+@_exported import MixSdk
+import MixTools
+import MobileCoreServices
+import Security
+import Swift
+import UIKit
+import _Concurrency
+import _StringProcessing
+import _SwiftConcurrencyShims
+public typealias MSRegisterCallBack = (_ password: Swift.String?, _ error: MixSdk.MSError?) -> Swift.Void
+public typealias MSLoginCallBack = (_ token: Swift.String?, _ error: MixSdk.MSError?) -> Swift.Void
+@_hasMissingDesignatedInitializers public class MSAuth {
+ public var authorized: Swift.Bool {
+ get
+ }
+ public func register(productId: Swift.String, productKey: Swift.String, deviceId: Swift.String, completeHandler: @escaping MixSdk.MSRegisterCallBack)
+ public func login(productKey: Swift.String, deviceId: Swift.String, password: Swift.String, completeHandler: @escaping MixSdk.MSLoginCallBack)
+ @objc deinit
+}
+public enum MSError : Swift.Error {
+ case invalidRequest
+ case parsingError
+ case reponseError(Swift.Int, Swift.String)
+ case unauthorised
+ case unknow
+ public var msg: Swift.String {
+ get
+ }
+}
+@_hasMissingDesignatedInitializers public class MSTtsEvent : Swift.Codable {
+ public var event: Swift.String
+ public var msg: Swift.String
+ public var status: Swift.Int
+ public var task_id: Swift.String
+ @objc deinit
+ public func encode(to encoder: any Swift.Encoder) throws
+ required public init(from decoder: any Swift.Decoder) throws
+}
+public enum MSConnectState : Swift.Int {
+ case connected
+ case disConnected
+ public init?(rawValue: Swift.Int)
+ public typealias RawValue = Swift.Int
+ public var rawValue: Swift.Int {
+ get
+ }
+}
+public typealias MSSttCallBack = (_ text: Swift.String?, _ error: MixSdk.MSError?) -> Swift.Void
+public typealias MSSttEventCallBack = (_ model: MixSdk.MSSttEvent) -> Swift.Void
+public typealias MSConnectStateCallBack = (_ state: MixSdk.MSConnectState) -> Swift.Void
+@_hasMissingDesignatedInitializers public class MSStt {
+ public var eventCallBack: MixSdk.MSSttEventCallBack?
+ public var connectStateCallBack: MixSdk.MSConnectStateCallBack?
+ public var connectState: MixSdk.MSConnectState {
+ get
+ }
+ public func sentenceRecognize(filePath: Swift.String, format: Swift.String? = nil, sample_rate: Swift.String? = nil, lang: Swift.String? = nil, completeHandler: @escaping MixSdk.MSSttCallBack)
+ @objc deinit
+}
+extension MixSdk.MSStt {
+ public func startTranscription()
+ public func stopTranscription()
+ public func sendVoice(pcmData: Foundation.Data)
+ public func sendVoice(sbcData: Foundation.Data)
+}
+@usableFromInline
+final internal class StreamDecryptor {
+ @usableFromInline
+ internal enum Error : Swift.Error {
+ case unsupported
+ @usableFromInline
+ internal static func == (a: MixSdk.StreamDecryptor.Error, b: MixSdk.StreamDecryptor.Error) -> Swift.Bool
+ @usableFromInline
+ internal func hash(into hasher: inout Swift.Hasher)
+ @usableFromInline
+ internal var hashValue: Swift.Int {
+ @usableFromInline
+ get
+ }
+ }
+ @usableFromInline
+ final internal let blockSize: Swift.Int
+ @usableFromInline
+ final internal var worker: any MixSdk.CipherModeWorker
+ @usableFromInline
+ final internal let padding: MixSdk.Padding
+ @usableFromInline
+ final internal var accumulated: [Swift.UInt8]
+ @usableFromInline
+ final internal var lastBlockRemainder: Swift.Int
+ @usableFromInline
+ internal init(blockSize: Swift.Int, padding: MixSdk.Padding, _ worker: any MixSdk.CipherModeWorker) throws
+ @objc @usableFromInline
+ deinit
+}
+@usableFromInline
+internal struct BatchedCollectionIndex<Base> where Base : Swift.Collection {
+}
+extension MixSdk.BatchedCollectionIndex : Swift.Comparable {
+ @usableFromInline
+ internal static func == <BaseCollection>(lhs: MixSdk.BatchedCollectionIndex<BaseCollection>, rhs: MixSdk.BatchedCollectionIndex<BaseCollection>) -> Swift.Bool where BaseCollection : Swift.Collection
+ @usableFromInline
+ internal static func < <BaseCollection>(lhs: MixSdk.BatchedCollectionIndex<BaseCollection>, rhs: MixSdk.BatchedCollectionIndex<BaseCollection>) -> Swift.Bool where BaseCollection : Swift.Collection
+}
+@usableFromInline
+internal struct BatchedCollection<Base> : Swift.Collection where Base : Swift.Collection {
+ @usableFromInline
+ internal init(base: Base, size: Swift.Int)
+ @usableFromInline
+ internal typealias Index = MixSdk.BatchedCollectionIndex<Base>
+ @usableFromInline
+ internal var startIndex: MixSdk.BatchedCollection<Base>.Index {
+ get
+ }
+ @usableFromInline
+ internal var endIndex: MixSdk.BatchedCollection<Base>.Index {
+ get
+ }
+ @usableFromInline
+ internal func index(after idx: MixSdk.BatchedCollection<Base>.Index) -> MixSdk.BatchedCollection<Base>.Index
+ @usableFromInline
+ internal subscript(idx: MixSdk.BatchedCollection<Base>.Index) -> Base.SubSequence {
+ get
+ }
+ @usableFromInline
+ internal typealias Element = Base.SubSequence
+ @usableFromInline
+ internal typealias Indices = Swift.DefaultIndices<MixSdk.BatchedCollection<Base>>
+ @usableFromInline
+ internal typealias Iterator = Swift.IndexingIterator<MixSdk.BatchedCollection<Base>>
+ @usableFromInline
+ internal typealias SubSequence = Swift.Slice<MixSdk.BatchedCollection<Base>>
+}
+@_hasMissingDesignatedInitializers public class MSRegisterModel {
+ public var deviceId: Swift.String
+ public var password: Swift.String
+ public var nonce: Swift.String
+ @objc deinit
+}
+@_hasMissingDesignatedInitializers public class MSChatGptError : Swift.Codable {
+ public var message: Swift.String
+ public var code: Swift.String
+ @objc deinit
+ public func encode(to encoder: any Swift.Encoder) throws
+ required public init(from decoder: any Swift.Decoder) throws
+}
+@_hasMissingDesignatedInitializers public class MSChatGptModel : Swift.Codable {
+ public var id: Swift.String
+ public var object: Swift.String
+ public var created: Swift.Int
+ public var model: Swift.String
+ public var choices: [MixSdk.MSChatGptChoices]
+ public var usage: MixSdk.MSChatGptUsage
+ @objc deinit
+ public func encode(to encoder: any Swift.Encoder) throws
+ required public init(from decoder: any Swift.Decoder) throws
+}
+@_hasMissingDesignatedInitializers public class MSChatGptChoices : Swift.Codable {
+ public var index: Swift.Int
+ public var message: MixSdk.MSChatGptMessage
+ public var finish_reason: Swift.String
+ @objc deinit
+ public func encode(to encoder: any Swift.Encoder) throws
+ required public init(from decoder: any Swift.Decoder) throws
+}
+@_hasMissingDesignatedInitializers public class MSChatGptMessage : Swift.Codable {
+ public var role: Swift.String
+ public var content: Swift.String
+ @objc deinit
+ public func encode(to encoder: any Swift.Encoder) throws
+ required public init(from decoder: any Swift.Decoder) throws
+}
+@_hasMissingDesignatedInitializers public class MSChatGptUsage : Swift.Codable {
+ public var prompt_tokens: Swift.Int
+ public var completion_tokens: Swift.Int
+ public var total_tokens: Swift.Int
+ @objc deinit
+ public func encode(to encoder: any Swift.Encoder) throws
+ required public init(from decoder: any Swift.Decoder) throws
+}
+@usableFromInline
+final internal class BlockEncryptor {
+ @usableFromInline
+ internal init(blockSize: Swift.Int, padding: MixSdk.Padding, _ worker: any MixSdk.CipherModeWorker) throws
+ @usableFromInline
+ final internal func seek(to: Swift.Int) throws
+ @objc @usableFromInline
+ deinit
+}
+public enum MSPlatform {
+ case aliyun
+ case xunfei
+ case yiyan
+ case doubao
+ case kimi
+ case chatGPT
+ public var title: Swift.String {
+ get
+ }
+ public static func == (a: MixSdk.MSPlatform, b: MixSdk.MSPlatform) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
+ public var hashValue: Swift.Int {
+ get
+ }
+}
+@objc @_inheritsConvenienceInitializers @_hasMissingDesignatedInitializers public class MixSdk : ObjectiveC.NSObject {
+ public static let shared: MixSdk.MixSdk
+ public func initSDK()
+ public var logs: [Swift.String] {
+ get
+ }
+ final public let version: Swift.String
+ public var isDebug: Swift.Bool {
+ get
+ set
+ }
+ final public let auth: MixSdk.MSAuth
+ final public let translate: MixSdk.MSTranslate
+ final public let aigc: MixSdk.MSAigc
+ final public let chat: MixSdk.MSChat
+ final public let tts: MixSdk.MSTts
+ final public let stt: MixSdk.MSStt
+ final public let chatGpt: MixSdk.MSChatGpt
+ final public let chatGptTrans: MixSdk.MSChatGptTranscription
+ public func setPlatform(_ platform: MixSdk.MSPlatform, key: Swift.String? = nil)
+ public var aiPlatform: MixSdk.MSPlatform
+ public var aiKey: Swift.String?
+ public func cleanLog()
+ @objc deinit
+}
+@_hasMissingDesignatedInitializers public class MSTranslateLanguage : Swift.Codable {
+ public var cn: Swift.String
+ public var en: Swift.String
+ public var code: Swift.String
+ @objc deinit
+ public func encode(to encoder: any Swift.Encoder) throws
+ required public init(from decoder: any Swift.Decoder) throws
+}
+@usableFromInline
+final internal class StreamEncryptor {
+ @usableFromInline
+ internal enum Error : Swift.Error {
+ case unsupported
+ @usableFromInline
+ internal static func == (a: MixSdk.StreamEncryptor.Error, b: MixSdk.StreamEncryptor.Error) -> Swift.Bool
+ @usableFromInline
+ internal func hash(into hasher: inout Swift.Hasher)
+ @usableFromInline
+ internal var hashValue: Swift.Int {
+ @usableFromInline
+ get
+ }
+ }
+ @usableFromInline
+ final internal let blockSize: Swift.Int
+ @usableFromInline
+ final internal var worker: any MixSdk.CipherModeWorker
+ @usableFromInline
+ final internal let padding: MixSdk.Padding
+ @usableFromInline
+ final internal var lastBlockRemainder: Swift.Int
+ @usableFromInline
+ internal init(blockSize: Swift.Int, padding: MixSdk.Padding, _ worker: any MixSdk.CipherModeWorker) throws
+ @usableFromInline
+ final internal func seek(to: Swift.Int) throws
+ @objc @usableFromInline
+ deinit
+}
+@_hasMissingDesignatedInitializers public class MSChatModel : Swift.Codable {
+ public var type: Swift.String
+ public var content: Swift.String?
+ @objc deinit
+ public func encode(to encoder: any Swift.Encoder) throws
+ required public init(from decoder: any Swift.Decoder) throws
+}
+public typealias MSTtsEventCallBack = (_ model: MixSdk.MSTtsEvent) -> Swift.Void
+public typealias MSTtsVoiceCallBack = (_ data: Foundation.Data) -> Swift.Void
+@_hasMissingDesignatedInitializers public class MSTts {
+ public var eventCallBack: MixSdk.MSTtsEventCallBack?
+ public var voiceCallBack: MixSdk.MSTtsVoiceCallBack?
+ public var connectStateCallBack: MixSdk.MSConnectStateCallBack?
+ public var connectState: MixSdk.MSConnectState {
+ get
+ }
+ @objc deinit
+}
+extension MixSdk.MSTts {
+ public func startSynthesis()
+ public func stopSynthesis()
+ public func runSynthesis(text: Swift.String)
+ public func sendLongTextStream(text: Swift.String)
+}
+public typealias MSAigcStyleCallBack = (_ list: [MixSdk.MSAigcStyle]?, _ error: MixSdk.MSError?) -> Swift.Void
+public typealias MSAigcTaskCallBack = (_ taskId: Swift.String?, _ error: MixSdk.MSError?) -> Swift.Void
+public typealias MSAigcQueryCallBack = (_ imageUrls: [Swift.String]?, _ error: MixSdk.MSError?) -> Swift.Void
+@_hasMissingDesignatedInitializers public class MSAigc {
+ public func getStyle(type: Swift.Int, completeHandler: @escaping MixSdk.MSAigcStyleCallBack)
+ public func getResult(task: MixSdk.MSAigcSearchTask, completeHandler: @escaping MixSdk.MSAigcQueryCallBack)
+ public func createTask(_ task: MixSdk.MSAigcTask, completeHandler: @escaping MixSdk.MSAigcTaskCallBack)
+ @objc deinit
+}
+@usableFromInline
+internal func strideCount(from: Swift.Int, to: Swift.Int, by: Swift.Int) -> Swift.Int
+public typealias MSAudioConvertCallBack = (_ data: Foundation.Data) -> Swift.Void
+@_hasMissingDesignatedInitializers public class MSAudioConvert {
+ public static func sbcTopcm(_ data: Foundation.Data) -> Foundation.Data
+ public static func sbcTopcm(_ data: Foundation.Data, _ callBack: @escaping MixSdk.MSAudioConvertCallBack)
+ public static func pcmToMp3(_ pcmPath: Swift.String, _ mp3Path: Swift.String) -> Swift.Bool
+ public static func pcmToMp3(pcmPath: Swift.String, pcmSampleRate: Swift.Int = 16000, mp3Path: Swift.String) -> Swift.Bool
+ public static func sbcToPcm(sbcPath: Swift.String, pcmPath: Swift.String) -> Swift.Bool
+ public static func sbcToMp3(sbcPath: Swift.String, mp3Path: Swift.String) -> Swift.Bool
+ @objc deinit
+}
+public typealias MSTranslateCallBack = (_ text: Swift.String?, _ error: MixSdk.MSError?) -> Swift.Void
+public typealias MSLanuageCallBack = (_ list: [MixSdk.MSTranslateLanguage]?, _ error: MixSdk.MSError?) -> Swift.Void
+@_hasMissingDesignatedInitializers public class MSTranslate {
+ public func translate(lang: MixSdk.MSTranslateLanguage, text: Swift.String, completeHandler: @escaping MixSdk.MSTranslateCallBack)
+ public func getSupportLanguages(completeHandler: @escaping MixSdk.MSLanuageCallBack)
+ @objc deinit
+}
+@_hasMissingDesignatedInitializers public class MSSttEvent : Swift.Codable {
+ public var event: Swift.String
+ public var msg: Swift.String
+ public var status: Swift.Int
+ public var task_id: Swift.String
+ public var result: MixSdk.MSSttResult?
+ @objc deinit
+ public func encode(to encoder: any Swift.Encoder) throws
+ required public init(from decoder: any Swift.Decoder) throws
+}
+@_hasMissingDesignatedInitializers public class MSSttResult : Swift.Codable {
+ public var result: Swift.String
+ public var is_end: Swift.Bool
+ public var sentence_id: Swift.String
+ public var start_time: Swift.Int
+ public var end_time: Swift.Int
+ @objc deinit
+ public func encode(to encoder: any Swift.Encoder) throws
+ required public init(from decoder: any Swift.Decoder) throws
+}
+public typealias MSChatCallBack = (_ model: MixSdk.MSChatModel) -> Swift.Void
+public typealias MSPlatformChangeCallBack = (_ success: Swift.Bool) -> Swift.Void
+@_hasMissingDesignatedInitializers public class MSChat {
+ public var callBack: MixSdk.MSChatCallBack?
+ public var connectStateCallBack: MixSdk.MSConnectStateCallBack?
+ public var connectState: MixSdk.MSConnectState {
+ get
+ }
+ public func reset()
+ public func send(content: Swift.String)
+ @objc deinit
+}
+public typealias MSChatGptCallBack = (_ response: MixSdk.MSChatGptModel?, _ error: MixSdk.MSChatGptError?) -> Swift.Void
+public typealias MSChatGptTranscriptionCallBack = (_ text: Swift.String?, _ error: MixSdk.MSChatGptError?) -> Swift.Void
+public typealias MSChatGptCheckKeyCallBack = (_ isValid: Swift.Bool?, _ error: MixSdk.MSChatGptError?) -> Swift.Void
+@_hasMissingDesignatedInitializers public class MSChatGpt {
+ public func transcription(filePath: Swift.String, completeHandler: @escaping MixSdk.MSChatGptTranscriptionCallBack)
+ public func changeModel(model: Swift.String)
+ public func isValidKey(_ key: Swift.String, completeHandler: @escaping MixSdk.MSChatGptCheckKeyCallBack)
+ public func send(content: Swift.String, completeHandler: @escaping MixSdk.MSChatGptCallBack)
+ @objc deinit
+}
+@_hasMissingDesignatedInitializers public class MSChatGptTranscription {
+ public func start()
+ public func stop(completeHandler: @escaping MixSdk.MSChatGptTranscriptionCallBack)
+ public func sendVoice(pcmData: Foundation.Data)
+ public func sendVoice(sbcData: Foundation.Data)
+ @objc deinit
+}
+@_hasMissingDesignatedInitializers public class MSAigcStyle : Swift.Codable {
+ public var name: Swift.String
+ public var url: Swift.String
+ public var code: Swift.String
+ @objc deinit
+ public func encode(to encoder: any Swift.Encoder) throws
+ required public init(from decoder: any Swift.Decoder) throws
+}
+public class MSAigcTask : Swift.Codable {
+ public var type: Swift.Int
+ public var subject: Swift.String?
+ public var algorithm: Swift.String
+ public var image_base64: Swift.String?
+ public var amount: Swift.Int
+ public init()
+ @objc deinit
+ public func encode(to encoder: any Swift.Encoder) throws
+ required public init(from decoder: any Swift.Decoder) throws
+}
+public class MSAigcSearchTask : Swift.Codable {
+ public var task_id: Swift.String
+ public var bit_depth: Swift.Int
+ public var compression_quality: Swift.Int
+ public var format: Swift.String
+ public var height: Swift.Int
+ public var width: Swift.Int
+ public init()
+ @objc deinit
+ public func encode(to encoder: any Swift.Encoder) throws
+ required public init(from decoder: any Swift.Decoder) throws
+}
+extension MixSdk.MSConnectState : Swift.Equatable {}
+extension MixSdk.MSConnectState : Swift.Hashable {}
+extension MixSdk.MSConnectState : Swift.RawRepresentable {}
+extension MixSdk.StreamDecryptor.Error : Swift.Equatable {}
+extension MixSdk.StreamDecryptor.Error : Swift.Hashable {}
+extension MixSdk.MSPlatform : Swift.Equatable {}
+extension MixSdk.MSPlatform : Swift.Hashable {}
+extension MixSdk.StreamEncryptor.Error : Swift.Equatable {}
+extension MixSdk.StreamEncryptor.Error : Swift.Hashable {}
--- /dev/null
+framework module MixSdk {
+ umbrella header "MixSdk.h"
+ export *
+
+ module * { export * }
+}
+
+module MixSdk.Swift {
+ header "MixSdk-Swift.h"
+ requires objc
+}
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>NSPrivacyTracking</key>
+ <false/>
+ <key>NSPrivacyTrackingDomains</key>
+ <array/>
+ <key>NSPrivacyCollectedDataTypes</key>
+ <array/>
+ <key>NSPrivacyAccessedAPITypes</key>
+ <array/>
+</dict>
+</plist>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>files</key>
+ <dict>
+ <key>Headers/MixSdk-Swift.h</key>
+ <data>
+ wLmCBKapUq4ZNn1EJWPQ9ofFeIY=
+ </data>
+ <key>Headers/MixSdk.h</key>
+ <data>
+ RDwnkxVTEvZ3jTS9O6azeEFEgns=
+ </data>
+ <key>Info.plist</key>
+ <data>
+ 7S70aIkn7x+XGSeVoVnMTBkYhTk=
+ </data>
+ <key>Modules/MixSdk.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo</key>
+ <data>
+ U9PEKZe6MEX1ZD7uVyF+gHWUu1g=
+ </data>
+ <key>Modules/MixSdk.swiftmodule/arm64-apple-ios.abi.json</key>
+ <data>
+ JV7LYEHyj+kgFkdQp4NYdtYARzM=
+ </data>
+ <key>Modules/MixSdk.swiftmodule/arm64-apple-ios.private.swiftinterface</key>
+ <data>
+ RFU5knjqRfGROvMpHaYvOnxCz7o=
+ </data>
+ <key>Modules/MixSdk.swiftmodule/arm64-apple-ios.swiftdoc</key>
+ <data>
+ /NGYI7HL3NqdrUiIrw5QHSG0URM=
+ </data>
+ <key>Modules/MixSdk.swiftmodule/arm64-apple-ios.swiftinterface</key>
+ <data>
+ RFU5knjqRfGROvMpHaYvOnxCz7o=
+ </data>
+ <key>Modules/MixSdk.swiftmodule/arm64-apple-ios.swiftmodule</key>
+ <data>
+ F4imi/aZXiUgTP5EAnZv6leF2G0=
+ </data>
+ <key>Modules/module.modulemap</key>
+ <data>
+ yLMxbG6c2uPuEoF9icR/B09Rdhc=
+ </data>
+ <key>PrivacyInfo.xcprivacy</key>
+ <data>
+ ucg9pita0v8d353x3NuGfxweQYU=
+ </data>
+ </dict>
+ <key>files2</key>
+ <dict>
+ <key>Headers/MixSdk-Swift.h</key>
+ <dict>
+ <key>hash</key>
+ <data>
+ wLmCBKapUq4ZNn1EJWPQ9ofFeIY=
+ </data>
+ <key>hash2</key>
+ <data>
+ +OiQP27UUJrv4wjOhNSYCfOJiVGaAYh/PzbU3/+tAs8=
+ </data>
+ </dict>
+ <key>Headers/MixSdk.h</key>
+ <dict>
+ <key>hash</key>
+ <data>
+ RDwnkxVTEvZ3jTS9O6azeEFEgns=
+ </data>
+ <key>hash2</key>
+ <data>
+ iN0wwWxMfravqc7w/4rOqAw1vFRTE5D5x3jeZvQ9JoU=
+ </data>
+ </dict>
+ <key>Modules/MixSdk.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo</key>
+ <dict>
+ <key>hash</key>
+ <data>
+ U9PEKZe6MEX1ZD7uVyF+gHWUu1g=
+ </data>
+ <key>hash2</key>
+ <data>
+ uz3RXK+gKnx5H9vIhlFkheBjw5JXK+QD9oQlE6kBOa4=
+ </data>
+ </dict>
+ <key>Modules/MixSdk.swiftmodule/arm64-apple-ios.abi.json</key>
+ <dict>
+ <key>hash</key>
+ <data>
+ JV7LYEHyj+kgFkdQp4NYdtYARzM=
+ </data>
+ <key>hash2</key>
+ <data>
+ V3x+AxPd6awA4tA4jXrefs4qOnhZyVWPymmAo9YH3bU=
+ </data>
+ </dict>
+ <key>Modules/MixSdk.swiftmodule/arm64-apple-ios.private.swiftinterface</key>
+ <dict>
+ <key>hash</key>
+ <data>
+ RFU5knjqRfGROvMpHaYvOnxCz7o=
+ </data>
+ <key>hash2</key>
+ <data>
+ rxbuJ1Vf0mU5EfI94OJq6Ac/wq+TmzOKIyp8NI7lixs=
+ </data>
+ </dict>
+ <key>Modules/MixSdk.swiftmodule/arm64-apple-ios.swiftdoc</key>
+ <dict>
+ <key>hash</key>
+ <data>
+ /NGYI7HL3NqdrUiIrw5QHSG0URM=
+ </data>
+ <key>hash2</key>
+ <data>
+ ny2amNt+gvG+ppQ2Htz8tIJj1E9uyPAgalgR9K40zWw=
+ </data>
+ </dict>
+ <key>Modules/MixSdk.swiftmodule/arm64-apple-ios.swiftinterface</key>
+ <dict>
+ <key>hash</key>
+ <data>
+ RFU5knjqRfGROvMpHaYvOnxCz7o=
+ </data>
+ <key>hash2</key>
+ <data>
+ rxbuJ1Vf0mU5EfI94OJq6Ac/wq+TmzOKIyp8NI7lixs=
+ </data>
+ </dict>
+ <key>Modules/MixSdk.swiftmodule/arm64-apple-ios.swiftmodule</key>
+ <dict>
+ <key>hash</key>
+ <data>
+ F4imi/aZXiUgTP5EAnZv6leF2G0=
+ </data>
+ <key>hash2</key>
+ <data>
+ Bas+LyhTvUHzM90zBZFRqWxufmb3lUj3kwiHjUzXFZs=
+ </data>
+ </dict>
+ <key>Modules/module.modulemap</key>
+ <dict>
+ <key>hash</key>
+ <data>
+ yLMxbG6c2uPuEoF9icR/B09Rdhc=
+ </data>
+ <key>hash2</key>
+ <data>
+ DmF2EQ3cevs1qZ9DoYCqDvL7WIM9mn7Tf/gpacQg344=
+ </data>
+ </dict>
+ <key>PrivacyInfo.xcprivacy</key>
+ <dict>
+ <key>hash</key>
+ <data>
+ ucg9pita0v8d353x3NuGfxweQYU=
+ </data>
+ <key>hash2</key>
+ <data>
+ Uh6274Qwdz5cAQ4YOP6d2PpdYre3bRzqjX2NqtyxROI=
+ </data>
+ </dict>
+ </dict>
+ <key>rules</key>
+ <dict>
+ <key>^.*</key>
+ <true/>
+ <key>^.*\.lproj/</key>
+ <dict>
+ <key>optional</key>
+ <true/>
+ <key>weight</key>
+ <real>1000</real>
+ </dict>
+ <key>^.*\.lproj/locversion.plist$</key>
+ <dict>
+ <key>omit</key>
+ <true/>
+ <key>weight</key>
+ <real>1100</real>
+ </dict>
+ <key>^Base\.lproj/</key>
+ <dict>
+ <key>weight</key>
+ <real>1010</real>
+ </dict>
+ <key>^version.plist$</key>
+ <true/>
+ </dict>
+ <key>rules2</key>
+ <dict>
+ <key>.*\.dSYM($|/)</key>
+ <dict>
+ <key>weight</key>
+ <real>11</real>
+ </dict>
+ <key>^(.*/)?\.DS_Store$</key>
+ <dict>
+ <key>omit</key>
+ <true/>
+ <key>weight</key>
+ <real>2000</real>
+ </dict>
+ <key>^.*</key>
+ <true/>
+ <key>^.*\.lproj/</key>
+ <dict>
+ <key>optional</key>
+ <true/>
+ <key>weight</key>
+ <real>1000</real>
+ </dict>
+ <key>^.*\.lproj/locversion.plist$</key>
+ <dict>
+ <key>omit</key>
+ <true/>
+ <key>weight</key>
+ <real>1100</real>
+ </dict>
+ <key>^Base\.lproj/</key>
+ <dict>
+ <key>weight</key>
+ <real>1010</real>
+ </dict>
+ <key>^Info\.plist$</key>
+ <dict>
+ <key>omit</key>
+ <true/>
+ <key>weight</key>
+ <real>20</real>
+ </dict>
+ <key>^PkgInfo$</key>
+ <dict>
+ <key>omit</key>
+ <true/>
+ <key>weight</key>
+ <real>20</real>
+ </dict>
+ <key>^embedded\.provisionprofile$</key>
+ <dict>
+ <key>weight</key>
+ <real>20</real>
+ </dict>
+ <key>^version\.plist$</key>
+ <dict>
+ <key>weight</key>
+ <real>20</real>
+ </dict>
+ </dict>
+</dict>
+</plist>
--- /dev/null
+PODS:
+ - IQKeyboardManagerSwift (7.1.1)
+ - SnapKit (5.7.1)
+ - Toast-Swift (5.1.1)
+
+DEPENDENCIES:
+ - IQKeyboardManagerSwift
+ - SnapKit (~> 5.7.0)
+ - Toast-Swift
+
+SPEC REPOS:
+ https://gitee.com/mirrors/CocoaPods-Specs.git:
+ - IQKeyboardManagerSwift
+ - SnapKit
+ - Toast-Swift
+
+SPEC CHECKSUMS:
+ IQKeyboardManagerSwift: d7f3d3a562c237a0e7335e657cd598c452f57f1b
+ SnapKit: d612e99e678a2d3b95bf60b0705ed0a35c03484a
+ Toast-Swift: 7a03a532afe3a560d4044bc7c237e2864d295173
+
+PODFILE CHECKSUM: 4bbdc884a7c5baa7f070a0c257de0c5b68144a6f
+
+COCOAPODS: 1.16.2
--- /dev/null
+//
+// IQActiveConfiguration.swift
+// https://github.com/hackiftekhar/IQKeyboardManager
+// Copyright (c) 2013-24 Iftekhar Qurashi.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+import UIKit
+
+@available(iOSApplicationExtension, unavailable)
+@MainActor
+internal final class IQActiveConfiguration {
+
+ private let keyboardListener: IQKeyboardListener = IQKeyboardListener()
+ private let textFieldViewListener: IQTextFieldViewListener = IQTextFieldViewListener()
+
+ private var changeObservers: [AnyHashable: ConfigurationCompletion] = [:]
+
+ @objc public enum Event: Int {
+ case hide
+ case show
+ case change
+
+ var name: String {
+ switch self {
+ case .hide:
+ return "hide"
+ case .show:
+ return "show"
+ case .change:
+ return "change"
+ }
+ }
+ }
+
+ private var lastEvent: Event = .hide
+
+ var rootControllerConfiguration: IQRootControllerConfiguration?
+
+ var isReady: Bool {
+ if textFieldViewInfo != nil,
+ let rootControllerConfiguration = rootControllerConfiguration {
+ return rootControllerConfiguration.isReady
+ }
+ return false
+ }
+
+ init() {
+ addKeyboardListener()
+ addTextFieldViewListener()
+ }
+
+ private func sendEvent() {
+
+ if let rootControllerConfiguration = rootControllerConfiguration,
+ rootControllerConfiguration.isReady {
+ if keyboardInfo.keyboardShowing {
+ if lastEvent == .hide {
+ self.notify(event: .show, keyboardInfo: keyboardInfo, textFieldViewInfo: textFieldViewInfo)
+ } else {
+ self.notify(event: .change, keyboardInfo: keyboardInfo, textFieldViewInfo: textFieldViewInfo)
+ }
+ } else if lastEvent != .hide {
+ if rootControllerConfiguration.beginOrientation == rootControllerConfiguration.currentOrientation {
+ self.notify(event: .hide, keyboardInfo: keyboardInfo, textFieldViewInfo: textFieldViewInfo)
+ self.rootControllerConfiguration = nil
+ } else if rootControllerConfiguration.hasChanged {
+ animate(alongsideTransition: {
+ rootControllerConfiguration.restore()
+ }, completion: nil)
+ }
+ }
+ }
+ }
+
+ private func updateRootController(info: IQTextFieldViewInfo?) {
+
+ guard let info = info,
+ let controller: UIViewController = info.textFieldView.iq.parentContainerViewController() else {
+ if let rootControllerConfiguration = rootControllerConfiguration,
+ rootControllerConfiguration.hasChanged {
+ animate(alongsideTransition: {
+ rootControllerConfiguration.restore()
+ }, completion: nil)
+ }
+ rootControllerConfiguration = nil
+ return
+ }
+
+ let newConfiguration = IQRootControllerConfiguration(rootController: controller)
+
+ if newConfiguration.rootController.view.window != rootControllerConfiguration?.rootController.view.window ||
+ newConfiguration.beginOrientation != rootControllerConfiguration?.beginOrientation {
+
+ if rootControllerConfiguration?.rootController != newConfiguration.rootController {
+
+ // If there was an old configuration but things are changed
+ if let rootControllerConfiguration = rootControllerConfiguration,
+ rootControllerConfiguration.hasChanged {
+ animate(alongsideTransition: {
+ rootControllerConfiguration.restore()
+ }, completion: nil)
+ }
+ }
+
+ rootControllerConfiguration = newConfiguration
+ }
+ }
+}
+
+@available(iOSApplicationExtension, unavailable)
+extension IQActiveConfiguration {
+
+ var keyboardInfo: IQKeyboardInfo {
+ return keyboardListener.keyboardInfo
+ }
+
+ private func addKeyboardListener() {
+ keyboardListener.registerSizeChange(identifier: "IQActiveConfiguration", changeHandler: { [self] name, _ in
+
+ if let info = textFieldViewInfo, keyboardInfo.keyboardShowing {
+ if let rootControllerConfiguration = rootControllerConfiguration {
+ let beginIsPortrait: Bool = rootControllerConfiguration.beginOrientation.isPortrait
+ let currentIsPortrait: Bool = rootControllerConfiguration.currentOrientation.isPortrait
+ if beginIsPortrait != currentIsPortrait {
+ updateRootController(info: info)
+ }
+ } else {
+ updateRootController(info: info)
+ }
+ }
+
+ self.sendEvent()
+
+ if name == .didHide {
+ updateRootController(info: nil)
+ }
+ })
+ }
+
+ public func animate(alongsideTransition transition: @escaping () -> Void, completion: (() -> Void)? = nil) {
+ keyboardListener.animate(alongsideTransition: transition, completion: completion)
+ }
+}
+
+@available(iOSApplicationExtension, unavailable)
+extension IQActiveConfiguration {
+
+ var textFieldViewInfo: IQTextFieldViewInfo? {
+ return textFieldViewListener.textFieldViewInfo
+ }
+
+ private func addTextFieldViewListener() {
+ textFieldViewListener.registerTextFieldViewChange(identifier: "IQActiveConfiguration",
+ changeHandler: { [self] info in
+ if info.name == .beginEditing {
+ updateRootController(info: info)
+ self.sendEvent()
+ }
+ })
+ }
+}
+
+@available(iOSApplicationExtension, unavailable)
+extension IQActiveConfiguration {
+
+ typealias ConfigurationCompletion = (_ event: Event,
+ _ keyboardInfo: IQKeyboardInfo,
+ _ textFieldInfo: IQTextFieldViewInfo?) -> Void
+
+ func registerChange(identifier: AnyHashable, changeHandler: @escaping ConfigurationCompletion) {
+ changeObservers[identifier] = changeHandler
+ }
+
+ func unregisterChange(identifier: AnyHashable) {
+ changeObservers[identifier] = nil
+ }
+
+ private func notify(event: Event, keyboardInfo: IQKeyboardInfo, textFieldViewInfo: IQTextFieldViewInfo?) {
+ lastEvent = event
+
+ for block in changeObservers.values {
+ block(event, keyboardInfo, textFieldViewInfo)
+ }
+ }
+}
--- /dev/null
+//
+// IQBarButtonItemConfiguration.swift
+// https://github.com/hackiftekhar/IQKeyboardManager
+// Copyright (c) 2013-24 Iftekhar Qurashi.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+import UIKit
+
+/**
+ IQBarButtonItemConfiguration for creating toolbar with bar button items
+ */
+@available(iOSApplicationExtension, unavailable)
+@MainActor
+@objc public final class IQBarButtonItemConfiguration: NSObject {
+
+ @objc public init(systemItem: UIBarButtonItem.SystemItem, action: Selector? = nil) {
+ self.systemItem = systemItem
+ self.image = nil
+ self.title = nil
+ self.action = action
+ super.init()
+ }
+
+ @objc public init(image: UIImage, action: Selector? = nil) {
+ self.systemItem = nil
+ self.image = image
+ self.title = nil
+ self.action = action
+ super.init()
+ }
+
+ @objc public init(title: String, action: Selector? = nil) {
+ self.systemItem = nil
+ self.image = nil
+ self.title = title
+ self.action = action
+ super.init()
+ }
+
+ public let systemItem: UIBarButtonItem.SystemItem? // System Item to be used to instantiate bar button.
+
+ @objc public let image: UIImage? // Image to show on bar button item if it's not a system item.
+
+ @objc public let title: String? // Title to show on bar button item if it's not a system item.
+
+ @objc public var action: Selector? // action for bar button item. Usually 'doneAction:(IQBarButtonItem*)item'.
+
+ public override var accessibilityLabel: String? { didSet { } } // Accessibility related labels
+
+ func apply(on oldBarButtonItem: IQBarButtonItem, target: AnyObject?) -> IQBarButtonItem {
+
+ var newBarButtonItem: IQBarButtonItem = oldBarButtonItem
+
+ if systemItem == nil, !oldBarButtonItem.isSystemItem {
+ newBarButtonItem.title = title
+ newBarButtonItem.accessibilityLabel = accessibilityLabel
+ newBarButtonItem.accessibilityIdentifier = newBarButtonItem.accessibilityLabel
+ newBarButtonItem.image = image
+ newBarButtonItem.target = target
+ newBarButtonItem.action = action
+ } else {
+ if let systemItem: UIBarButtonItem.SystemItem = systemItem {
+ newBarButtonItem = IQBarButtonItem(barButtonSystemItem: systemItem, target: target, action: action)
+ newBarButtonItem.isSystemItem = true
+ } else if let image: UIImage = image {
+ newBarButtonItem = IQBarButtonItem(image: image, style: .plain, target: target, action: action)
+ } else {
+ newBarButtonItem = IQBarButtonItem(title: title, style: .plain, target: target, action: action)
+ }
+
+ newBarButtonItem.invocation = oldBarButtonItem.invocation
+ newBarButtonItem.accessibilityLabel = accessibilityLabel
+ newBarButtonItem.accessibilityIdentifier = oldBarButtonItem.accessibilityLabel
+ newBarButtonItem.isEnabled = oldBarButtonItem.isEnabled
+ newBarButtonItem.tag = oldBarButtonItem.tag
+ }
+ return newBarButtonItem
+ }
+}
--- /dev/null
+//
+// IQKeyboardConfiguration.swift
+// https://github.com/hackiftekhar/IQKeyboardManager
+// Copyright (c) 2013-24 Iftekhar Qurashi.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+import UIKit
+
+@available(iOSApplicationExtension, unavailable)
+@MainActor
+@objc public final class IQKeyboardConfiguration: NSObject {
+
+ /**
+ Override the keyboardAppearance for all textField/textView. Default is NO.
+ */
+ @objc public var overrideAppearance: Bool = false
+
+ /**
+ If overrideKeyboardAppearance is YES, then all the textField keyboardAppearance is set using this property.
+ */
+ @objc public var appearance: UIKeyboardAppearance = UIKeyboardAppearance.default
+}
--- /dev/null
+//
+// IQRootControllerConfiguration.swift
+// https://github.com/hackiftekhar/IQKeyboardManager
+// Copyright (c) 2013-24 Iftekhar Qurashi.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+import UIKit
+
+@available(iOSApplicationExtension, unavailable)
+@MainActor
+internal struct IQRootControllerConfiguration {
+
+ let rootController: UIViewController
+ let beginOrigin: CGPoint
+ let beginSafeAreaInsets: UIEdgeInsets
+ let beginOrientation: UIInterfaceOrientation
+
+ init(rootController: UIViewController) {
+ self.rootController = rootController
+ beginOrigin = rootController.view.frame.origin
+ beginSafeAreaInsets = rootController.view.safeAreaInsets
+
+ let interfaceOrientation: UIInterfaceOrientation
+ if let scene = rootController.view.window?.windowScene {
+ interfaceOrientation = scene.interfaceOrientation
+ } else {
+ interfaceOrientation = .unknown
+ }
+
+ beginOrientation = interfaceOrientation
+ }
+
+ var currentOrientation: UIInterfaceOrientation {
+ let interfaceOrientation: UIInterfaceOrientation
+ if let scene = rootController.view.window?.windowScene {
+ interfaceOrientation = scene.interfaceOrientation
+ } else {
+ interfaceOrientation = .unknown
+ }
+ return interfaceOrientation
+ }
+
+ var isReady: Bool {
+ return rootController.view.window != nil
+ }
+
+ var hasChanged: Bool {
+ return !rootController.view.frame.origin.equalTo(beginOrigin)
+ }
+
+ @discardableResult
+ func restore() -> Bool {
+ if !rootController.view.frame.origin.equalTo(beginOrigin) {
+ // Setting it's new frame
+ var rect: CGRect = rootController.view.frame
+ rect.origin = beginOrigin
+ rootController.view.frame = rect
+ return true
+ }
+ return false
+ }
+}
--- /dev/null
+//
+// IQScrollViewConfiguration.swift
+// https://github.com/hackiftekhar/IQKeyboardManager
+// Copyright (c) 2013-24 Iftekhar Qurashi.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+import UIKit
+
+@available(iOSApplicationExtension, unavailable)
+@MainActor
+internal struct IQScrollViewConfiguration {
+ let scrollView: UIScrollView
+ let startingContentOffset: CGPoint
+ let startingScrollIndicatorInsets: UIEdgeInsets
+ let startingContentInset: UIEdgeInsets
+
+ private let canRestoreContentOffset: Bool
+
+ init(scrollView: UIScrollView, canRestoreContentOffset: Bool) {
+ self.scrollView = scrollView
+ self.canRestoreContentOffset = canRestoreContentOffset
+
+ startingContentOffset = scrollView.contentOffset
+ startingContentInset = scrollView.contentInset
+ startingScrollIndicatorInsets = scrollView.verticalScrollIndicatorInsets
+ }
+
+ var hasChanged: Bool {
+ if scrollView.contentInset != self.startingContentInset {
+ return true
+ }
+
+ if canRestoreContentOffset,
+ scrollView.iq.restoreContentOffset,
+ !scrollView.contentOffset.equalTo(startingContentOffset) {
+ return true
+ }
+ return false
+ }
+
+ @discardableResult
+ func restore(for textFieldView: UIView?) -> Bool {
+ var success: Bool = false
+
+ if scrollView.contentInset != self.startingContentInset {
+ scrollView.contentInset = self.startingContentInset
+ scrollView.layoutIfNeeded() // (Bug ID: #1996)
+ success = true
+ }
+
+ if scrollView.verticalScrollIndicatorInsets != self.startingScrollIndicatorInsets {
+ scrollView.verticalScrollIndicatorInsets = self.startingScrollIndicatorInsets
+ }
+
+ if canRestoreContentOffset,
+ scrollView.iq.restoreContentOffset,
+ !scrollView.contentOffset.equalTo(startingContentOffset) {
+
+ // (Bug ID: #1365, #1508, #1541)
+ let stackView: UIStackView? = textFieldView?.iq.superviewOf(type: UIStackView.self,
+ belowView: scrollView)
+ // (Bug ID: #1901, #1996)
+ let animatedContentOffset: Bool = stackView != nil ||
+ scrollView is UICollectionView ||
+ scrollView is UITableView
+
+ if animatedContentOffset {
+ scrollView.setContentOffset(startingContentOffset, animated: UIView.areAnimationsEnabled)
+ } else {
+ scrollView.contentOffset = startingContentOffset
+ }
+ success = true
+ }
+
+ return success
+ }
+}
--- /dev/null
+//
+// IQToolbarConfiguration.swift
+// https://github.com/hackiftekhar/IQKeyboardManager
+// Copyright (c) 2013-24 Iftekhar Qurashi.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+import UIKit
+
+@available(iOSApplicationExtension, unavailable)
+@MainActor
+@objc public final class IQToolbarConfiguration: NSObject {
+
+ /**
+ If YES, then uses textField's tintColor property for IQToolbar, otherwise tint color is default. Default is NO.
+ */
+ @objc public var useTextFieldTintColor: Bool = false
+
+ /**
+ This is used for toolbar.tintColor when textfield.keyboardAppearance is UIKeyboardAppearanceDefault.
+ If useTextFieldTintColor is YES then this property is ignored. Default is nil and uses black color.
+ */
+ @objc public var tintColor: UIColor?
+
+ /**
+ This is used for toolbar.barTintColor. Default is nil.
+ */
+ @objc public var barTintColor: UIColor?
+
+ /**
+ IQPreviousNextDisplayModeDefault: Show NextPrevious when there are more than 1 textField otherwise hide.
+ IQPreviousNextDisplayModeAlwaysHide: Do not show NextPrevious buttons in any case.
+ IQPreviousNextDisplayModeAlwaysShow: Always show nextPrevious buttons,
+ if there are more than 1 textField then both buttons will be visible but will be shown as disabled.
+ */
+ @objc public var previousNextDisplayMode: IQPreviousNextDisplayMode = .default
+
+ /**
+ /**
+ IQAutoToolbarBySubviews: Creates Toolbar according to subview's hierarchy of Textfield's in view.
+ IQAutoToolbarByTag: Creates Toolbar according to tag property of TextField's.
+ IQAutoToolbarByPosition: Creates Toolbar according to the y,x position
+ of textField in it's superview coordinate.
+
+ Default is IQAutoToolbarBySubviews.
+ */
+ AutoToolbar managing behavior. Default is IQAutoToolbarBySubviews.
+ */
+ @objc public var manageBehavior: IQAutoToolbarManageBehavior = .bySubviews
+
+ /**
+ Buttons configuration displayed on the toolbar, the selector parameter is ignored in below configuration
+ */
+ @objc public var previousBarButtonConfiguration: IQBarButtonItemConfiguration?
+ @objc public var nextBarButtonConfiguration: IQBarButtonItemConfiguration?
+ @objc public var doneBarButtonConfiguration: IQBarButtonItemConfiguration?
+
+ @objc public let placeholderConfiguration: IQToolbarPlaceholderConfiguration = .init()
+}
--- /dev/null
+//
+// IQToolbarPlaceholderConfiguration.swift
+// https://github.com/hackiftekhar/IQKeyboardManager
+// Copyright (c) 2013-24 Iftekhar Qurashi.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+import UIKit
+
+@available(iOSApplicationExtension, unavailable)
+@MainActor
+@objc public final class IQToolbarPlaceholderConfiguration: NSObject {
+
+ /**
+ If YES, then it add the textField's placeholder text on IQToolbar. Default is YES.
+ */
+ @objc public var showPlaceholder: Bool = true
+
+ /**
+ Placeholder Font. Default is nil.
+ */
+ @objc public var font: UIFont?
+
+ /**
+ Placeholder Color. Default is nil. Which means lightGray
+ */
+ @objc public var color: UIColor?
+
+ /**
+ Placeholder Button Color when it's treated as button. Default is nil.
+ */
+ @objc public var buttonColor: UIColor?
+
+ /**
+ Placeholder accessibility Label
+ */
+ public override var accessibilityLabel: String? { didSet { } }
+}
--- /dev/null
+//
+// IQKeyboardManagerConstants.swift
+// https://github.com/hackiftekhar/IQKeyboardManager
+// Copyright (c) 2013-24 Iftekhar Qurashi.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+import Foundation
+
+// MARK: IQAutoToolbarManageBehavior
+
+/**
+`IQAutoToolbarBySubviews`
+Creates Toolbar according to subview's hierarchy of Textfield's in view.
+
+`IQAutoToolbarByTag`
+Creates Toolbar according to tag property of TextField's.
+
+`IQAutoToolbarByPosition`
+Creates Toolbar according to the y,x position of textField in it's superview coordinate.
+*/
+@available(iOSApplicationExtension, unavailable)
+@objc public enum IQAutoToolbarManageBehavior: Int {
+ case bySubviews
+ case byTag
+ case byPosition
+}
+
+/**
+ `IQPreviousNextDisplayModeDefault`
+ Show NextPrevious when there are more than 1 textField otherwise hide.
+
+ `IQPreviousNextDisplayModeAlwaysHide`
+ Do not show NextPrevious buttons in any case.
+
+ `IQPreviousNextDisplayModeAlwaysShow`
+ Always show nextPrevious buttons,
+ if there are more than 1 textField then both buttons will be visible but will be shown as disabled.
+ */
+@available(iOSApplicationExtension, unavailable)
+@objc public enum IQPreviousNextDisplayMode: Int {
+ case `default`
+ case alwaysHide
+ case alwaysShow
+}
+
+/**
+ `IQEnableModeDefault`
+ Pick default settings.
+
+ `IQEnableModeEnabled`
+ setting is enabled.
+
+ `IQEnableModeDisabled`
+ setting is disabled.
+ */
+@available(iOSApplicationExtension, unavailable)
+@objc public enum IQEnableMode: Int {
+ case `default`
+ case enabled
+ case disabled
+}
+
+/*
+ /---------------------------------------------------------------------------------------------------\
+ \---------------------------------------------------------------------------------------------------/
+ | iOS Notification Mechanism |
+ /---------------------------------------------------------------------------------------------------\
+ \---------------------------------------------------------------------------------------------------/
+
+ ------------------------------------------------------------
+ When UITextField become first responder
+ ------------------------------------------------------------
+ - UITextFieldTextDidBeginEditingNotification (UITextField)
+ - UIKeyboardWillShowNotification
+ - UIKeyboardDidShowNotification
+
+ ------------------------------------------------------------
+ When UITextView become first responder
+ ------------------------------------------------------------
+ - UIKeyboardWillShowNotification
+ - UITextViewTextDidBeginEditingNotification (UITextView)
+ - UIKeyboardDidShowNotification
+
+ ------------------------------------------------------------
+ When switching focus from UITextField to another UITextField
+ ------------------------------------------------------------
+ - UITextFieldTextDidEndEditingNotification (UITextField1)
+ - UITextFieldTextDidBeginEditingNotification (UITextField2)
+ - UIKeyboardWillShowNotification
+ - UIKeyboardDidShowNotification
+
+ ------------------------------------------------------------
+ When switching focus from UITextView to another UITextView
+ ------------------------------------------------------------
+ - UITextViewTextDidEndEditingNotification: (UITextView1)
+ - UIKeyboardWillShowNotification
+ - UITextViewTextDidBeginEditingNotification: (UITextView2)
+ - UIKeyboardDidShowNotification
+
+ ------------------------------------------------------------
+ When switching focus from UITextField to UITextView
+ ------------------------------------------------------------
+ - UITextFieldTextDidEndEditingNotification (UITextField)
+ - UIKeyboardWillShowNotification
+ - UITextViewTextDidBeginEditingNotification (UITextView)
+ - UIKeyboardDidShowNotification
+
+ ------------------------------------------------------------
+ When switching focus from UITextView to UITextField
+ ------------------------------------------------------------
+ - UITextViewTextDidEndEditingNotification (UITextView)
+ - UITextFieldTextDidBeginEditingNotification (UITextField)
+ - UIKeyboardWillShowNotification
+ - UIKeyboardDidShowNotification
+
+ ------------------------------------------------------------
+ When opening/closing UIKeyboard Predictive bar
+ ------------------------------------------------------------
+ - UIKeyboardWillShowNotification
+ - UIKeyboardDidShowNotification
+
+ ------------------------------------------------------------
+ On orientation change
+ ------------------------------------------------------------
+ - UIApplicationWillChangeStatusBarOrientationNotification
+ - UIKeyboardWillHideNotification
+ - UIKeyboardDidHideNotification
+ - UIApplicationDidChangeStatusBarOrientationNotification
+ - UIKeyboardWillShowNotification
+ - UIKeyboardDidShowNotification
+ - UIKeyboardWillShowNotification
+ - UIKeyboardDidShowNotification
+
+ */
--- /dev/null
+//
+// IQKeyboardManager+Debug.swift
+// https://github.com/hackiftekhar/IQKeyboardManager
+// Copyright (c) 2013-24 Iftekhar Qurashi.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+import UIKit
+
+// MARK: Debugging & Developer options
+@available(iOSApplicationExtension, unavailable)
+public extension IQKeyboardManager {
+
+ @MainActor
+ private struct AssociatedKeys {
+ static var enableDebugging: Int = 0
+ }
+
+ @objc var enableDebugging: Bool {
+ get {
+ return objc_getAssociatedObject(self, &AssociatedKeys.enableDebugging) as? Bool ?? false
+ }
+ set(newValue) {
+ objc_setAssociatedObject(self, &AssociatedKeys.enableDebugging,
+ newValue, .OBJC_ASSOCIATION_RETAIN_NONATOMIC)
+ }
+ }
+
+ @MainActor
+ struct Static {
+ static var indentation = 0
+ }
+
+ internal func showLog(_ logString: String, indentation: Int = 0) {
+
+ guard enableDebugging else {
+ return
+ }
+
+ if indentation < 0 {
+ Static.indentation = max(0, Static.indentation + indentation)
+ }
+
+ var preLog: String = "IQKeyboardManager"
+ for _ in 0 ... Static.indentation {
+ preLog += "|\t"
+ }
+
+ print(preLog + logString)
+
+ if indentation > 0 {
+ Static.indentation += indentation
+ }
+ }
+}
--- /dev/null
+//
+// IQKeyboardManager.swift
+// https://github.com/hackiftekhar/IQKeyboardManager
+// Copyright (c) 2013-24 Iftekhar Qurashi.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+import UIKit
+
+// swiftlint:disable unused_setter_value
+// swiftlint:disable identifier_name
+// swiftlint:disable line_length
+@available(iOSApplicationExtension, unavailable)
+public extension IQKeyboardManager {
+
+ @available(*, unavailable, renamed: "resignOnTouchOutside")
+ @objc var shouldResignOnTouchOutside: Bool {
+ get { false }
+ set { }
+ }
+
+ @available(*, unavailable, renamed: "playInputClicks")
+ @objc var shouldPlayInputClicks: Bool {
+ get { false }
+ set { }
+ }
+
+ @available(*, unavailable, message: "This feature has been removed due to few compatibility problems")
+ @objc func registerTextFieldViewClass(_ aClass: UIView.Type,
+ didBeginEditingNotificationName: String,
+ didEndEditingNotificationName: String) {
+ }
+
+ @available(*, unavailable, message: "This feature has been removed due to few compatibility problems")
+ @objc func unregisterTextFieldViewClass(_ aClass: UIView.Type,
+ didBeginEditingNotificationName: String,
+ didEndEditingNotificationName: String) {
+ }
+}
+
+@available(iOSApplicationExtension, unavailable)
+public extension IQKeyboardManager {
+
+ @available(*, unavailable, renamed: "toolbarConfiguration.manageBehavior")
+ @objc var toolbarManageBehaviour: IQAutoToolbarManageBehavior {
+ get { .bySubviews }
+ set { }
+ }
+
+ @available(*, unavailable, renamed: "toolbarConfiguration.useTextFieldTintColor")
+ @objc var shouldToolbarUsesTextFieldTintColor: Bool {
+ get { false }
+ set { }
+ }
+
+ @available(*, unavailable, renamed: "toolbarConfiguration.tintColor")
+ @objc var toolbarTintColor: UIColor? {
+ get { nil }
+ set { }
+ }
+
+ @available(*, unavailable, renamed: "toolbarConfiguration.barTintColor")
+ @objc var toolbarBarTintColor: UIColor? {
+ get { nil }
+ set { }
+ }
+
+ @available(*, unavailable, renamed: "toolbarConfiguration.previousNextDisplayMode")
+ @objc var previousNextDisplayMode: IQPreviousNextDisplayMode {
+ get { .default }
+ set { }
+ }
+}
+
+@available(iOSApplicationExtension, unavailable)
+public extension IQKeyboardManager {
+ @available(*, unavailable, renamed: "toolbarConfiguration.previousBarButtonConfiguration.image",
+ message: "To change, please assign a new toolbarConfiguration.previousBarButtonConfiguration")
+ @objc var toolbarPreviousBarButtonItemImage: UIImage? {
+ get { nil }
+ set { }
+ }
+ @available(*, unavailable, renamed: "toolbarConfiguration.previousBarButtonConfiguration.title",
+ message: "To change, please assign a new toolbarConfiguration.previousBarButtonConfiguration")
+ @objc var toolbarPreviousBarButtonItemText: String? {
+ get { nil }
+ set { }
+ }
+ @available(*, unavailable, renamed: "toolbarConfiguration.previousBarButtonConfiguration.accessibilityLabel",
+ message: "To change, please assign a new toolbarConfiguration.previousBarButtonConfiguration")
+ @objc var toolbarPreviousBarButtonItemAccessibilityLabel: String? {
+ get { nil }
+ set { }
+ }
+
+ @available(*, unavailable, renamed: "toolbarConfiguration.nextBarButtonConfiguration.image",
+ message: "To change, please assign a new toolbarConfiguration.nextBarButtonConfiguration")
+ @objc var toolbarNextBarButtonItemImage: UIImage? {
+ get { nil }
+ set { }
+ }
+ @available(*, unavailable, renamed: "toolbarConfiguration.nextBarButtonConfiguration.title",
+ message: "To change, please assign a new toolbarConfiguration.nextBarButtonConfiguration")
+ @objc var toolbarNextBarButtonItemText: String? {
+ get { nil }
+ set { }
+ }
+ @available(*, unavailable, renamed: "toolbarConfiguration.nextBarButtonConfiguration.accessibilityLabel",
+ message: "To change, please assign a new toolbarConfiguration.nextBarButtonConfiguration")
+ @objc var toolbarNextBarButtonItemAccessibilityLabel: String? {
+ get { nil }
+ set { }
+ }
+
+ @available(*, unavailable, renamed: "toolbarConfiguration.doneBarButtonConfiguration.image",
+ message: "To change, please assign a new toolbarConfiguration.doneBarButtonConfiguration")
+ @objc var toolbarDoneBarButtonItemImage: UIImage? {
+ get { nil }
+ set { }
+ }
+ @available(*, unavailable, renamed: "toolbarConfiguration.doneBarButtonConfiguration.title",
+ message: "To change, please assign a new toolbarConfiguration.doneBarButtonConfiguration")
+ @objc var toolbarDoneBarButtonItemText: String? {
+ get { nil }
+ set { }
+ }
+ @available(*, unavailable, renamed: "toolbarConfiguration.doneBarButtonConfiguration.accessibilityLabel",
+ message: "To change, please assign a new toolbarConfiguration.doneBarButtonConfiguration")
+ @objc var toolbarDoneBarButtonItemAccessibilityLabel: String? {
+ get { nil }
+ set { }
+ }
+}
+
+@available(iOSApplicationExtension, unavailable)
+public extension IQKeyboardManager {
+
+ @available(*, unavailable, renamed: "toolbarConfiguration.placeholderConfiguration.accessibilityLabel")
+ @objc var toolbarTitlBarButtonItemAccessibilityLabel: String? {
+ get { nil }
+ set { }
+ }
+
+ @available(*, unavailable, renamed: "toolbarConfiguration.placeholderConfiguration.showPlaceholder")
+ @objc var shouldShowToolbarPlaceholder: Bool {
+ get { false }
+ set { }
+ }
+
+ @available(*, unavailable, renamed: "toolbarConfiguration.placeholderConfiguration.font")
+ @objc var placeholderFont: UIFont? {
+ get { nil }
+ set { }
+ }
+
+ @available(*, unavailable, renamed: "toolbarConfiguration.placeholderConfiguration.color")
+ @objc var placeholderColor: UIColor? {
+ get { nil }
+ set { }
+ }
+
+ @available(*, unavailable, renamed: "toolbarConfiguration.placeholderConfiguration.buttonColor")
+ @objc var placeholderButtonColor: UIColor? {
+ get { nil }
+ set { }
+ }
+}
+
+@available(iOSApplicationExtension, unavailable)
+public extension IQKeyboardManager {
+
+ @available(*, unavailable, renamed: "keyboardConfiguration.overrideAppearance")
+ @objc var overrideKeyboardAppearance: Bool {
+ get { false }
+ set { }
+ }
+
+ @available(*, unavailable, renamed: "keyboardConfiguration.appearance")
+ @objc var keyboardAppearance: UIKeyboardAppearance {
+ get { .default }
+ set { }
+ }
+}
+
+@available(iOSApplicationExtension, unavailable)
+public extension IQKeyboardManager {
+
+ typealias SizeBlock = (_ size: CGSize) -> Void
+
+ @available(*, unavailable, message: "This feature has been moved to IQKeyboardListener, use it directly by creating new instance")
+ @objc func registerKeyboardSizeChange(identifier: AnyHashable, sizeHandler: @escaping SizeBlock) {}
+
+ @available(*, unavailable, message: "This feature has been moved to IQKeyboardListener, use it directly by creating new instance")
+ @objc func unregisterKeyboardSizeChange(identifier: AnyHashable) {}
+
+ @available(*, unavailable, message: "This feature has been moved to IQKeyboardListener, use it directly by creating new instance")
+ @objc var keyboardShowing: Bool { false }
+
+ @available(*, unavailable, message: "This feature has been moved to IQKeyboardListener, use it directly by creating new instance")
+ @objc var keyboardFrame: CGRect { .zero }
+}
+// swiftlint:enable unused_setter_value
+// swiftlint:enable identifier_name
+// swiftlint:enable line_length
--- /dev/null
+//
+// IQKeyboardManager+Internal.swift
+// https://github.com/hackiftekhar/IQKeyboardManager
+// Copyright (c) 2013-24 Iftekhar Qurashi.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+import UIKit
+
+@available(iOSApplicationExtension, unavailable)
+internal extension IQKeyboardManager {
+
+ /** Get all UITextField/UITextView siblings of textFieldView. */
+ func responderViews() -> [UIView]? {
+
+ guard let textFieldView: UIView = activeConfiguration.textFieldViewInfo?.textFieldView else {
+ return nil
+ }
+
+ var superConsideredView: UIView?
+
+ // If find any consider responderView in it's upper hierarchy then will get deepResponderView.
+ for allowedClass in toolbarPreviousNextAllowedClasses {
+ superConsideredView = textFieldView.iq.superviewOf(type: allowedClass)
+ if superConsideredView != nil {
+ break
+ }
+ }
+
+ var swiftUIHostingView: UIView?
+ let swiftUIHostingViewName: String = "UIHostingView<"
+ var superView: UIView? = textFieldView.superview
+ while let unwrappedSuperView: UIView = superView {
+
+ let classNameString: String = {
+ var name: String = "\(type(of: unwrappedSuperView.self))"
+ if name.hasPrefix("_") {
+ name.removeFirst()
+ }
+ return name
+ }()
+
+ if classNameString.hasPrefix(swiftUIHostingViewName) {
+ swiftUIHostingView = unwrappedSuperView
+ break
+ }
+
+ superView = unwrappedSuperView.superview
+ }
+
+ // (Enhancement ID: #22)
+ // If there is a superConsideredView in view's hierarchy,
+ // then fetching all it's subview that responds.
+ // No sorting for superConsideredView, it's by subView position.
+ if let view: UIView = swiftUIHostingView {
+ return view.iq.deepResponderViews()
+ } else if let view: UIView = superConsideredView {
+ return view.iq.deepResponderViews()
+ } else { // Otherwise fetching all the siblings
+
+ let textFields: [UIView] = textFieldView.iq.responderSiblings()
+
+ // Sorting textFields according to behavior
+ switch toolbarConfiguration.manageBehavior {
+ // If autoToolbar behavior is bySubviews, then returning it.
+ case .bySubviews: return textFields
+
+ // If autoToolbar behavior is by tag, then sorting it according to tag property.
+ case .byTag: return textFields.sortedByTag()
+
+ // If autoToolbar behavior is by tag, then sorting it according to tag property.
+ case .byPosition: return textFields.sortedByPosition()
+ }
+ }
+ }
+
+ func privateIsEnabled() -> Bool {
+
+ var isEnabled: Bool = enable
+
+ guard let textFieldViewInfo: IQTextFieldViewInfo = activeConfiguration.textFieldViewInfo else {
+ return isEnabled
+ }
+
+ let enableMode: IQEnableMode = textFieldViewInfo.textFieldView.iq.enableMode
+
+ if enableMode == .enabled {
+ isEnabled = true
+ } else if enableMode == .disabled {
+ isEnabled = false
+ } else if var textFieldViewController = textFieldViewInfo.textFieldView.iq.viewContainingController() {
+
+ // If it is searchBar textField embedded in Navigation Bar
+ if textFieldViewInfo.textFieldView.iq.textFieldSearchBar() != nil,
+ let navController: UINavigationController = textFieldViewController as? UINavigationController,
+ let topController: UIViewController = navController.topViewController {
+ textFieldViewController = topController
+ }
+
+ // If viewController is kind of enable viewController class, then assuming it's enabled.
+ if !isEnabled, enabledDistanceHandlingClasses.contains(where: { textFieldViewController.isKind(of: $0) }) {
+ isEnabled = true
+ }
+
+ if isEnabled {
+
+ // If viewController is kind of disabled viewController class, then assuming it's disabled.
+ if disabledDistanceHandlingClasses.contains(where: { textFieldViewController.isKind(of: $0) }) {
+ isEnabled = false
+ }
+
+ // Special Controllers
+ if isEnabled {
+
+ let classNameString: String = "\(type(of: textFieldViewController.self))"
+
+ // _UIAlertControllerTextFieldViewController
+ if classNameString.contains("UIAlertController"),
+ classNameString.hasSuffix("TextFieldViewController") {
+ isEnabled = false
+ }
+ }
+ }
+ }
+
+ return isEnabled
+ }
+
+ func privateIsEnableAutoToolbar() -> Bool {
+
+ var isEnabled: Bool = enableAutoToolbar
+
+ guard let textFieldViewInfo: IQTextFieldViewInfo = activeConfiguration.textFieldViewInfo,
+ var textFieldViewController = textFieldViewInfo.textFieldView.iq.viewContainingController() else {
+ return isEnabled
+ }
+
+ // If it is searchBar textField embedded in Navigation Bar
+ if textFieldViewInfo.textFieldView.iq.textFieldSearchBar() != nil,
+ let navController: UINavigationController = textFieldViewController as? UINavigationController,
+ let topController: UIViewController = navController.topViewController {
+ textFieldViewController = topController
+ }
+
+ if !isEnabled, enabledToolbarClasses.contains(where: { textFieldViewController.isKind(of: $0) }) {
+ isEnabled = true
+ }
+
+ if isEnabled {
+
+ // If found any toolbar disabled classes then return.
+ if disabledToolbarClasses.contains(where: { textFieldViewController.isKind(of: $0) }) {
+ isEnabled = false
+ }
+
+ // Special Controllers
+ if isEnabled {
+
+ let classNameString: String = "\(type(of: textFieldViewController.self))"
+
+ // _UIAlertControllerTextFieldViewController
+ if classNameString.contains("UIAlertController"), classNameString.hasSuffix("TextFieldViewController") {
+ isEnabled = false
+ }
+ }
+ }
+
+ return isEnabled
+ }
+
+ func privateResignOnTouchOutside() -> Bool {
+
+ var isEnabled: Bool = resignOnTouchOutside
+
+ guard let textFieldViewInfo: IQTextFieldViewInfo = activeConfiguration.textFieldViewInfo else {
+ return isEnabled
+ }
+
+ let enableMode: IQEnableMode = textFieldViewInfo.textFieldView.iq.resignOnTouchOutsideMode
+
+ if enableMode == .enabled {
+ isEnabled = true
+ } else if enableMode == .disabled {
+ isEnabled = false
+ } else if var textFieldViewController = textFieldViewInfo.textFieldView.iq.viewContainingController() {
+
+ // If it is searchBar textField embedded in Navigation Bar
+ if textFieldViewInfo.textFieldView.iq.textFieldSearchBar() != nil,
+ let navController: UINavigationController = textFieldViewController as? UINavigationController,
+ let topController: UIViewController = navController.topViewController {
+ textFieldViewController = topController
+ }
+
+ // If viewController is kind of enable viewController class, then assuming resignOnTouchOutside is enabled.
+ if !isEnabled,
+ enabledTouchResignedClasses.contains(where: { textFieldViewController.isKind(of: $0) }) {
+ isEnabled = true
+ }
+
+ if isEnabled {
+
+ // If viewController is kind of disable viewController class,
+ // then assuming resignOnTouchOutside is disable.
+ if disabledTouchResignedClasses.contains(where: { textFieldViewController.isKind(of: $0) }) {
+ isEnabled = false
+ }
+
+ // Special Controllers
+ if isEnabled {
+
+ let classNameString: String = "\(type(of: textFieldViewController.self))"
+
+ // _UIAlertControllerTextFieldViewController
+ if classNameString.contains("UIAlertController"),
+ classNameString.hasSuffix("TextFieldViewController") {
+ isEnabled = false
+ }
+ }
+ }
+ }
+ return isEnabled
+ }
+}
--- /dev/null
+//
+// IQKeyboardManager+Position.swift
+// https://github.com/hackiftekhar/IQKeyboardManager
+// Copyright (c) 2013-24 Iftekhar Qurashi.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+import UIKit
+
+// swiftlint:disable file_length
+@available(iOSApplicationExtension, unavailable)
+public extension IQKeyboardManager {
+
+ @MainActor
+ private struct AssociatedKeys {
+ static var movedDistance: Int = 0
+ static var movedDistanceChanged: Int = 0
+ static var lastScrollViewConfiguration: Int = 0
+ static var startingTextViewConfiguration: Int = 0
+ static var activeConfiguration: Int = 0
+ }
+
+ /**
+ moved distance to the top used to maintain distance between keyboard and textField.
+ Most of the time this will be a positive value.
+ */
+ private(set) var movedDistance: CGFloat {
+ get {
+ return objc_getAssociatedObject(self, &AssociatedKeys.movedDistance) as? CGFloat ?? 0.0
+ }
+ set(newValue) {
+ objc_setAssociatedObject(self, &AssociatedKeys.movedDistance, newValue, .OBJC_ASSOCIATION_RETAIN_NONATOMIC)
+ movedDistanceChanged?(movedDistance)
+ }
+ }
+
+ /**
+ Will be called then movedDistance will be changed
+ */
+ @objc var movedDistanceChanged: ((CGFloat) -> Void)? {
+ get {
+ return objc_getAssociatedObject(self, &AssociatedKeys.movedDistanceChanged) as? ((CGFloat) -> Void)
+ }
+ set(newValue) {
+ objc_setAssociatedObject(self, &AssociatedKeys.movedDistanceChanged,
+ newValue, .OBJC_ASSOCIATION_RETAIN_NONATOMIC)
+ movedDistanceChanged?(movedDistance)
+ }
+ }
+
+ /** Variable to save lastScrollView that was scrolled. */
+ internal var lastScrollViewConfiguration: IQScrollViewConfiguration? {
+ get {
+ return objc_getAssociatedObject(self,
+ &AssociatedKeys.lastScrollViewConfiguration) as? IQScrollViewConfiguration
+ }
+ set(newValue) {
+ objc_setAssociatedObject(self, &AssociatedKeys.lastScrollViewConfiguration,
+ newValue, .OBJC_ASSOCIATION_RETAIN_NONATOMIC)
+ }
+ }
+
+ /** used to adjust contentInset of UITextView. */
+ internal var startingTextViewConfiguration: IQScrollViewConfiguration? {
+ get {
+ return objc_getAssociatedObject(self,
+ &AssociatedKeys.startingTextViewConfiguration) as? IQScrollViewConfiguration
+ }
+ set(newValue) {
+ objc_setAssociatedObject(self, &AssociatedKeys.startingTextViewConfiguration,
+ newValue, .OBJC_ASSOCIATION_RETAIN_NONATOMIC)
+ }
+ }
+
+ internal func addActiveConfigurationObserver() {
+ activeConfiguration.registerChange(identifier: UUID().uuidString, changeHandler: { event, _, _ in
+ switch event {
+ case .show:
+ self.handleKeyboardTextFieldViewVisible()
+ case .change:
+ self.handleKeyboardTextFieldViewChanged()
+ case .hide:
+ self.handleKeyboardTextFieldViewHide()
+ }
+ })
+ }
+
+ @objc internal func applicationDidBecomeActive(_ notification: Notification) {
+
+ guard privateIsEnabled(),
+ activeConfiguration.keyboardInfo.keyboardShowing,
+ activeConfiguration.isReady else {
+ return
+ }
+ adjustPosition()
+ }
+
+ /* Adjusting RootViewController's frame according to interface orientation. */
+ // swiftlint:disable cyclomatic_complexity
+ // swiftlint:disable function_body_length
+ internal func adjustPosition() {
+
+ // We are unable to get textField object while keyboard showing on WKWebView's textField. (Bug ID: #11)
+ guard UIApplication.shared.applicationState == .active,
+ let textFieldView: UIView = activeConfiguration.textFieldViewInfo?.textFieldView,
+ let superview: UIView = textFieldView.superview,
+ let rootConfiguration = activeConfiguration.rootControllerConfiguration,
+ let window: UIWindow = rootConfiguration.rootController.view.window else {
+ return
+ }
+
+ showLog(">>>>> \(#function) started >>>>>", indentation: 1)
+ let startTime: CFTimeInterval = CACurrentMediaTime()
+
+ let rootController: UIViewController = rootConfiguration.rootController
+ let textFieldViewRectInWindow: CGRect = superview.convert(textFieldView.frame, to: window)
+ let textFieldViewRectInRootSuperview: CGRect = superview.convert(textFieldView.frame,
+ to: rootController.view.superview)
+
+ // Getting RootViewOrigin.
+ var rootViewOrigin: CGPoint = rootController.view.frame.origin
+
+ let keyboardDistance: CGFloat
+
+ do {
+ // Maintain keyboardDistanceFromTextField
+ let specialKeyboardDistanceFromTextField: CGFloat
+
+ if let searchBar: UIView = textFieldView.iq.textFieldSearchBar() {
+ specialKeyboardDistanceFromTextField = searchBar.iq.distanceFromKeyboard
+ } else {
+ specialKeyboardDistanceFromTextField = textFieldView.iq.distanceFromKeyboard
+ }
+
+ if specialKeyboardDistanceFromTextField == UIView.defaultKeyboardDistance {
+ keyboardDistance = keyboardDistanceFromTextField
+ } else {
+ keyboardDistance = specialKeyboardDistanceFromTextField
+ }
+ }
+
+ let kbSize: CGSize
+ let originalKbSize: CGSize = activeConfiguration.keyboardInfo.frame.size
+
+ do {
+ var kbFrame: CGRect = activeConfiguration.keyboardInfo.frame
+
+ kbFrame.origin.y -= keyboardDistance
+ kbFrame.size.height += keyboardDistance
+
+ kbFrame.origin.y -= rootConfiguration.beginSafeAreaInsets.bottom
+ kbFrame.size.height += rootConfiguration.beginSafeAreaInsets.bottom
+
+ // (Bug ID: #469) (Bug ID: #381) (Bug ID: #1506)
+ // Calculating actual keyboard covered size respect to window,
+ // keyboard frame may be different when hardware keyboard is attached
+ let intersectRect: CGRect = kbFrame.intersection(window.frame)
+
+ if intersectRect.isNull {
+ kbSize = CGSize(width: kbFrame.size.width, height: 0)
+ } else {
+ kbSize = intersectRect.size
+ }
+ }
+
+ let statusBarHeight: CGFloat
+
+ let navigationBarAreaHeight: CGFloat
+ if let navigationController: UINavigationController = rootController.navigationController {
+ navigationBarAreaHeight = navigationController.navigationBar.frame.maxY
+ } else {
+ statusBarHeight = window.windowScene?.statusBarManager?.statusBarFrame.height ?? 0
+ navigationBarAreaHeight = statusBarHeight
+ }
+
+ let isScrollableTextView: Bool
+
+ if let textView: UIScrollView = textFieldView as? UIScrollView,
+ textFieldView.responds(to: #selector(getter: UITextView.isEditable)) {
+ isScrollableTextView = textView.isScrollEnabled
+ } else {
+ isScrollableTextView = false
+ }
+
+ let directionalLayoutMargin: NSDirectionalEdgeInsets = rootController.view.directionalLayoutMargins
+ let topLayoutGuide: CGFloat = CGFloat.maximum(navigationBarAreaHeight, directionalLayoutMargin.top)
+
+ // Validation of textView for case where there is a tab bar
+ // at the bottom or running on iPhone X and textView is at the bottom.
+ let bottomLayoutGuide: CGFloat = isScrollableTextView ? 0 : directionalLayoutMargin.bottom
+
+ // Move positive = textField is hidden.
+ // Move negative = textField is showing.
+ // Calculating move position.
+ var moveUp: CGFloat
+
+ do {
+ let visibleHeight: CGFloat = window.frame.height-kbSize.height
+
+ let topMovement: CGFloat = textFieldViewRectInRootSuperview.minY-topLayoutGuide
+ let bottomMovement: CGFloat = textFieldViewRectInWindow.maxY - visibleHeight + bottomLayoutGuide
+ moveUp = CGFloat.minimum(topMovement, bottomMovement)
+ moveUp = CGFloat(Int(moveUp))
+ }
+
+ showLog("Need to move: \(moveUp), will be moving \(moveUp < 0 ? "down" : "up")")
+
+ var superScrollView: UIScrollView?
+ var superView: UIScrollView? = textFieldView.iq.superviewOf(type: UIScrollView.self)
+
+ // Getting UIScrollView whose scrolling is enabled. // (Bug ID: #285)
+ while let view: UIScrollView = superView {
+
+ if view.isScrollEnabled, !view.iq.ignoreScrollingAdjustment {
+ superScrollView = view
+ break
+ } else {
+ // Getting it's superScrollView. // (Enhancement ID: #21, #24)
+ superView = view.iq.superviewOf(type: UIScrollView.self)
+ }
+ }
+
+ // If there was a lastScrollView. // (Bug ID: #34)
+ if let lastConfiguration: IQScrollViewConfiguration = lastScrollViewConfiguration {
+ // If we can't find current superScrollView, then setting lastScrollView to it's original form.
+ if superScrollView == nil {
+
+ if lastConfiguration.hasChanged {
+ if lastConfiguration.scrollView.contentInset != lastConfiguration.startingContentInset {
+ showLog("Restoring contentInset to: \(lastConfiguration.startingContentInset)")
+ }
+
+ if lastConfiguration.scrollView.iq.restoreContentOffset,
+ !lastConfiguration.scrollView.contentOffset.equalTo(lastConfiguration.startingContentOffset) {
+ showLog("Restoring contentOffset to: \(lastConfiguration.startingContentOffset)")
+ }
+
+ activeConfiguration.animate(alongsideTransition: {
+ lastConfiguration.restore(for: textFieldView)
+ })
+ }
+
+ self.lastScrollViewConfiguration = nil
+ } else if superScrollView != lastConfiguration.scrollView {
+ // If both scrollView's are different,
+ // then reset lastScrollView to it's original frame and setting current scrollView as last scrollView.
+ if lastConfiguration.hasChanged {
+ if lastConfiguration.scrollView.contentInset != lastConfiguration.startingContentInset {
+ showLog("Restoring contentInset to: \(lastConfiguration.startingContentInset)")
+ }
+
+ if lastConfiguration.scrollView.iq.restoreContentOffset,
+ !lastConfiguration.scrollView.contentOffset.equalTo(lastConfiguration.startingContentOffset) {
+ showLog("Restoring contentOffset to: \(lastConfiguration.startingContentOffset)")
+ }
+
+ activeConfiguration.animate(alongsideTransition: {
+ lastConfiguration.restore(for: textFieldView)
+ })
+ }
+
+ if let superScrollView = superScrollView {
+ let configuration = IQScrollViewConfiguration(scrollView: superScrollView,
+ canRestoreContentOffset: true)
+ self.lastScrollViewConfiguration = configuration
+ showLog("""
+ Saving ScrollView New contentInset: \(configuration.startingContentInset)
+ and contentOffset: \(configuration.startingContentOffset)
+ """)
+ } else {
+ self.lastScrollViewConfiguration = nil
+ }
+ }
+ // Else the case where superScrollView == lastScrollView means we are on same scrollView
+ // after switching to different textField. So doing nothing, going ahead
+ } else if let superScrollView: UIScrollView = superScrollView {
+ // If there was no lastScrollView and we found a current scrollView. then setting it as lastScrollView.
+
+ let configuration = IQScrollViewConfiguration(scrollView: superScrollView, canRestoreContentOffset: true)
+ self.lastScrollViewConfiguration = configuration
+ showLog("""
+ Saving ScrollView New contentInset: \(configuration.startingContentInset)
+ and contentOffset: \(configuration.startingContentOffset)
+ """)
+ }
+
+ // Special case for ScrollView.
+ // If we found lastScrollView then setting it's contentOffset to show textField.
+ if let lastScrollViewConfiguration: IQScrollViewConfiguration = lastScrollViewConfiguration {
+ // Saving
+ var lastView: UIView = textFieldView
+ var superScrollView: UIScrollView? = lastScrollViewConfiguration.scrollView
+
+ while let scrollView: UIScrollView = superScrollView {
+
+ var isContinue: Bool = false
+
+ if moveUp > 0 {
+ isContinue = moveUp > (-scrollView.contentOffset.y - scrollView.contentInset.top)
+
+ } else if let tableView: UITableView = scrollView.iq.superviewOf(type: UITableView.self) {
+ // Special treatment for UITableView due to their cell reusing logic
+
+ isContinue = scrollView.contentOffset.y > 0
+
+ if isContinue,
+ let tableCell: UITableViewCell = textFieldView.iq.superviewOf(type: UITableViewCell.self),
+ let indexPath: IndexPath = tableView.indexPath(for: tableCell),
+ let previousIndexPath: IndexPath = tableView.previousIndexPath(of: indexPath) {
+
+ let previousCellRect: CGRect = tableView.rectForRow(at: previousIndexPath)
+ if !previousCellRect.isEmpty {
+ let superview: UIView? = rootController.view.superview
+ let previousCellRectInRootSuperview: CGRect = tableView.convert(previousCellRect,
+ to: superview)
+
+ moveUp = CGFloat.minimum(0, previousCellRectInRootSuperview.maxY - topLayoutGuide)
+ }
+ }
+ } else if let collectionView = scrollView.iq.superviewOf(type: UICollectionView.self) {
+ // Special treatment for UICollectionView due to their cell reusing logic
+
+ isContinue = scrollView.contentOffset.y > 0
+
+ if isContinue,
+ let collectionCell = textFieldView.iq.superviewOf(type: UICollectionViewCell.self),
+ let indexPath: IndexPath = collectionView.indexPath(for: collectionCell),
+ let previousIndexPath: IndexPath = collectionView.previousIndexPath(of: indexPath),
+ let attributes = collectionView.layoutAttributesForItem(at: previousIndexPath) {
+
+ let previousCellRect: CGRect = attributes.frame
+ if !previousCellRect.isEmpty {
+ let superview: UIView? = rootController.view.superview
+ let previousCellRectInRootSuperview: CGRect = collectionView.convert(previousCellRect,
+ to: superview)
+
+ moveUp = CGFloat.minimum(0, previousCellRectInRootSuperview.maxY - topLayoutGuide)
+ }
+ }
+ } else {
+ isContinue = textFieldViewRectInRootSuperview.minY < topLayoutGuide
+
+ if isContinue {
+ moveUp = CGFloat.minimum(0, textFieldViewRectInRootSuperview.minY - topLayoutGuide)
+ }
+ }
+
+ // Looping in upper hierarchy until we don't found any scrollView then
+ // in it's upper hierarchy till UIWindow object.
+ if isContinue {
+
+ var tempScrollView: UIScrollView? = scrollView.iq.superviewOf(type: UIScrollView.self)
+ var nextScrollView: UIScrollView?
+ while let view: UIScrollView = tempScrollView {
+
+ if view.isScrollEnabled, !view.iq.ignoreScrollingAdjustment {
+ nextScrollView = view
+ break
+ } else {
+ tempScrollView = view.iq.superviewOf(type: UIScrollView.self)
+ }
+ }
+
+ // Getting lastViewRect.
+ if let lastViewRect: CGRect = lastView.superview?.convert(lastView.frame, to: scrollView) {
+
+ // Calculating the expected Y offset from move and scrollView's contentOffset.
+ let minimumMovement: CGFloat = CGFloat.minimum(scrollView.contentOffset.y, -moveUp)
+ var suggestedOffsetY: CGFloat = scrollView.contentOffset.y - minimumMovement
+
+ // Rearranging the expected Y offset according to the view.
+ suggestedOffsetY = CGFloat.minimum(suggestedOffsetY, lastViewRect.minY)
+
+ // [_textFieldView isKindOfClass:[UITextView class]] If is a UITextView type
+ // nextScrollView == nil If processing scrollView is last scrollView in
+ // upper hierarchy (there is no other scrollView upper hierarchy.)
+ // [_textFieldView isKindOfClass:[UITextView class]] If is a UITextView type
+ // suggestedOffsetY >= 0 suggestedOffsetY must be greater than in
+ // order to keep distance from navigationBar (Bug ID: #92)
+ if isScrollableTextView,
+ nextScrollView == nil,
+ suggestedOffsetY >= 0 {
+
+ // Converting Rectangle according to window bounds.
+ if let superview: UIView = textFieldView.superview {
+
+ let currentTextFieldViewRect: CGRect = superview.convert(textFieldView.frame,
+ to: window)
+
+ // Calculating expected fix distance which needs to be managed from navigation bar
+ let expectedFixDistance: CGFloat = currentTextFieldViewRect.minY - topLayoutGuide
+
+ // Now if expectedOffsetY (scrollView.contentOffset.y + expectedFixDistance)
+ // is lower than current suggestedOffsetY, which means we're in a position where
+ // navigationBar up and hide, then reducing suggestedOffsetY with expectedOffsetY
+ // (scrollView.contentOffset.y + expectedFixDistance)
+ let expectedOffsetY: CGFloat = scrollView.contentOffset.y + expectedFixDistance
+ suggestedOffsetY = CGFloat.minimum(suggestedOffsetY, expectedOffsetY)
+
+ // Setting move to 0 because now we don't want to move any view anymore
+ // (All will be managed by our contentInset logic.
+ moveUp = 0
+ } else {
+ // Subtracting the Y offset from the move variable,
+ // because we are going to change scrollView's contentOffset.y to suggestedOffsetY.
+ moveUp -= (suggestedOffsetY-scrollView.contentOffset.y)
+ }
+ } else {
+ // Subtracting the Y offset from the move variable,
+ // because we are going to change scrollView's contentOffset.y to suggestedOffsetY.
+ moveUp -= (suggestedOffsetY-scrollView.contentOffset.y)
+ }
+
+ let newContentOffset: CGPoint = CGPoint(x: scrollView.contentOffset.x, y: suggestedOffsetY)
+
+ if !scrollView.contentOffset.equalTo(newContentOffset) {
+
+ showLog("""
+ old contentOffset: \(scrollView.contentOffset)
+ new contentOffset: \(newContentOffset)
+ """)
+ self.showLog("Remaining Move: \(moveUp)")
+
+ // Getting problem while using `setContentOffset:animated:`, So I used animation API.
+ activeConfiguration.animate(alongsideTransition: {
+
+ // (Bug ID: #1365, #1508, #1541)
+ let stackView: UIStackView? = textFieldView.iq.superviewOf(type: UIStackView.self,
+ belowView: scrollView)
+ // (Bug ID: #1901, #1996)
+ let animatedContentOffset: Bool = stackView != nil ||
+ scrollView is UICollectionView ||
+ scrollView is UITableView
+
+ if animatedContentOffset {
+ scrollView.setContentOffset(newContentOffset, animated: UIView.areAnimationsEnabled)
+ } else {
+ scrollView.contentOffset = newContentOffset
+ }
+ }, completion: {
+
+ if scrollView is UITableView || scrollView is UICollectionView {
+ // This will update the next/previous states
+ self.reloadInputViews()
+ }
+ })
+ }
+ }
+
+ // Getting next lastView & superScrollView.
+ lastView = scrollView
+ superScrollView = nextScrollView
+ } else {
+ moveUp = 0
+ break
+ }
+ }
+
+ // Updating contentInset
+ let lastScrollView = lastScrollViewConfiguration.scrollView
+ if let lastScrollViewRect: CGRect = lastScrollView.superview?.convert(lastScrollView.frame, to: window),
+ !lastScrollView.iq.ignoreContentInsetAdjustment {
+
+ var bottomInset: CGFloat = (kbSize.height)-(window.frame.height-lastScrollViewRect.maxY)
+ let keyboardAndSafeArea: CGFloat = keyboardDistance + rootConfiguration.beginSafeAreaInsets.bottom
+ var bottomScrollIndicatorInset: CGFloat = bottomInset - keyboardAndSafeArea
+
+ // Update the insets so that the scrollView doesn't shift incorrectly
+ // when the offset is near the bottom of the scroll view.
+ bottomInset = CGFloat.maximum(lastScrollViewConfiguration.startingContentInset.bottom, bottomInset)
+ let startingScrollInset: UIEdgeInsets = lastScrollViewConfiguration.startingScrollIndicatorInsets
+ bottomScrollIndicatorInset = CGFloat.maximum(startingScrollInset.bottom,
+ bottomScrollIndicatorInset)
+
+ bottomInset -= lastScrollView.safeAreaInsets.bottom
+ bottomScrollIndicatorInset -= lastScrollView.safeAreaInsets.bottom
+
+ var movedInsets: UIEdgeInsets = lastScrollView.contentInset
+ movedInsets.bottom = bottomInset
+
+ if lastScrollView.contentInset != movedInsets {
+ showLog("old ContentInset: \(lastScrollView.contentInset) new ContentInset: \(movedInsets)")
+
+ activeConfiguration.animate(alongsideTransition: {
+ lastScrollView.contentInset = movedInsets
+ lastScrollView.layoutIfNeeded() // (Bug ID: #1996)
+
+ var newScrollIndicatorInset: UIEdgeInsets = lastScrollView.verticalScrollIndicatorInsets
+
+ newScrollIndicatorInset.bottom = bottomScrollIndicatorInset
+ lastScrollView.scrollIndicatorInsets = newScrollIndicatorInset
+ })
+ }
+ }
+ }
+ // Going ahead. No else if.
+
+ // Special case for UITextView
+ // (Readjusting textView.contentInset when textView hight is too big to fit on screen)
+ // _lastScrollView If not having inside any scrollView, now contentInset manages the full screen textView.
+ // [_textFieldView isKindOfClass:[UITextView class]] If is a UITextView type
+ if isScrollableTextView, let textView = textFieldView as? UIScrollView {
+
+ let keyboardYPosition: CGFloat = window.frame.height - originalKbSize.height
+ var rootSuperViewFrameInWindow: CGRect = window.frame
+ if let rootSuperview: UIView = rootController.view.superview {
+ rootSuperViewFrameInWindow = rootSuperview.convert(rootSuperview.bounds, to: window)
+ }
+
+ let keyboardOverlapping: CGFloat = rootSuperViewFrameInWindow.maxY - keyboardYPosition
+
+ let availableHeight: CGFloat = rootSuperViewFrameInWindow.height-topLayoutGuide-keyboardOverlapping
+ let textViewHeight: CGFloat = CGFloat.minimum(textView.frame.height, availableHeight)
+
+ if textView.frame.size.height-textView.contentInset.bottom>textViewHeight {
+ // If frame is not change by library in past, then saving user textView properties (Bug ID: #92)
+ if startingTextViewConfiguration == nil {
+ startingTextViewConfiguration = IQScrollViewConfiguration(scrollView: textView,
+ canRestoreContentOffset: false)
+ }
+
+ var newContentInset: UIEdgeInsets = textView.contentInset
+ newContentInset.bottom = textView.frame.size.height-textViewHeight
+ newContentInset.bottom -= textView.safeAreaInsets.bottom
+
+ if textView.contentInset != newContentInset {
+ self.showLog("""
+ \(textFieldView) Old UITextView.contentInset: \(textView.contentInset)
+ New UITextView.contentInset: \(newContentInset)
+ """)
+
+ activeConfiguration.animate(alongsideTransition: {
+
+ textView.contentInset = newContentInset
+ textView.layoutIfNeeded() // (Bug ID: #1996)
+ textView.scrollIndicatorInsets = newContentInset
+ })
+ }
+ }
+ }
+
+ // +Positive or zero.
+ if moveUp >= 0 {
+
+ rootViewOrigin.y = CGFloat.maximum(rootViewOrigin.y - moveUp, CGFloat.minimum(0, -originalKbSize.height))
+
+ if !rootController.view.frame.origin.equalTo(rootViewOrigin) {
+ showLog("Moving Upward")
+
+ activeConfiguration.animate(alongsideTransition: {
+
+ var rect: CGRect = rootController.view.frame
+ rect.origin = rootViewOrigin
+ rootController.view.frame = rect
+
+ // Animating content if needed (Bug ID: #204)
+ if self.layoutIfNeededOnUpdate {
+ // Animating content (Bug ID: #160)
+ rootController.view.setNeedsLayout()
+ rootController.view.layoutIfNeeded()
+ }
+
+ let classNameString: String = "\(type(of: rootController.self))"
+ self.showLog("Set \(classNameString) origin to: \(rootViewOrigin)")
+ })
+ }
+
+ movedDistance = (rootConfiguration.beginOrigin.y-rootViewOrigin.y)
+ } else { // -Negative
+ let disturbDistance: CGFloat = rootViewOrigin.y-rootConfiguration.beginOrigin.y
+
+ // disturbDistance Negative = frame disturbed.
+ // disturbDistance positive = frame not disturbed.
+ if disturbDistance <= 0 {
+
+ rootViewOrigin.y -= CGFloat.maximum(moveUp, disturbDistance)
+
+ if !rootController.view.frame.origin.equalTo(rootViewOrigin) {
+ showLog("Moving Downward")
+ // Setting adjusted rootViewRect
+ // Setting adjusted rootViewRect
+
+ activeConfiguration.animate(alongsideTransition: {
+
+ var rect: CGRect = rootController.view.frame
+ rect.origin = rootViewOrigin
+ rootController.view.frame = rect
+
+ // Animating content if needed (Bug ID: #204)
+ if self.layoutIfNeededOnUpdate {
+ // Animating content (Bug ID: #160)
+ rootController.view.setNeedsLayout()
+ rootController.view.layoutIfNeeded()
+ }
+
+ let classNameString: String = "\(type(of: rootController.self))"
+ self.showLog("Set \(classNameString) origin to: \(rootViewOrigin)")
+ })
+ }
+
+ movedDistance = (rootConfiguration.beginOrigin.y-rootViewOrigin.y)
+ }
+ }
+
+ let elapsedTime: CFTimeInterval = CACurrentMediaTime() - startTime
+ showLog("<<<<< \(#function) ended: \(elapsedTime) seconds <<<<<", indentation: -1)
+ }
+ // swiftlint:enable cyclomatic_complexity
+ // swiftlint:enable function_body_length
+
+ // swiftlint:disable cyclomatic_complexity
+ // swiftlint:disable function_body_length
+ internal func restorePosition() {
+
+ // Setting rootViewController frame to it's original position. // (Bug ID: #18)
+ guard let configuration: IQRootControllerConfiguration = activeConfiguration.rootControllerConfiguration else {
+ return
+ }
+ let startTime: CFTimeInterval = CACurrentMediaTime()
+ showLog(">>>>> \(#function) started >>>>>", indentation: 1)
+
+ activeConfiguration.animate(alongsideTransition: {
+ if configuration.hasChanged {
+ let classNameString: String = "\(type(of: configuration.rootController.self))"
+ self.showLog("Restoring \(classNameString) origin to: \(configuration.beginOrigin)")
+ }
+ configuration.restore()
+
+ // Animating content if needed (Bug ID: #204)
+ if self.layoutIfNeededOnUpdate {
+ // Animating content (Bug ID: #160)
+ configuration.rootController.view.setNeedsLayout()
+ configuration.rootController.view.layoutIfNeeded()
+ }
+ })
+
+ // Restoring the contentOffset of the lastScrollView
+ if let lastConfiguration: IQScrollViewConfiguration = lastScrollViewConfiguration {
+ let textFieldView: UIView? = activeConfiguration.textFieldViewInfo?.textFieldView
+
+ activeConfiguration.animate(alongsideTransition: {
+
+ if lastConfiguration.hasChanged {
+ if lastConfiguration.scrollView.contentInset != lastConfiguration.startingContentInset {
+ self.showLog("Restoring contentInset to: \(lastConfiguration.startingContentInset)")
+ }
+
+ if lastConfiguration.scrollView.iq.restoreContentOffset,
+ !lastConfiguration.scrollView.contentOffset.equalTo(lastConfiguration.startingContentOffset) {
+ self.showLog("Restoring contentOffset to: \(lastConfiguration.startingContentOffset)")
+ }
+
+ lastConfiguration.restore(for: textFieldView)
+ }
+
+ // This is temporary solution. Have to implement the save and restore scrollView state
+ var superScrollView: UIScrollView? = lastConfiguration.scrollView
+
+ while let scrollView: UIScrollView = superScrollView {
+
+ let width: CGFloat = CGFloat.maximum(scrollView.contentSize.width, scrollView.frame.width)
+ let height: CGFloat = CGFloat.maximum(scrollView.contentSize.height, scrollView.frame.height)
+ let contentSize: CGSize = CGSize(width: width, height: height)
+
+ let minimumY: CGFloat = contentSize.height - scrollView.frame.height
+
+ if minimumY < scrollView.contentOffset.y {
+
+ let newContentOffset: CGPoint = CGPoint(x: scrollView.contentOffset.x, y: minimumY)
+ if !scrollView.contentOffset.equalTo(newContentOffset) {
+
+ // (Bug ID: #1365, #1508, #1541)
+ let stackView: UIStackView? = textFieldView?.iq.superviewOf(type: UIStackView.self,
+ belowView: scrollView)
+
+ // (Bug ID: #1901, #1996)
+ let animatedContentOffset: Bool = stackView != nil ||
+ scrollView is UICollectionView ||
+ scrollView is UITableView
+
+ if animatedContentOffset {
+ scrollView.setContentOffset(newContentOffset, animated: UIView.areAnimationsEnabled)
+ } else {
+ scrollView.contentOffset = newContentOffset
+ }
+
+ self.showLog("Restoring contentOffset to: \(newContentOffset)")
+ }
+ }
+
+ superScrollView = scrollView.iq.superviewOf(type: UIScrollView.self)
+ }
+ })
+ }
+
+ self.movedDistance = 0
+ let elapsedTime: CFTimeInterval = CACurrentMediaTime() - startTime
+ showLog("<<<<< \(#function) ended: \(elapsedTime) seconds <<<<<", indentation: -1)
+ }
+ // swiftlint:enable cyclomatic_complexity
+ // swiftlint:enable function_body_length
+}
--- /dev/null
+//
+// IQKeyboardManager+Toolbar.swift
+// https://github.com/hackiftekhar/IQKeyboardManager
+// Copyright (c) 2013-24 Iftekhar Qurashi.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+import UIKit
+
+@available(iOSApplicationExtension, unavailable)
+public extension IQKeyboardManager {
+
+ /**
+ Default tag for toolbar with Done button -1002.
+ */
+ private static let kIQDoneButtonToolbarTag = -1002
+
+ /**
+ Default tag for toolbar with Previous/Next buttons -1005.
+ */
+ private static let kIQPreviousNextButtonToolbarTag = -1005
+
+ // swiftlint:disable function_body_length
+ // swiftlint:disable cyclomatic_complexity
+ /**
+ Add toolbar if it is required to add on textFields and it's siblings.
+ */
+ internal func addToolbarIfRequired() {
+
+ // Either there is no inputAccessoryView or
+ // if accessoryView is not appropriate for current situation
+ // (There is Previous/Next/Done toolbar)
+ guard let siblings: [UIView] = responderViews(), !siblings.isEmpty,
+ let textField: UIView = activeConfiguration.textFieldViewInfo?.textFieldView,
+ textField.responds(to: #selector(setter: UITextField.inputAccessoryView)) else {
+ return
+ }
+
+ if let inputAccessoryView: UIView = textField.inputAccessoryView {
+
+ if inputAccessoryView.tag == IQKeyboardManager.kIQPreviousNextButtonToolbarTag ||
+ inputAccessoryView.tag == IQKeyboardManager.kIQDoneButtonToolbarTag {
+ // continue
+ } else {
+ let swiftUIAccessoryName: String = "InputAccessoryHost<InputAccessoryBar>"
+ let classNameString: String = "\(type(of: inputAccessoryView.classForCoder))"
+
+ // If it's SwiftUI accessory view but doesn't have a height (fake accessory view), then we should
+ // add our own accessoryView otherwise, keep the SwiftUI accessoryView since user has added it from code
+ guard classNameString.hasPrefix(swiftUIAccessoryName), inputAccessoryView.subviews.isEmpty else {
+ return
+ }
+ }
+ }
+
+ showLog(">>>>> \(#function) started >>>>>", indentation: 1)
+ let startTime: CFTimeInterval = CACurrentMediaTime()
+
+ showLog("Found \(siblings.count) responder sibling(s)")
+
+ let rightConfiguration: IQBarButtonItemConfiguration
+ if let configuration: IQBarButtonItemConfiguration = toolbarConfiguration.doneBarButtonConfiguration {
+ rightConfiguration = configuration
+ rightConfiguration.action = #selector(self.doneAction(_:))
+ } else {
+ rightConfiguration = IQBarButtonItemConfiguration(systemItem: .done, action: #selector(self.doneAction(_:)))
+ rightConfiguration.accessibilityLabel = "Done"
+ }
+
+ let isTableCollectionView: Bool
+ if textField.iq.superviewOf(type: UITableView.self) != nil ||
+ textField.iq.superviewOf(type: UICollectionView.self) != nil {
+ isTableCollectionView = true
+ } else {
+ isTableCollectionView = false
+ }
+
+ let previousNextDisplayMode: IQPreviousNextDisplayMode = toolbarConfiguration.previousNextDisplayMode
+
+ let havePreviousNext: Bool
+ switch previousNextDisplayMode {
+ case .default:
+ // If the textField is part of UITableView/UICollectionView then we should be exposing previous/next too
+ // Because at this time we don't know the previous or next cell if it contains another textField to move.
+ if isTableCollectionView {
+ havePreviousNext = true
+ } else if siblings.count <= 1 {
+ // If only one object is found, then adding only Done button.
+ havePreviousNext = false
+ } else {
+ havePreviousNext = true
+ }
+ case .alwaysShow:
+ havePreviousNext = true
+ case .alwaysHide:
+ havePreviousNext = false
+ }
+
+ let placeholderConfig: IQToolbarPlaceholderConfiguration = toolbarConfiguration.placeholderConfiguration
+ if havePreviousNext {
+ let prevConfiguration: IQBarButtonItemConfiguration
+ if let configuration: IQBarButtonItemConfiguration = toolbarConfiguration.previousBarButtonConfiguration {
+ configuration.action = #selector(self.previousAction(_:))
+ prevConfiguration = configuration
+ } else {
+ prevConfiguration = IQBarButtonItemConfiguration(image: (UIImage.keyboardPreviousImage),
+ action: #selector(self.previousAction(_:)))
+ prevConfiguration.accessibilityLabel = "Previous"
+ }
+
+ let nextConfiguration: IQBarButtonItemConfiguration
+ if let configuration: IQBarButtonItemConfiguration = toolbarConfiguration.nextBarButtonConfiguration {
+ configuration.action = #selector(self.nextAction(_:))
+ nextConfiguration = configuration
+ } else {
+ nextConfiguration = IQBarButtonItemConfiguration(image: (UIImage.keyboardNextImage),
+ action: #selector(self.nextAction(_:)))
+ nextConfiguration.accessibilityLabel = "Next"
+ }
+
+ let titleText: String? = placeholderConfig.showPlaceholder ? textField.iq.drawingPlaceholder : nil
+ textField.iq.addToolbar(target: self,
+ previousConfiguration: prevConfiguration,
+ nextConfiguration: nextConfiguration,
+ rightConfiguration: rightConfiguration, title: titleText,
+ titleAccessibilityLabel: placeholderConfig.accessibilityLabel)
+
+ // (Bug ID: #78)
+ textField.inputAccessoryView?.tag = IQKeyboardManager.kIQPreviousNextButtonToolbarTag
+
+ if isTableCollectionView {
+ // (Bug ID: #56)
+ // In case of UITableView, the next/previous buttons should always be enabled.
+ textField.iq.toolbar.previousBarButton.isEnabled = true
+ textField.iq.toolbar.nextBarButton.isEnabled = true
+ } else {
+ // If firstTextField, then previous should not be enabled.
+ textField.iq.toolbar.previousBarButton.isEnabled = (siblings.first != textField)
+ // If lastTextField then next should not be enabled.
+ textField.iq.toolbar.nextBarButton.isEnabled = (siblings.last != textField)
+ }
+
+ } else {
+
+ let titleText: String? = placeholderConfig.showPlaceholder ? textField.iq.drawingPlaceholder : nil
+ textField.iq.addToolbar(target: self, rightConfiguration: rightConfiguration,
+ title: titleText,
+ titleAccessibilityLabel: placeholderConfig.accessibilityLabel)
+
+ textField.inputAccessoryView?.tag = IQKeyboardManager.kIQDoneButtonToolbarTag // (Bug ID: #78)
+ }
+
+ let toolbar: IQToolbar = textField.iq.toolbar
+
+ // Setting toolbar tintColor // (Enhancement ID: #30)
+ if toolbarConfiguration.useTextFieldTintColor {
+ toolbar.tintColor = textField.tintColor
+ } else {
+ toolbar.tintColor = toolbarConfiguration.tintColor
+ }
+
+ // Setting toolbar to keyboard.
+ if let textFieldView: any UITextInput = textField as? (any UITextInput) {
+
+ // Bar style according to keyboard appearance
+ switch textFieldView.keyboardAppearance {
+
+ case .dark?:
+ toolbar.barStyle = .black
+ toolbar.barTintColor = nil
+ default:
+ toolbar.barStyle = .default
+ toolbar.barTintColor = toolbarConfiguration.barTintColor
+ }
+ }
+
+ // Setting toolbar title font. // (Enhancement ID: #30)
+ if toolbarConfiguration.placeholderConfiguration.showPlaceholder,
+ !textField.iq.hidePlaceholder {
+
+ // Updating placeholder font to toolbar. //(Bug ID: #148, #272)
+ if toolbar.titleBarButton.title == nil ||
+ toolbar.titleBarButton.title != textField.iq.drawingPlaceholder {
+ toolbar.titleBarButton.title = textField.iq.drawingPlaceholder
+ }
+
+ // Setting toolbar title font. // (Enhancement ID: #30)
+ toolbar.titleBarButton.titleFont = toolbarConfiguration.placeholderConfiguration.font
+
+ // Setting toolbar title color. // (Enhancement ID: #880)
+ toolbar.titleBarButton.titleColor = toolbarConfiguration.placeholderConfiguration.color
+
+ // Setting toolbar button title color. // (Enhancement ID: #880)
+ toolbar.titleBarButton.selectableTitleColor = toolbarConfiguration.placeholderConfiguration.buttonColor
+
+ } else {
+ toolbar.titleBarButton.title = nil
+ }
+
+ // In case of UITableView (Special), the next/previous buttons has to be refreshed every-time. (Bug ID: #56)
+
+ // If firstTextField, then previous should not be enabled.
+ textField.iq.toolbar.previousBarButton.isEnabled = (siblings.first != textField)
+
+ // If lastTextField then next should not be enabled.
+ textField.iq.toolbar.nextBarButton.isEnabled = (siblings.last != textField)
+
+ let elapsedTime: CFTimeInterval = CACurrentMediaTime() - startTime
+ showLog("<<<<< \(#function) ended: \(elapsedTime) seconds <<<<<", indentation: -1)
+ }
+ // swiftlint:enable function_body_length
+ // swiftlint:enable cyclomatic_complexity
+
+ /** Remove any toolbar if it is IQToolbar. */
+ internal func removeToolbarIfRequired() { // (Bug ID: #18)
+
+ guard let siblings: [UIView] = responderViews(), !siblings.isEmpty else {
+ return
+ }
+
+ showLog(">>>>> \(#function) started >>>>>", indentation: 1)
+ let startTime: CFTimeInterval = CACurrentMediaTime()
+
+ showLog("Found \(siblings.count) responder sibling(s)")
+
+ for view in siblings {
+ removeToolbarIfRequired(of: view)
+ }
+
+ let elapsedTime: CFTimeInterval = CACurrentMediaTime() - startTime
+ showLog("<<<<< \(#function) ended: \(elapsedTime) seconds <<<<<", indentation: -1)
+ }
+
+ /** Remove any toolbar if it is IQToolbar. */
+ internal func removeToolbarIfRequired(of view: UIView) { // (Bug ID: #18)
+
+ guard view.responds(to: #selector(setter: UITextField.inputAccessoryView)),
+ let toolbar: IQToolbar = view.inputAccessoryView as? IQToolbar,
+ toolbar.tag == IQKeyboardManager.kIQPreviousNextButtonToolbarTag ||
+ toolbar.tag == IQKeyboardManager.kIQDoneButtonToolbarTag else {
+ return
+ }
+
+ // setInputAccessoryView: check (Bug ID: #307)
+ if let textField: UITextField = view as? UITextField {
+ textField.inputAccessoryView = nil
+ } else if let textView: UITextView = view as? UITextView {
+ textView.inputAccessoryView = nil
+ }
+ }
+
+ /** reloadInputViews to reload toolbar buttons enable/disable state on the fly Enhancement ID #434. */
+ @objc func reloadInputViews() {
+
+ // If enabled then adding toolbar.
+ if privateIsEnableAutoToolbar() {
+ self.addToolbarIfRequired()
+ } else {
+ self.removeToolbarIfRequired()
+ }
+ }
+}
--- /dev/null
+//
+// IQKeyboardManager+ToolbarActions.swift
+// https://github.com/hackiftekhar/IQKeyboardManager
+// Copyright (c) 2013-24 Iftekhar Qurashi.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+import UIKit
+
+// MARK: Previous next button actions
+@available(iOSApplicationExtension, unavailable)
+public extension IQKeyboardManager {
+
+ /**
+ Returns YES if can navigate to previous responder textField/textView, otherwise NO.
+ */
+ @objc var canGoPrevious: Bool {
+ // If it is not first textField. then it's previous object canBecomeFirstResponder.
+ guard let textFields: [UIView] = responderViews(),
+ let textFieldRetain: UIView = activeConfiguration.textFieldViewInfo?.textFieldView,
+ let index: Int = textFields.firstIndex(of: textFieldRetain),
+ index > 0 else {
+ return false
+ }
+ return true
+ }
+
+ /**
+ Returns YES if can navigate to next responder textField/textView, otherwise NO.
+ */
+ @objc var canGoNext: Bool {
+ // If it is not first textField. then it's previous object canBecomeFirstResponder.
+ guard let textFields: [UIView] = responderViews(),
+ let textFieldRetain: UIView = activeConfiguration.textFieldViewInfo?.textFieldView,
+ let index: Int = textFields.firstIndex(of: textFieldRetain),
+ index < textFields.count-1 else {
+ return false
+ }
+ return true
+ }
+
+ /**
+ Navigate to previous responder textField/textView.
+ */
+ @discardableResult
+ @objc func goPrevious() -> Bool {
+
+ // If it is not first textField. then it's previous object becomeFirstResponder.
+ guard let textFields: [UIView] = responderViews(),
+ let textFieldRetain: UIView = activeConfiguration.textFieldViewInfo?.textFieldView,
+ let index: Int = textFields.firstIndex(of: textFieldRetain),
+ index > 0 else {
+ return false
+ }
+
+ let nextTextField: UIView = textFields[index-1]
+
+ let isAcceptAsFirstResponder: Bool = nextTextField.becomeFirstResponder()
+
+ // If it refuses then becoming previous textFieldView as first responder again. (Bug ID: #96)
+ if !isAcceptAsFirstResponder {
+ showLog("Refuses to become first responder: \(nextTextField)")
+ }
+
+ return isAcceptAsFirstResponder
+ }
+
+ /**
+ Navigate to next responder textField/textView.
+ */
+ @discardableResult
+ @objc func goNext() -> Bool {
+
+ // If it is not first textField. then it's previous object becomeFirstResponder.
+ guard let textFields: [UIView] = responderViews(),
+ let textFieldRetain: UIView = activeConfiguration.textFieldViewInfo?.textFieldView,
+ let index: Int = textFields.firstIndex(of: textFieldRetain),
+ index < textFields.count-1 else {
+ return false
+ }
+
+ let nextTextField: UIView = textFields[index+1]
+
+ let isAcceptAsFirstResponder: Bool = nextTextField.becomeFirstResponder()
+
+ // If it refuses then becoming previous textFieldView as first responder again. (Bug ID: #96)
+ if !isAcceptAsFirstResponder {
+ showLog("Refuses to become first responder: \(nextTextField)")
+ }
+
+ return isAcceptAsFirstResponder
+ }
+
+ /** previousAction. */
+ @objc internal func previousAction (_ barButton: IQBarButtonItem) {
+
+ // If user wants to play input Click sound.
+ if playInputClicks {
+ // Play Input Click Sound.
+ UIDevice.current.playInputClick()
+ }
+
+ guard canGoPrevious,
+ let textFieldRetain: UIView = activeConfiguration.textFieldViewInfo?.textFieldView else {
+ return
+ }
+
+ let isAcceptAsFirstResponder: Bool = goPrevious()
+
+ var invocation: IQInvocation? = barButton.invocation
+ var sender: UIView = textFieldRetain
+
+ // Handling search bar special case
+ do {
+ if let searchBar: UIView = textFieldRetain.iq.textFieldSearchBar() {
+ invocation = searchBar.iq.toolbar.previousBarButton.invocation
+ sender = searchBar
+ }
+ }
+
+ if isAcceptAsFirstResponder {
+ invocation?.invoke(from: sender)
+ }
+ }
+
+ /** nextAction. */
+ @objc internal func nextAction (_ barButton: IQBarButtonItem) {
+
+ // If user wants to play input Click sound.
+ if playInputClicks {
+ // Play Input Click Sound.
+ UIDevice.current.playInputClick()
+ }
+
+ guard canGoNext,
+ let textFieldRetain: UIView = activeConfiguration.textFieldViewInfo?.textFieldView else {
+ return
+ }
+
+ let isAcceptAsFirstResponder: Bool = goNext()
+
+ var invocation: IQInvocation? = barButton.invocation
+ var sender: UIView = textFieldRetain
+
+ // Handling search bar special case
+ do {
+ if let searchBar: UIView = textFieldRetain.iq.textFieldSearchBar() {
+ invocation = searchBar.iq.toolbar.nextBarButton.invocation
+ sender = searchBar
+ }
+ }
+
+ if isAcceptAsFirstResponder {
+ invocation?.invoke(from: sender)
+ }
+ }
+
+ /** doneAction. Resigning current textField. */
+ @objc internal func doneAction (_ barButton: IQBarButtonItem) {
+
+ // If user wants to play input Click sound.
+ if playInputClicks {
+ // Play Input Click Sound.
+ UIDevice.current.playInputClick()
+ }
+
+ guard let textFieldRetain: UIView = activeConfiguration.textFieldViewInfo?.textFieldView else {
+ return
+ }
+
+ // Resign textFieldView.
+ let isResignedFirstResponder: Bool = resignFirstResponder()
+
+ var invocation: IQInvocation? = barButton.invocation
+ var sender: UIView = textFieldRetain
+
+ // Handling search bar special case
+ do {
+ if let searchBar: UIView = textFieldRetain.iq.textFieldSearchBar() {
+ invocation = searchBar.iq.toolbar.doneBarButton.invocation
+ sender = searchBar
+ }
+ }
+
+ if isResignedFirstResponder {
+ invocation?.invoke(from: sender)
+ }
+ }
+}
--- /dev/null
+//
+// IQKeyboardManager+UIKeyboardNotification.swift
+// https://github.com/hackiftekhar/IQKeyboardManager
+// Copyright (c) 2013-24 Iftekhar Qurashi.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+import UIKit
+
+// MARK: UIKeyboard Notifications
+@available(iOSApplicationExtension, unavailable)
+internal extension IQKeyboardManager {
+
+ func handleKeyboardTextFieldViewVisible() {
+ if self.activeConfiguration.rootControllerConfiguration == nil { // (Bug ID: #5)
+
+ let rootConfiguration: IQRootControllerConfiguration? = self.activeConfiguration.rootControllerConfiguration
+ if let gestureConfiguration = self.rootConfigurationWhilePopGestureActive,
+ gestureConfiguration.rootController == rootConfiguration?.rootController {
+ self.activeConfiguration.rootControllerConfiguration = gestureConfiguration
+ }
+
+ self.rootConfigurationWhilePopGestureActive = nil
+
+ if let configuration = self.activeConfiguration.rootControllerConfiguration {
+ let classNameString: String = "\(type(of: configuration.rootController.self))"
+ self.showLog("Saving \(classNameString) beginning origin: \(configuration.beginOrigin)")
+ }
+ }
+
+ setupTextFieldView()
+
+ if !privateIsEnabled() {
+ restorePosition()
+ } else {
+ adjustPosition()
+ }
+ }
+
+ func handleKeyboardTextFieldViewChanged() {
+
+ setupTextFieldView()
+
+ if !privateIsEnabled() {
+ restorePosition()
+ } else {
+ adjustPosition()
+ }
+ }
+
+ func handleKeyboardTextFieldViewHide() {
+
+ self.restorePosition()
+ self.banishTextFieldViewSetup()
+
+ if let configuration = self.activeConfiguration.rootControllerConfiguration,
+ configuration.rootController.navigationController?.interactivePopGestureRecognizer?.state == .began {
+ self.rootConfigurationWhilePopGestureActive = configuration
+ }
+
+ self.lastScrollViewConfiguration = nil
+ }
+}
+
+@available(iOSApplicationExtension, unavailable)
+internal extension IQKeyboardManager {
+
+ func setupTextFieldView() {
+
+ guard let textFieldView = activeConfiguration.textFieldViewInfo?.textFieldView else {
+ return
+ }
+
+ do {
+ if let startingConfiguration = startingTextViewConfiguration,
+ startingConfiguration.hasChanged {
+
+ if startingConfiguration.scrollView.contentInset != startingConfiguration.startingContentInset {
+ showLog("Restoring textView.contentInset to: \(startingConfiguration.startingContentInset)")
+ }
+
+ activeConfiguration.animate(alongsideTransition: {
+ startingConfiguration.restore(for: textFieldView)
+ })
+ }
+ startingTextViewConfiguration = nil
+ }
+
+ if keyboardConfiguration.overrideAppearance,
+ let textInput: any UITextInput = textFieldView as? (any UITextInput),
+ textInput.keyboardAppearance != keyboardConfiguration.appearance {
+ // Setting textField keyboard appearance and reloading inputViews.
+ if let textFieldView: UITextField = textFieldView as? UITextField {
+ textFieldView.keyboardAppearance = keyboardConfiguration.appearance
+ } else if let textFieldView: UITextView = textFieldView as? UITextView {
+ textFieldView.keyboardAppearance = keyboardConfiguration.appearance
+ }
+ textFieldView.reloadInputViews()
+ }
+
+ // If autoToolbar enable, then add toolbar on all the UITextField/UITextView's if required.
+ reloadInputViews()
+
+ resignFirstResponderGesture.isEnabled = privateResignOnTouchOutside()
+ textFieldView.window?.addGestureRecognizer(resignFirstResponderGesture) // (Enhancement ID: #14)
+ }
+
+ func banishTextFieldViewSetup() {
+
+ guard let textFieldView = activeConfiguration.textFieldViewInfo?.textFieldView else {
+ return
+ }
+
+ // Removing gesture recognizer (Enhancement ID: #14)
+ textFieldView.window?.removeGestureRecognizer(resignFirstResponderGesture)
+ removeToolbarIfRequired()
+ do {
+ if let startingConfiguration = startingTextViewConfiguration,
+ startingConfiguration.hasChanged {
+
+ if startingConfiguration.scrollView.contentInset != startingConfiguration.startingContentInset {
+ showLog("Restoring textView.contentInset to: \(startingConfiguration.startingContentInset)")
+ }
+
+ activeConfiguration.animate(alongsideTransition: {
+ startingConfiguration.restore(for: textFieldView)
+ })
+ }
+ startingTextViewConfiguration = nil
+ }
+ }
+}
--- /dev/null
+//
+// IQKeyboardManager+UITextFieldViewNotification.swift
+// https://github.com/hackiftekhar/IQKeyboardManager
+// Copyright (c) 2013-24 Iftekhar Qurashi.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+import UIKit
+
+// MARK: UITextField/UITextView Notifications
+@available(iOSApplicationExtension, unavailable)
+@MainActor
+internal extension IQKeyboardManager {
+
+ @MainActor
+ private struct AssociatedKeys {
+ static var rootConfigWhilePopActive: Int = 0
+ }
+
+ var rootConfigurationWhilePopGestureActive: IQRootControllerConfiguration? {
+ get {
+ return objc_getAssociatedObject(self,
+ &AssociatedKeys.rootConfigWhilePopActive) as? IQRootControllerConfiguration
+ }
+ set(newValue) {
+ objc_setAssociatedObject(self, &AssociatedKeys.rootConfigWhilePopActive,
+ newValue, .OBJC_ASSOCIATION_RETAIN_NONATOMIC)
+ }
+ }
+}
--- /dev/null
+//
+// IQKeyboardManager.swift
+// https://github.com/hackiftekhar/IQKeyboardManager
+// Copyright (c) 2013-24 Iftekhar Qurashi.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+import UIKit
+import CoreGraphics
+import QuartzCore
+
+// MARK: IQToolbar tags
+
+// swiftlint:disable line_length
+// A generic version of KeyboardManagement. (OLD DOCUMENTATION) LINK
+// https://developer.apple.com/library/ios/documentation/StringsTextFonts/Conceptual/TextAndWebiPhoneOS/KeyboardManagement/KeyboardManagement.html
+// https://developer.apple.com/documentation/uikit/keyboards_and_input/adjusting_your_layout_with_keyboard_layout_guide
+// swiftlint:enable line_length
+
+/**
+Code-less drop-in universal library allows to prevent issues of keyboard sliding up and cover UITextField/UITextView.
+ Neither need to write any code nor any setup required and much more.
+*/
+@available(iOSApplicationExtension, unavailable)
+@MainActor
+@objc public final class IQKeyboardManager: NSObject {
+
+ /**
+ Returns the default singleton instance.
+ */
+ @MainActor
+ @objc public static let shared: IQKeyboardManager = .init()
+
+ // MARK: UIKeyboard handling
+
+ /**
+ Enable/disable managing distance between keyboard and textField.
+ Default is YES(Enabled when class loads in `+(void)load` method).
+ */
+ @objc public var enable: Bool = false {
+
+ didSet {
+ // If not enable, enable it.
+ if enable, !oldValue {
+ // If keyboard is currently showing.
+ if activeConfiguration.keyboardInfo.keyboardShowing {
+ adjustPosition()
+ } else {
+ restorePosition()
+ }
+ showLog("Enabled")
+ } else if !enable, oldValue { // If not disable, disable it.
+ restorePosition()
+ showLog("Disabled")
+ }
+ }
+ }
+
+ /**
+ To set keyboard distance from textField. can't be less than zero. Default is 10.0.
+ */
+ @objc public var keyboardDistanceFromTextField: CGFloat = 10.0
+
+ // MARK: IQToolbar handling
+
+ /**
+ Automatic add the IQToolbar functionality. Default is YES.
+ */
+ @objc public var enableAutoToolbar: Bool = true {
+ didSet {
+ reloadInputViews()
+ showLog("enableAutoToolbar: \(enableAutoToolbar ? "Yes" : "NO")")
+ }
+ }
+
+ internal var activeConfiguration: IQActiveConfiguration = .init()
+
+ /**
+ Configurations related to the toolbar display over the keyboard.
+ */
+ @objc public let toolbarConfiguration: IQToolbarConfiguration = .init()
+
+ /**
+ Configuration related to keyboard appearance
+ */
+ @objc public let keyboardConfiguration: IQKeyboardConfiguration = .init()
+
+ // MARK: UITextField/UITextView Next/Previous/Resign handling
+
+ /**
+ Resigns Keyboard on touching outside of UITextField/View. Default is NO.
+ */
+ @objc public var resignOnTouchOutside: Bool = false {
+
+ didSet {
+ resignFirstResponderGesture.isEnabled = privateResignOnTouchOutside()
+
+ showLog("resignOnTouchOutside: \(resignOnTouchOutside ? "Yes" : "NO")")
+ }
+ }
+
+ /** TapGesture to resign keyboard on view's touch.
+ It's a readonly property and exposed only for adding/removing dependencies
+ if your added gesture does have collision with this one
+ */
+ @objc public lazy var resignFirstResponderGesture: UITapGestureRecognizer = {
+
+ let tapGesture = UITapGestureRecognizer(target: self, action: #selector(self.tapRecognized(_:)))
+ tapGesture.cancelsTouchesInView = false
+ tapGesture.delegate = self
+
+ return tapGesture
+ }()
+
+ /*******************************************/
+
+ /**
+ Resigns currently first responder field.
+ */
+ @discardableResult
+ @objc public func resignFirstResponder() -> Bool {
+
+ guard let textFieldRetain: UIView = activeConfiguration.textFieldViewInfo?.textFieldView else {
+ return false
+ }
+
+ // Resigning first responder
+ guard textFieldRetain.resignFirstResponder() else {
+ showLog("Refuses to resign first responder: \(textFieldRetain)")
+ // If it refuses then becoming it as first responder again. (Bug ID: #96)
+ // If it refuses to resign then becoming it first responder again for getting notifications callback.
+ textFieldRetain.becomeFirstResponder()
+ return false
+ }
+ return true
+ }
+
+ // MARK: UISound handling
+
+ /**
+ If YES, then it plays inputClick sound on next/previous/done click.
+ */
+ @objc public var playInputClicks: Bool = true
+
+ // MARK: UIAnimation handling
+
+ /**
+ If YES, then calls 'setNeedsLayout' and 'layoutIfNeeded' on any frame update of to viewController's view.
+ */
+ @objc public var layoutIfNeededOnUpdate: Bool = false
+
+ // MARK: Class Level disabling methods
+
+ /**
+ Disable distance handling within the scope of disabled distance handling viewControllers classes.
+ Within this scope, 'enabled' property is ignored. Class should be kind of UIViewController.
+ */
+ @objc public var disabledDistanceHandlingClasses: [UIViewController.Type] = []
+
+ /**
+ Enable distance handling within the scope of enabled distance handling viewControllers classes.
+ Within this scope, 'enabled' property is ignored. Class should be kind of UIViewController.
+ If same Class is added in disabledDistanceHandlingClasses list,
+ then enabledDistanceHandlingClasses will be ignored.
+ */
+ @objc public var enabledDistanceHandlingClasses: [UIViewController.Type] = []
+
+ /**
+ Disable automatic toolbar creation within the scope of disabled toolbar viewControllers classes.
+ Within this scope, 'enableAutoToolbar' property is ignored. Class should be kind of UIViewController.
+ */
+ @objc public var disabledToolbarClasses: [UIViewController.Type] = []
+
+ /**
+ Enable automatic toolbar creation within the scope of enabled toolbar viewControllers classes.
+ Within this scope, 'enableAutoToolbar' property is ignored. Class should be kind of UIViewController.
+ If same Class is added in disabledToolbarClasses list, then enabledToolbarClasses will be ignore.
+ */
+ @objc public var enabledToolbarClasses: [UIViewController.Type] = []
+
+ /**
+ Allowed subclasses of UIView to add all inner textField,
+ this will allow to navigate between textField contains in different superview.
+ Class should be kind of UIView.
+ */
+ @objc public var toolbarPreviousNextAllowedClasses: [UIView.Type] = []
+
+ /**
+ Disabled classes to ignore resignOnTouchOutside' property, Class should be kind of UIViewController.
+ */
+ @objc public var disabledTouchResignedClasses: [UIViewController.Type] = []
+
+ /**
+ Enabled classes to forcefully enable 'resignOnTouchOutside' property.
+ Class should be kind of UIViewController
+ . If same Class is added in disabledTouchResignedClasses list, then enabledTouchResignedClasses will be ignored.
+ */
+ @objc public var enabledTouchResignedClasses: [UIViewController.Type] = []
+
+ /**
+ if resignOnTouchOutside is enabled then you can customize the behavior
+ to not recognize gesture touches on some specific view subclasses.
+ Class should be kind of UIView. Default is [UIControl, UINavigationBar]
+ */
+ @objc public var touchResignedGestureIgnoreClasses: [UIView.Type] = []
+
+ // MARK: Third Party Library support
+ /// Add TextField/TextView Notifications customized Notifications.
+ /// For example while using YYTextView https://github.com/ibireme/YYText
+
+ /**************************************************************************************/
+
+ // MARK: Initialization/De-initialization
+
+ /* Singleton Object Initialization. */
+ override init() {
+
+ super.init()
+
+ self.addActiveConfigurationObserver()
+
+ // Creating gesture for resignOnTouchOutside. (Enhancement ID: #14)
+ resignFirstResponderGesture.isEnabled = resignOnTouchOutside
+
+ disabledDistanceHandlingClasses.append(UITableViewController.self)
+ disabledDistanceHandlingClasses.append(UIInputViewController.self)
+ disabledDistanceHandlingClasses.append(UIAlertController.self)
+
+ disabledToolbarClasses.append(UIAlertController.self)
+ disabledToolbarClasses.append(UIInputViewController.self)
+
+ disabledTouchResignedClasses.append(UIAlertController.self)
+ disabledTouchResignedClasses.append(UIInputViewController.self)
+
+ toolbarPreviousNextAllowedClasses.append(UITableView.self)
+ toolbarPreviousNextAllowedClasses.append(UICollectionView.self)
+ toolbarPreviousNextAllowedClasses.append(IQPreviousNextView.self)
+
+ touchResignedGestureIgnoreClasses.append(UIControl.self)
+ touchResignedGestureIgnoreClasses.append(UINavigationBar.self)
+
+ NotificationCenter.default.addObserver(self, selector: #selector(applicationDidBecomeActive(_:)),
+ name: UIApplication.didBecomeActiveNotification, object: nil)
+
+ // (Bug ID: #550)
+ // Loading IQToolbar, IQTitleBarButtonItem, IQBarButtonItem to fix first time keyboard appearance delay
+ // If you experience exception breakpoint issue at below line then try these solutions
+ // https://stackoverflow.com/questions/27375640/all-exception-break-point-is-stopping-for-no-reason-on-simulator
+ DispatchQueue.main.async {
+ let textField: UIView = UITextField()
+ textField.iq.addDone(target: nil, action: #selector(self.doneAction(_:)))
+ textField.iq.addPreviousNextDone(target: nil, previousAction: #selector(self.previousAction(_:)),
+ nextAction: #selector(self.nextAction(_:)),
+ doneAction: #selector(self.doneAction(_:)))
+ }
+ }
+
+ deinit {
+ // Disable the keyboard manager.
+ enable = false
+ }
+
+ // MARK: Public Methods
+
+ /* Refreshes textField/textView position if any external changes is explicitly made by user. */
+ @objc public func reloadLayoutIfNeeded() {
+
+ guard privateIsEnabled(),
+ activeConfiguration.keyboardInfo.keyboardShowing,
+ activeConfiguration.isReady else {
+ return
+ }
+ adjustPosition()
+ }
+}
+
+@available(iOSApplicationExtension, unavailable)
+extension IQKeyboardManager: UIGestureRecognizerDelegate {
+
+ /** Resigning on tap gesture. (Enhancement ID: #14)*/
+ @objc private func tapRecognized(_ gesture: UITapGestureRecognizer) {
+
+ if gesture.state == .ended {
+
+ // Resigning currently responder textField.
+ resignFirstResponder()
+ }
+ }
+
+ /** Note: returning YES is guaranteed to allow simultaneous recognition.
+ returning NO is not guaranteed to prevent simultaneous recognition,
+ as the other gesture's delegate may return YES.
+ */
+ @objc public func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer,
+ shouldRecognizeSimultaneouslyWith
+ otherGestureRecognizer: UIGestureRecognizer) -> Bool {
+ return false
+ }
+
+ /**
+ To not detect touch events in a subclass of UIControl,
+ these may have added their own selector for specific work
+ */
+ @objc public func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer,
+ shouldReceive touch: UITouch) -> Bool {
+ // (Bug ID: #145)
+ // Should not recognize gesture if the clicked view is either UIControl or UINavigationBar(<Back button etc...)
+
+ for ignoreClass in touchResignedGestureIgnoreClasses where touch.view?.isKind(of: ignoreClass) ?? false {
+ return false
+ }
+
+ return true
+ }
+
+}
--- /dev/null
+//
+// IQKeyboardManagerCompatible.swift
+// https://github.com/hackiftekhar/IQKeyboardManager
+// Copyright (c) 2013-24 Iftekhar Qurashi.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+import Foundation
+
+/// Wrapper for IQKeyboardManager compatible types. This type provides an extension point for
+/// convenience methods in IQKeyboardManager.
+@available(iOSApplicationExtension, unavailable)
+public struct IQKeyboardManagerWrapper<Base: AnyObject> {
+ public private(set) weak var base: Base?
+ public init(_ base: Base) {
+ self.base = base
+ }
+}
+
+// swiftlint:disable identifier_name
+/// Represents an object type that is compatible with IQKeyboardManager. You can use `iq` property to get a
+/// value in the namespace of IQKeyboardManager.
+@available(iOSApplicationExtension, unavailable)
+public protocol IQKeyboardManagerCompatible {
+ /// Type being extended.
+ associatedtype Base: AnyObject
+
+ /// Instance IQKeyboardManager extension point.
+ @MainActor
+ var iq: IQKeyboardManagerWrapper<Base> { get set }
+}
+
+// swiftlint:disable unused_setter_value
+@available(iOSApplicationExtension, unavailable)
+public extension IQKeyboardManagerCompatible where Self: AnyObject {
+
+ /// Instance IQKeyboardManager extension point.
+ @MainActor
+ var iq: IQKeyboardManagerWrapper<Self> {
+ get { IQKeyboardManagerWrapper(self) }
+ set {}
+ }
+}
+// swiftlint:enable unused_setter_value
+// swiftlint:enable identifier_name
--- /dev/null
+//
+// IQPlaceholderable.swift
+// https://github.com/hackiftekhar/IQKeyboardManager
+// Copyright (c) 2013-24 Iftekhar Qurashi.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+import Foundation
+import UIKit
+
+@available(iOSApplicationExtension, unavailable)
+@MainActor
+public protocol IQPlaceholderable: AnyObject {
+
+ var placeholder: String? { get set }
+ var attributedPlaceholder: NSAttributedString? { get set }
+}
+
+@available(iOSApplicationExtension, unavailable)
+extension UITextField: IQPlaceholderable { }
+
+@available(iOSApplicationExtension, unavailable)
+extension IQTextView: IQPlaceholderable { }
--- /dev/null
+//
+// IQTextView.swift
+// https://github.com/hackiftekhar/IQKeyboardManager
+// Copyright (c) 2013-24 Iftekhar Qurashi.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+import UIKit
+
+/** @abstract UITextView with placeholder support */
+@available(iOSApplicationExtension, unavailable)
+@MainActor
+@objc open class IQTextView: UITextView {
+
+ @objc required public init?(coder aDecoder: NSCoder) {
+ super.init(coder: aDecoder)
+ NotificationCenter.default.addObserver(self, selector: #selector(self.refreshPlaceholder),
+ name: UITextView.textDidChangeNotification, object: self)
+ }
+
+ @objc override public init(frame: CGRect, textContainer: NSTextContainer?) {
+ super.init(frame: frame, textContainer: textContainer)
+ NotificationCenter.default.addObserver(self, selector: #selector(self.refreshPlaceholder),
+ name: UITextView.textDidChangeNotification, object: self)
+ }
+
+ @objc override open func awakeFromNib() {
+ super.awakeFromNib()
+ NotificationCenter.default.addObserver(self, selector: #selector(self.refreshPlaceholder),
+ name: UITextView.textDidChangeNotification, object: self)
+ }
+
+ private var placeholderInsets: UIEdgeInsets {
+ let top: CGFloat = self.textContainerInset.top
+ let left: CGFloat = self.textContainerInset.left + self.textContainer.lineFragmentPadding
+ let bottom: CGFloat = self.textContainerInset.bottom
+ let right: CGFloat = self.textContainerInset.right + self.textContainer.lineFragmentPadding
+ return UIEdgeInsets(top: top, left: left, bottom: bottom, right: right)
+ }
+
+ private var placeholderExpectedFrame: CGRect {
+ let insets: UIEdgeInsets = self.placeholderInsets
+ let maxWidth: CGFloat = self.frame.width-insets.left-insets.right
+ let size: CGSize = CGSize(width: maxWidth, height: self.frame.height-insets.top-insets.bottom)
+ let expectedSize: CGSize = placeholderLabel.sizeThatFits(size)
+
+ return CGRect(x: insets.left, y: insets.top, width: maxWidth, height: expectedSize.height)
+ }
+
+ lazy var placeholderLabel: UILabel = {
+ let label = UILabel()
+
+ label.autoresizingMask = [.flexibleWidth, .flexibleHeight]
+ label.lineBreakMode = .byWordWrapping
+ label.numberOfLines = 0
+ label.font = self.font
+ label.textAlignment = self.textAlignment
+ label.backgroundColor = UIColor.clear
+ label.isAccessibilityElement = false
+ label.textColor = UIColor.placeholderText
+ label.alpha = 0
+ self.addSubview(label)
+
+ return label
+ }()
+
+ /** @abstract To set textView's placeholder text color. */
+ @IBInspectable open var placeholderTextColor: UIColor? {
+
+ get {
+ return placeholderLabel.textColor
+ }
+
+ set {
+ placeholderLabel.textColor = newValue
+ }
+ }
+
+ /** @abstract To set textView's placeholder text. Default is nil. */
+ @IBInspectable open var placeholder: String? {
+
+ get {
+ return placeholderLabel.text
+ }
+
+ set {
+ placeholderLabel.text = newValue
+ refreshPlaceholder()
+ }
+ }
+
+ /** @abstract To set textView's placeholder attributed text. Default is nil. */
+ open var attributedPlaceholder: NSAttributedString? {
+ get {
+ return placeholderLabel.attributedText
+ }
+
+ set {
+ placeholderLabel.attributedText = newValue
+ refreshPlaceholder()
+ }
+ }
+
+ @objc override open func layoutSubviews() {
+ super.layoutSubviews()
+
+ placeholderLabel.frame = placeholderExpectedFrame
+ }
+
+ @objc private func refreshPlaceholder() {
+
+ let text: String = text ?? attributedText?.string ?? ""
+ if text.isEmpty {
+ placeholderLabel.alpha = 1
+ } else {
+ placeholderLabel.alpha = 0
+ }
+ }
+
+ @objc override open var text: String! {
+
+ didSet {
+ refreshPlaceholder()
+ }
+ }
+
+ open override var attributedText: NSAttributedString! {
+
+ didSet {
+ refreshPlaceholder()
+ }
+ }
+
+ @objc override open var font: UIFont? {
+
+ didSet {
+
+ if let unwrappedFont: UIFont = font {
+ placeholderLabel.font = unwrappedFont
+ } else {
+ placeholderLabel.font = UIFont.systemFont(ofSize: 12)
+ }
+ }
+ }
+
+ @objc override open var textAlignment: NSTextAlignment {
+ didSet {
+ placeholderLabel.textAlignment = textAlignment
+ }
+ }
+
+ @objc override weak open var delegate: (any UITextViewDelegate)? {
+
+ get {
+ refreshPlaceholder()
+ return super.delegate
+ }
+
+ set {
+ super.delegate = newValue
+ }
+ }
+
+ @objc override open var intrinsicContentSize: CGSize {
+ guard !hasText else {
+ return super.intrinsicContentSize
+ }
+
+ var newSize: CGSize = super.intrinsicContentSize
+ let placeholderInsets: UIEdgeInsets = self.placeholderInsets
+ newSize.height = placeholderExpectedFrame.height + placeholderInsets.top + placeholderInsets.bottom
+
+ return newSize
+ }
+
+ @objc override open func caretRect(for position: UITextPosition) -> CGRect {
+ var originalRect = super.caretRect(for: position)
+
+ // When placeholder is visible and text alignment is centered
+ if placeholderLabel.alpha == 1 && self.textAlignment == .center {
+ // Calculate the width of the placeholder text
+ let font = placeholderLabel.font ?? UIFont.systemFont(ofSize: UIFont.systemFontSize)
+ let textSize = placeholderLabel.text?.size(withAttributes: [.font: font]) ?? .zero
+ // Calculate the starting x position of the centered placeholder text
+ let centeredTextX = (self.bounds.size.width - textSize.width) / 2
+ // Update the caret position to match the starting x position of the centered text
+ originalRect.origin.x = centeredTextX
+ }
+
+ return originalRect
+ }
+}
--- /dev/null
+//
+// IQBarButtonItem.swift
+// https://github.com/hackiftekhar/IQKeyboardManager
+// Copyright (c) 2013-24 Iftekhar Qurashi.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+import UIKit
+
+@available(iOSApplicationExtension, unavailable)
+@MainActor
+@objc open class IQBarButtonItem: UIBarButtonItem {
+
+ internal static let flexibleBarButtonItem: IQBarButtonItem = IQBarButtonItem(barButtonSystemItem: .flexibleSpace,
+ target: nil, action: nil)
+
+ @objc public override init() {
+ super.init()
+ initialize()
+ }
+
+ @objc public required init?(coder aDecoder: NSCoder) {
+ super.init(coder: aDecoder)
+ initialize()
+ }
+
+ private func initialize() {
+
+ let states: [UIControl.State] = [.normal, .highlighted, .disabled, .focused]
+
+ for state in states {
+
+ setBackgroundImage(UIImage(), for: state, barMetrics: .default)
+ setBackgroundImage(UIImage(), for: state, style: .plain, barMetrics: .default)
+ setBackButtonBackgroundImage(UIImage(), for: state, barMetrics: .default)
+ }
+
+ setTitlePositionAdjustment(UIOffset(), for: .default)
+ setBackgroundVerticalPositionAdjustment(0, for: .default)
+ setBackButtonBackgroundVerticalPositionAdjustment(0, for: .default)
+ }
+
+ @objc override open var tintColor: UIColor? {
+ didSet {
+
+ var textAttributes: [NSAttributedString.Key: Any] = [:]
+ textAttributes[.foregroundColor] = tintColor
+
+ if let attributes: [NSAttributedString.Key: Any] = titleTextAttributes(for: .normal) {
+ for (key, value) in attributes {
+ textAttributes[key] = value
+ }
+ }
+
+ setTitleTextAttributes(textAttributes, for: .normal)
+ }
+ }
+
+ /**
+ Boolean to know if it's a system item or custom item,
+ we are having a limitation that we cannot override a designated initializer,
+ so we are manually setting this property once in initialization
+ */
+ internal var isSystemItem: Bool = false
+
+ /**
+ Additional target & action to do get callback action.
+ Note that setting custom target & selector doesn't affect native functionality,
+ this is just an additional target to get a callback.
+
+ @param target Target object.
+ @param action Target Selector.
+ */
+ @objc open func setTarget(_ target: AnyObject?, action: Selector?) {
+ if let target: AnyObject = target, let action: Selector = action {
+ invocation = IQInvocation(target, action)
+ } else {
+ invocation = nil
+ }
+ }
+
+ /**
+ Customized Invocation to be called when button is pressed.
+ invocation is internally created using setTarget:action: method.
+ */
+ @objc open var invocation: IQInvocation? {
+ didSet {
+ // We have to put this condition here because if we override this function then
+ // We were getting "Cannot override '_' which has been marked unavailable" in Xcode 15
+ if let titleBarButton = self as? IQTitleBarButtonItem {
+
+ if let target = invocation?.target, let action = invocation?.action {
+ titleBarButton.isEnabled = true
+ titleBarButton.titleButton?.isEnabled = true
+ titleBarButton.titleButton?.addTarget(target, action: action, for: .touchUpInside)
+ } else {
+ titleBarButton.isEnabled = false
+ titleBarButton.titleButton?.isEnabled = false
+ titleBarButton.titleButton?.removeTarget(nil, action: nil, for: .touchUpInside)
+ }
+ }
+ }
+ }
+}
--- /dev/null
+//
+// IQInvocation.swift
+// https://github.com/hackiftekhar/IQKeyboardManager
+// Copyright (c) 2013-24 Iftekhar Qurashi.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+import UIKit
+
+@available(iOSApplicationExtension, unavailable)
+@MainActor
+@objc public final class IQInvocation: NSObject {
+ @objc public weak var target: AnyObject?
+ @objc public var action: Selector
+
+ @objc public init(_ target: AnyObject, _ action: Selector) {
+ self.target = target
+ self.action = action
+ }
+
+ @objc public func invoke(from: Any) {
+ if let target: AnyObject = target {
+ UIApplication.shared.sendAction(action, to: target, from: from, for: UIEvent())
+ }
+ }
+}
--- /dev/null
+//
+// IQPreviousNextView.swift
+// https://github.com/hackiftekhar/IQKeyboardManager
+// Copyright (c) 2013-24 Iftekhar Qurashi.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+import UIKit
+
+@available(iOSApplicationExtension, unavailable)
+@MainActor
+@objc open class IQPreviousNextView: UIView {
+}
--- /dev/null
+//
+// IQTitleBarButtonItem.swift
+// https://github.com/hackiftekhar/IQKeyboardManager
+// Copyright (c) 2013-24 Iftekhar Qurashi.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+import UIKit
+
+@available(iOSApplicationExtension, unavailable)
+@MainActor
+@objc open class IQTitleBarButtonItem: IQBarButtonItem {
+
+ @objc open var titleFont: UIFont? {
+
+ didSet {
+ if let unwrappedFont: UIFont = titleFont {
+ titleButton?.titleLabel?.font = unwrappedFont
+ } else {
+ titleButton?.titleLabel?.font = UIFont.systemFont(ofSize: 13)
+ }
+ }
+ }
+
+ @objc override open var title: String? {
+ didSet {
+ titleButton?.setTitle(title, for: .normal)
+ updateAccessibility()
+ }
+ }
+
+ /**
+ titleColor to be used for displaying button text when displaying title (disabled state).
+ */
+ @objc open var titleColor: UIColor? {
+
+ didSet {
+
+ if let color: UIColor = titleColor {
+ titleButton?.setTitleColor(color, for: .disabled)
+ } else {
+ titleButton?.setTitleColor(UIColor.lightGray, for: .disabled)
+ }
+ }
+ }
+
+ /**
+ selectableTitleColor to be used for displaying button text when button is enabled.
+ */
+ @objc open var selectableTitleColor: UIColor? {
+
+ didSet {
+
+ if let color: UIColor = selectableTitleColor {
+ titleButton?.setTitleColor(color, for: .normal)
+ } else {
+ titleButton?.setTitleColor(UIColor.systemBlue, for: .normal)
+ }
+ }
+ }
+
+ internal var titleButton: UIButton?
+ private var _titleView: UIView?
+
+ override init() {
+ super.init()
+ }
+
+ @objc public convenience init(title: String?) {
+
+ self.init(title: nil, style: .plain, target: nil, action: nil)
+
+ _titleView = UIView()
+ _titleView?.backgroundColor = UIColor.clear
+
+ titleButton = UIButton(type: .system)
+ titleButton?.isAccessibilityElement = false
+ titleButton?.isEnabled = false
+ titleButton?.titleLabel?.numberOfLines = 3
+ titleButton?.setTitleColor(UIColor.lightGray, for: .disabled)
+ titleButton?.setTitleColor(UIColor.systemBlue, for: .normal)
+ titleButton?.backgroundColor = UIColor.clear
+ titleButton?.titleLabel?.textAlignment = .center
+ titleButton?.setTitle(title, for: .normal)
+ titleFont = UIFont.systemFont(ofSize: 13.0)
+ titleButton?.titleLabel?.font = self.titleFont
+ _titleView?.addSubview(titleButton!)
+
+ let lowPriority: UILayoutPriority = UILayoutPriority(rawValue: UILayoutPriority.defaultLow.rawValue-1)
+ let highPriority: UILayoutPriority = UILayoutPriority(rawValue: UILayoutPriority.defaultHigh.rawValue-1)
+
+ _titleView?.translatesAutoresizingMaskIntoConstraints = false
+ _titleView?.setContentHuggingPriority(lowPriority, for: .vertical)
+ _titleView?.setContentHuggingPriority(lowPriority, for: .horizontal)
+ _titleView?.setContentCompressionResistancePriority(highPriority, for: .vertical)
+ _titleView?.setContentCompressionResistancePriority(highPriority, for: .horizontal)
+
+ titleButton?.translatesAutoresizingMaskIntoConstraints = false
+ titleButton?.setContentHuggingPriority(lowPriority, for: .vertical)
+ titleButton?.setContentHuggingPriority(lowPriority, for: .horizontal)
+ titleButton?.setContentCompressionResistancePriority(highPriority, for: .vertical)
+ titleButton?.setContentCompressionResistancePriority(highPriority, for: .horizontal)
+
+ let top: NSLayoutConstraint = NSLayoutConstraint(item: titleButton!, attribute: .top,
+ relatedBy: .equal,
+ toItem: _titleView, attribute: .top,
+ multiplier: 1, constant: 0)
+ let bottom: NSLayoutConstraint = NSLayoutConstraint(item: titleButton!, attribute: .bottom,
+ relatedBy: .equal,
+ toItem: _titleView, attribute: .bottom,
+ multiplier: 1, constant: 0)
+ let leading: NSLayoutConstraint = NSLayoutConstraint(item: titleButton!, attribute: .leading,
+ relatedBy: .equal,
+ toItem: _titleView, attribute: .leading,
+ multiplier: 1, constant: 0)
+ let trailing: NSLayoutConstraint = NSLayoutConstraint(item: titleButton!, attribute: .trailing,
+ relatedBy: .equal,
+ toItem: _titleView, attribute: .trailing,
+ multiplier: 1, constant: 0)
+
+ _titleView?.addConstraints([top, bottom, leading, trailing])
+
+ customView = _titleView
+ }
+
+ @objc required public init?(coder aDecoder: NSCoder) {
+ super.init(coder: aDecoder)
+ }
+
+ private func updateAccessibility() {
+ if title == nil || title?.isEmpty == true {
+ isAccessibilityElement = false
+ // Swift 6: Reference to static property 'none'
+ // is not concurrency-safe because it involves shared mutable state
+// accessibilityTraits = .none
+ accessibilityTraits = .init(rawValue: 0)
+ } else if titleButton?.isEnabled == true {
+ isAccessibilityElement = true
+ // Swift 6: Reference to static property 'button'
+ // is not concurrency-safe because it involves shared mutable state
+// accessibilityTraits = .button
+ accessibilityTraits = .init(rawValue: 1)
+ } else {
+ isAccessibilityElement = true
+
+ // Swift 6: Reference to static property 'staticText'
+ // is not concurrency-safe because it involves shared mutable state
+// accessibilityTraits = .staticText
+ accessibilityTraits = .init(rawValue: 64)
+ }
+ }
+}
--- /dev/null
+//
+// IQToolbar.swift
+// https://github.com/hackiftekhar/IQKeyboardManager
+// Copyright (c) 2013-24 Iftekhar Qurashi.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+import UIKit
+
+/** @abstract IQToolbar for IQKeyboardManager. */
+@available(iOSApplicationExtension, unavailable)
+@MainActor
+@objc open class IQToolbar: UIToolbar, UIInputViewAudioFeedback {
+
+ override init(frame: CGRect) {
+ super.init(frame: frame)
+
+ initialize()
+ }
+
+ @objc required public init?(coder aDecoder: NSCoder) {
+ super.init(coder: aDecoder)
+
+ initialize()
+ }
+
+ private func initialize() {
+
+ sizeToFit()
+
+ autoresizingMask = .flexibleWidth
+ self.isTranslucent = true
+ self.barTintColor = nil
+
+ let positions: [UIBarPosition] = [.any, .bottom, .top, .topAttached]
+
+ for position in positions {
+
+ self.setBackgroundImage(nil, forToolbarPosition: position, barMetrics: .default)
+ self.setShadowImage(nil, forToolbarPosition: .any)
+ }
+
+ // Background color
+ self.backgroundColor = nil
+ }
+
+ /**
+ Additional bar buttons to show at the leading side.
+ */
+ open var additionalLeadingItems: [UIBarButtonItem] = []
+
+ /**
+ Additional bar buttons to show at the trailing side.
+ */
+ open var additionalTrailingItems: [UIBarButtonItem] = []
+
+ /**
+ Previous bar button of toolbar.
+ */
+ private var privatePreviousBarButton: IQBarButtonItem?
+ @objc open var previousBarButton: IQBarButtonItem {
+ get {
+ if privatePreviousBarButton == nil {
+ privatePreviousBarButton = IQBarButtonItem(image: nil, style: .plain, target: nil, action: nil)
+ }
+ return privatePreviousBarButton!
+ }
+
+ set (newValue) {
+ privatePreviousBarButton = newValue
+ }
+ }
+
+ /**
+ Next bar button of toolbar.
+ */
+ private var privateNextBarButton: IQBarButtonItem?
+ @objc open var nextBarButton: IQBarButtonItem {
+ get {
+ if privateNextBarButton == nil {
+ privateNextBarButton = IQBarButtonItem(image: nil, style: .plain, target: nil, action: nil)
+ }
+ return privateNextBarButton!
+ }
+
+ set (newValue) {
+ privateNextBarButton = newValue
+ }
+ }
+
+ /**
+ Title bar button of toolbar.
+ */
+ private var privateTitleBarButton: IQTitleBarButtonItem?
+ @objc open var titleBarButton: IQTitleBarButtonItem {
+ get {
+ if privateTitleBarButton == nil {
+ privateTitleBarButton = IQTitleBarButtonItem(title: nil)
+ }
+ return privateTitleBarButton!
+ }
+
+ set (newValue) {
+ privateTitleBarButton = newValue
+ }
+ }
+
+ /**
+ Done bar button of toolbar.
+ */
+ private var privateDoneBarButton: IQBarButtonItem?
+ @objc open var doneBarButton: IQBarButtonItem {
+ get {
+ if privateDoneBarButton == nil {
+ privateDoneBarButton = IQBarButtonItem(title: nil, style: .done, target: nil, action: nil)
+ }
+ return privateDoneBarButton!
+ }
+
+ set (newValue) {
+ privateDoneBarButton = newValue
+ }
+ }
+
+ /**
+ Fixed space bar button of toolbar.
+ */
+ private var privateFixedSpaceBarButton: IQBarButtonItem?
+ @objc open var fixedSpaceBarButton: IQBarButtonItem {
+ get {
+ if privateFixedSpaceBarButton == nil {
+ privateFixedSpaceBarButton = IQBarButtonItem(barButtonSystemItem: .fixedSpace, target: nil, action: nil)
+ }
+ privateFixedSpaceBarButton?.isSystemItem = true
+ privateFixedSpaceBarButton?.width = 6
+
+ return privateFixedSpaceBarButton!
+ }
+
+ set (newValue) {
+ privateFixedSpaceBarButton = newValue
+ }
+ }
+
+ @objc override open func sizeThatFits(_ size: CGSize) -> CGSize {
+ var sizeThatFit: CGSize = super.sizeThatFits(size)
+ sizeThatFit.height = 44
+ return sizeThatFit
+ }
+
+ @objc override open var tintColor: UIColor! {
+
+ didSet {
+ if let unwrappedItems: [UIBarButtonItem] = items {
+ for item in unwrappedItems {
+ item.tintColor = tintColor
+ }
+ }
+ }
+ }
+
+ @objc open var enableInputClicksWhenVisible: Bool {
+ return true
+ }
+}
--- /dev/null
+//
+// IQUIView+IQKeyboardToolbar.swift
+// https://github.com/hackiftekhar/IQKeyboardManager
+// Copyright (c) 2013-24 Iftekhar Qurashi.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+import UIKit
+
+@available(iOSApplicationExtension, unavailable)
+@MainActor
+private struct AssociatedKeys {
+ static var toolbar: Int = 0
+ static var hidePlaceholder: Int = 0
+ static var placeholder: Int = 0
+}
+
+@available(iOSApplicationExtension, unavailable)
+@MainActor
+public extension IQKeyboardManagerWrapper where Base: UIView {
+
+ // MARK: Toolbar
+
+ /**
+ IQToolbar references for better customization control.
+ */
+ var toolbar: IQToolbar {
+ var toolbar: IQToolbar? = base?.inputAccessoryView as? IQToolbar
+
+ if toolbar == nil, let base = base {
+ toolbar = objc_getAssociatedObject(base, &AssociatedKeys.toolbar) as? IQToolbar
+ }
+
+ if let unwrappedToolbar: IQToolbar = toolbar {
+ return unwrappedToolbar
+ } else {
+
+ let width: CGFloat = base?.window?.windowScene?.screen.bounds.width ?? 0
+
+ let frame = CGRect(origin: .zero, size: .init(width: width, height: 44))
+ let newToolbar = IQToolbar(frame: frame)
+
+ if let base = base {
+ objc_setAssociatedObject(base, &AssociatedKeys.toolbar, newToolbar, .OBJC_ASSOCIATION_RETAIN_NONATOMIC)
+ }
+
+ return newToolbar
+ }
+ }
+
+ // MARK: Toolbar title
+
+ /**
+ If `hideToolbarPlaceholder` is YES, then title will not be added to the toolbar. Default to NO.
+ */
+ var hidePlaceholder: Bool {
+ get {
+ if let base = base {
+ return objc_getAssociatedObject(base, &AssociatedKeys.hidePlaceholder) as? Bool ?? false
+ }
+ return false
+ }
+ set(newValue) {
+ if let base = base {
+ objc_setAssociatedObject(base, &AssociatedKeys.hidePlaceholder,
+ newValue, .OBJC_ASSOCIATION_RETAIN_NONATOMIC)
+ toolbar.titleBarButton.title = drawingPlaceholder
+ }
+ }
+ }
+
+ /**
+ `toolbarPlaceholder` to override default `placeholder` text when drawing text on toolbar.
+ */
+ var placeholder: String? {
+ get {
+ if let base = base {
+ return objc_getAssociatedObject(base, &AssociatedKeys.placeholder) as? String
+ }
+ return nil
+ }
+ set(newValue) {
+ if let base = base {
+ // swiftlint:disable line_length
+ objc_setAssociatedObject(base, &AssociatedKeys.placeholder, newValue, .OBJC_ASSOCIATION_RETAIN_NONATOMIC)
+ toolbar.titleBarButton.title = drawingPlaceholder
+ // swiftlint:enable line_length
+ }
+ }
+ }
+
+ /**
+ `drawingToolbarPlaceholder` will be actual text used to draw on toolbar.
+ This would either `placeholder` or `toolbarPlaceholder`.
+ */
+ var drawingPlaceholder: String? {
+
+ if hidePlaceholder {
+ return nil
+ } else if placeholder?.isEmpty == false {
+ return placeholder
+ } else if let placeholderable: any IQPlaceholderable = base as? (any IQPlaceholderable) {
+
+ if let placeholder = placeholderable.attributedPlaceholder?.string,
+ !placeholder.isEmpty {
+ return placeholder
+ } else if let placeholder = placeholderable.placeholder {
+ return placeholder
+ } else {
+ return nil
+ }
+ } else {
+ return nil
+ }
+ }
+
+ // MARK: Common
+
+ // swiftlint:disable cyclomatic_complexity
+ // swiftlint:disable function_body_length
+ func addToolbar(target: AnyObject?,
+ previousConfiguration: IQBarButtonItemConfiguration? = nil,
+ nextConfiguration: IQBarButtonItemConfiguration? = nil,
+ rightConfiguration: IQBarButtonItemConfiguration? = nil,
+ title: String?,
+ titleAccessibilityLabel: String? = nil) {
+
+ // If can't set InputAccessoryView. Then return
+ if base?.responds(to: #selector(setter: UITextField.inputAccessoryView)) == true {
+
+ // Creating a toolBar for phoneNumber keyboard
+ let toolbar: IQToolbar = toolbar
+
+ var items: [UIBarButtonItem] = []
+
+ if let previousConfiguration: IQBarButtonItemConfiguration = previousConfiguration {
+
+ let prev: IQBarButtonItem = previousConfiguration.apply(on: toolbar.previousBarButton, target: target)
+ toolbar.previousBarButton = prev
+ items.append(prev)
+ }
+
+ if previousConfiguration != nil, nextConfiguration != nil {
+
+ items.append(toolbar.fixedSpaceBarButton)
+ }
+
+ if let nextConfiguration: IQBarButtonItemConfiguration = nextConfiguration {
+
+ let next: IQBarButtonItem = nextConfiguration.apply(on: toolbar.nextBarButton, target: target)
+ toolbar.nextBarButton = next
+ items.append(next)
+ }
+
+ if !toolbar.additionalLeadingItems.isEmpty {
+ items.append(contentsOf: toolbar.additionalLeadingItems)
+ }
+
+ // Title bar button item
+ do {
+ // Flexible space
+ items.append(IQBarButtonItem.flexibleBarButtonItem)
+
+ // Title button
+ toolbar.titleBarButton.title = title
+ toolbar.titleBarButton.accessibilityLabel = titleAccessibilityLabel
+ toolbar.titleBarButton.accessibilityIdentifier = titleAccessibilityLabel
+
+ toolbar.titleBarButton.customView?.frame = .zero
+
+ items.append(toolbar.titleBarButton)
+
+ // Flexible space
+ items.append(IQBarButtonItem.flexibleBarButtonItem)
+ }
+
+ if !toolbar.additionalTrailingItems.isEmpty {
+ items.append(contentsOf: toolbar.additionalTrailingItems)
+ }
+
+ if let rightConfiguration: IQBarButtonItemConfiguration = rightConfiguration {
+
+ let done: IQBarButtonItem = rightConfiguration.apply(on: toolbar.doneBarButton, target: target)
+ toolbar.doneBarButton = done
+ items.append(done)
+ }
+
+ // Adding button to toolBar.
+ toolbar.items = items
+
+ if let textInput: any UITextInput = base as? (any UITextInput) {
+ switch textInput.keyboardAppearance {
+ case .dark?:
+ toolbar.barStyle = .black
+ default:
+ toolbar.barStyle = .default
+ }
+ }
+
+ // Setting toolbar to keyboard.
+ let reloadInputViews: Bool = base?.inputAccessoryView != toolbar
+ if reloadInputViews {
+ if let textField: UITextField = base as? UITextField {
+ textField.inputAccessoryView = toolbar
+ } else if let textView: UITextView = base as? UITextView {
+ textView.inputAccessoryView = toolbar
+ }
+ base?.reloadInputViews()
+ }
+ }
+ }
+ // swiftlint:enable function_body_length
+ // swiftlint:enable cyclomatic_complexity
+
+ // MARK: Right
+ func addDone(target: AnyObject?,
+ action: Selector,
+ showPlaceholder: Bool = false, titleAccessibilityLabel: String? = nil) {
+
+ let title: String? = showPlaceholder ? drawingPlaceholder : nil
+
+ addDone(target: target, action: action,
+ title: title, titleAccessibilityLabel: titleAccessibilityLabel)
+ }
+
+ func addDone(target: AnyObject?,
+ action: Selector,
+ title: String?, titleAccessibilityLabel: String? = nil) {
+
+ let rightConfiguration = IQBarButtonItemConfiguration(systemItem: .done, action: action)
+
+ addToolbar(target: target, rightConfiguration: rightConfiguration,
+ title: title, titleAccessibilityLabel: titleAccessibilityLabel)
+ }
+
+ func addRightButton(target: AnyObject?,
+ configuration: IQBarButtonItemConfiguration,
+ showPlaceholder: Bool = false, titleAccessibilityLabel: String? = nil) {
+ let title: String? = showPlaceholder ? drawingPlaceholder : nil
+ addRightButton(target: target, configuration: configuration, title: title,
+ titleAccessibilityLabel: titleAccessibilityLabel)
+ }
+
+ func addRightButton(target: AnyObject?,
+ configuration: IQBarButtonItemConfiguration,
+ title: String?, titleAccessibilityLabel: String? = nil) {
+ addToolbar(target: target, rightConfiguration: configuration, title: title,
+ titleAccessibilityLabel: titleAccessibilityLabel)
+ }
+
+ // MARK: Right/Left
+ func addRightLeft(target: AnyObject?,
+ rightConfiguration: IQBarButtonItemConfiguration, leftConfiguration: IQBarButtonItemConfiguration,
+ showPlaceholder: Bool = false, titleAccessibilityLabel: String? = nil) {
+ let title: String? = showPlaceholder ? drawingPlaceholder : nil
+ addRightLeft(target: target,
+ rightConfiguration: rightConfiguration, leftConfiguration: leftConfiguration,
+ title: title, titleAccessibilityLabel: titleAccessibilityLabel)
+ }
+
+ func addRightLeft(target: AnyObject?,
+ rightConfiguration: IQBarButtonItemConfiguration, leftConfiguration: IQBarButtonItemConfiguration,
+ title: String?, titleAccessibilityLabel: String? = nil) {
+ addToolbar(target: target,
+ previousConfiguration: leftConfiguration, rightConfiguration: rightConfiguration,
+ title: title, titleAccessibilityLabel: titleAccessibilityLabel)
+ }
+
+ // MARK: Previous/Next/Right
+
+ func addPreviousNextRight(target: AnyObject?,
+ previousConfiguration: IQBarButtonItemConfiguration? = nil,
+ nextConfiguration: IQBarButtonItemConfiguration? = nil,
+ rightConfiguration: IQBarButtonItemConfiguration?,
+ showPlaceholder: Bool = false, titleAccessibilityLabel: String? = nil) {
+
+ let title: String? = showPlaceholder ? drawingPlaceholder : nil
+ addPreviousNextRight(target: target,
+ previousConfiguration: previousConfiguration, nextConfiguration: nextConfiguration,
+ rightConfiguration: rightConfiguration,
+ title: title, titleAccessibilityLabel: titleAccessibilityLabel)
+ }
+
+ func addPreviousNextRight(target: AnyObject?,
+ previousConfiguration: IQBarButtonItemConfiguration? = nil,
+ nextConfiguration: IQBarButtonItemConfiguration? = nil,
+ rightConfiguration: IQBarButtonItemConfiguration?,
+ title: String?, titleAccessibilityLabel: String? = nil) {
+
+ addToolbar(target: target,
+ previousConfiguration: previousConfiguration, nextConfiguration: nextConfiguration,
+ rightConfiguration: rightConfiguration,
+ title: title, titleAccessibilityLabel: titleAccessibilityLabel)
+ }
+
+ func addPreviousNextDone(target: AnyObject?, previousAction: Selector, nextAction: Selector, doneAction: Selector,
+ showPlaceholder: Bool = false, titleAccessibilityLabel: String? = nil) {
+ let title: String? = showPlaceholder ? drawingPlaceholder : nil
+ addPreviousNextDone(target: target, previousAction: previousAction, nextAction: nextAction,
+ doneAction: doneAction,
+ title: title, titleAccessibilityLabel: titleAccessibilityLabel)
+ }
+
+ func addPreviousNextDone(target: AnyObject?,
+ previousAction: Selector, nextAction: Selector, doneAction: Selector,
+ title: String?, titleAccessibilityLabel: String? = nil) {
+
+ let previousConfiguration = IQBarButtonItemConfiguration(image: UIImage.keyboardPreviousImage,
+ action: previousAction)
+ let nextConfiguration = IQBarButtonItemConfiguration(image: UIImage.keyboardNextImage, action: nextAction)
+ let rightConfiguration = IQBarButtonItemConfiguration(systemItem: .done, action: doneAction)
+
+ addToolbar(target: target, previousConfiguration: previousConfiguration,
+ nextConfiguration: nextConfiguration, rightConfiguration: rightConfiguration,
+ title: title, titleAccessibilityLabel: titleAccessibilityLabel)
+ }
+}
--- /dev/null
+//
+// IQUIView+IQKeyboardToolbarDeprecated.swift
+// https://github.com/hackiftekhar/IQKeyboardManager
+// Copyright (c) 2013-24 Iftekhar Qurashi.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+import UIKit
+
+// swiftlint:disable unused_setter_value
+// swiftlint:disable line_length
+// swiftlint:disable function_parameter_count
+@available(iOSApplicationExtension, unavailable)
+@MainActor
+@objc public extension UIView {
+
+ @available(*, unavailable, renamed: "iq.toolbar")
+ var keyboardToolbar: IQToolbar {
+ get { fatalError() }
+ set {}
+ }
+
+ @available(*, unavailable, renamed: "iq.hidePlaceholder")
+ var shouldHideToolbarPlaceholder: Bool {
+ get { false }
+ set {}
+ }
+
+ @available(*, unavailable, renamed: "iq.placeholder")
+ var toolbarPlaceholder: String? {
+ get { nil }
+ set {}
+ }
+
+ @available(*, unavailable, renamed: "iq.drawingPlaceholder")
+ var drawingToolbarPlaceholder: String? {
+ get { nil }
+ set {}
+ }
+
+ @available(*, unavailable, renamed: "iq.addToolbar(target:previousConfiguration:nextConfiguration:rightConfiguration:title:titleAccessibilityLabel:)")
+ func addKeyboardToolbarWithTarget(target: AnyObject?,
+ titleText: String?,
+ titleAccessibilityLabel: String? = nil,
+ rightBarButtonConfiguration: IQBarButtonItemConfiguration?,
+ previousBarButtonConfiguration: IQBarButtonItemConfiguration? = nil,
+ nextBarButtonConfiguration: IQBarButtonItemConfiguration? = nil) {
+ }
+
+ @available(*, unavailable, renamed: "iq.addDone(target:action:showPlaceholder:titleAccessibilityLabel:)")
+ func addDoneOnKeyboardWithTarget(_ target: AnyObject?,
+ action: Selector,
+ shouldShowPlaceholder: Bool = false,
+ titleAccessibilityLabel: String? = nil) {
+ }
+
+ @available(*, unavailable, renamed: "iq.addDone(target:action:title:titleAccessibilityLabel:)")
+ func addDoneOnKeyboardWithTarget(_ target: AnyObject?,
+ action: Selector,
+ titleText: String?,
+ titleAccessibilityLabel: String? = nil) {
+ }
+
+ @available(*, unavailable, renamed: "iq.addRightButton(target:configuration:showPlaceholder:titleAccessibilityLabel:)")
+ func addRightButtonOnKeyboardWithImage(_ image: UIImage,
+ target: AnyObject?,
+ action: Selector,
+ shouldShowPlaceholder: Bool = false,
+ titleAccessibilityLabel: String? = nil) {
+ }
+
+ @available(*, unavailable, renamed: "iq.addRightButton(target:configuration:title:titleAccessibilityLabel:)")
+ func addRightButtonOnKeyboardWithImage(_ image: UIImage,
+ target: AnyObject?,
+ action: Selector,
+ titleText: String?,
+ titleAccessibilityLabel: String? = nil) {
+ }
+
+ @available(*, unavailable, renamed: "iq.addRightButton(target:configuration:showPlaceholder:titleAccessibilityLabel:)")
+ func addRightButtonOnKeyboardWithText(_ text: String,
+ target: AnyObject?,
+ action: Selector,
+ shouldShowPlaceholder: Bool = false,
+ titleAccessibilityLabel: String? = nil) {
+ }
+
+ @available(*, unavailable, renamed: "iq.addRightButton(target:configuration:title:titleAccessibilityLabel:)")
+ func addRightButtonOnKeyboardWithText(_ text: String,
+ target: AnyObject?,
+ action: Selector,
+ titleText: String?,
+ titleAccessibilityLabel: String? = nil) {
+ }
+
+ @available(*, unavailable, renamed: "iq.addRightLeft(target:rightConfiguration:leftConfiguration:showPlaceholder:titleAccessibilityLabel:)")
+ func addCancelDoneOnKeyboardWithTarget(_ target: AnyObject?,
+ cancelAction: Selector,
+ doneAction: Selector,
+ shouldShowPlaceholder: Bool = false,
+ titleAccessibilityLabel: String? = nil) {
+ }
+
+ @available(*, unavailable, renamed: "iq.addRightLeft(target:rightConfiguration:leftConfiguration:showPlaceholder:titleAccessibilityLabel:)")
+ func addRightLeftOnKeyboardWithTarget(_ target: AnyObject?,
+ leftButtonTitle: String,
+ rightButtonTitle: String,
+ leftButtonAction: Selector,
+ rightButtonAction: Selector,
+ shouldShowPlaceholder: Bool = false,
+ titleAccessibilityLabel: String? = nil) {
+ }
+
+ @available(*, unavailable, renamed: "iq.addRightLeft(target:rightConfiguration:leftConfiguration:showPlaceholder:titleAccessibilityLabel:)")
+ func addRightLeftOnKeyboardWithTarget(_ target: AnyObject?,
+ leftButtonImage: UIImage,
+ rightButtonImage: UIImage,
+ leftButtonAction: Selector,
+ rightButtonAction: Selector,
+ shouldShowPlaceholder: Bool = false,
+ titleAccessibilityLabel: String? = nil) {
+ }
+
+ @available(*, unavailable, renamed: "iq.addRightLeft(target:rightConfiguration:leftConfiguration:title:titleAccessibilityLabel:)")
+ func addCancelDoneOnKeyboardWithTarget(_ target: AnyObject?,
+ cancelAction: Selector,
+ doneAction: Selector,
+ titleText: String?,
+ titleAccessibilityLabel: String? = nil) {
+ }
+
+ @available(*, unavailable, renamed: "iq.addRightLeft(target:rightConfiguration:leftConfiguration:title:titleAccessibilityLabel:)")
+ func addRightLeftOnKeyboardWithTarget(_ target: AnyObject?,
+ leftButtonTitle: String,
+ rightButtonTitle: String,
+ leftButtonAction: Selector,
+ rightButtonAction: Selector,
+ titleText: String?,
+ titleAccessibilityLabel: String? = nil) {
+ }
+
+ @available(*, unavailable, renamed: "iq.addRightLeft(target:rightConfiguration:leftConfiguration:title:titleAccessibilityLabel:)")
+ func addRightLeftOnKeyboardWithTarget(_ target: AnyObject?,
+ leftButtonImage: UIImage,
+ rightButtonImage: UIImage,
+ leftButtonAction: Selector,
+ rightButtonAction: Selector,
+ titleText: String?,
+ titleAccessibilityLabel: String? = nil) {
+ }
+
+ @available(*, unavailable, renamed: "iq.addPreviousNextDone(target:previousAction:nextAction:doneAction:showPlaceholder:titleAccessibilityLabel:)")
+ func addPreviousNextDone(_ target: AnyObject?,
+ previousAction: Selector,
+ nextAction: Selector,
+ doneAction: Selector,
+ shouldShowPlaceholder: Bool = false,
+ titleAccessibilityLabel: String? = nil) {
+ }
+
+ @available(*, unavailable, renamed: "iq.addPreviousNextDone(target:previousAction:nextAction:doneAction:title:titleAccessibilityLabel:)")
+ func addPreviousNextDoneOnKeyboardWithTarget(_ target: AnyObject?,
+ previousAction: Selector,
+ nextAction: Selector,
+ doneAction: Selector,
+ titleText: String?,
+ titleAccessibilityLabel: String? = nil) {
+ }
+
+ @available(*, unavailable, renamed: "iq.addPreviousNextRight(target:previousConfiguration:nextConfiguration:rightConfiguration:showPlaceholder:titleAccessibilityLabel:)")
+ func addPreviousNextRightOnKeyboardWithTarget(_ target: AnyObject?,
+ rightButtonImage: UIImage,
+ previousAction: Selector,
+ nextAction: Selector,
+ rightButtonAction: Selector,
+ shouldShowPlaceholder: Bool = false,
+ titleAccessibilityLabel: String? = nil) {
+ }
+
+ @available(*, unavailable, renamed: "iq.addPreviousNextRight(target:previousConfiguration:nextConfiguration:rightConfiguration:showPlaceholder:titleAccessibilityLabel:)")
+ func addPreviousNextRightOnKeyboardWithTarget(_ target: AnyObject?,
+ rightButtonTitle: String,
+ previousAction: Selector,
+ nextAction: Selector,
+ rightButtonAction: Selector,
+ shouldShowPlaceholder: Bool = false,
+ titleAccessibilityLabel: String? = nil) {
+ }
+
+ @available(*, unavailable, renamed: "iq.addPreviousNextRight(target:previousConfiguration:nextConfiguration:rightConfiguration:title:titleAccessibilityLabel:)")
+ func addPreviousNextRightOnKeyboardWithTarget(_ target: AnyObject?,
+ rightButtonImage: UIImage,
+ previousAction: Selector,
+ nextAction: Selector,
+ rightButtonAction: Selector,
+ titleText: String?,
+ titleAccessibilityLabel: String? = nil) {
+ }
+
+ @available(*, unavailable, renamed: "iq.addPreviousNextRight(target:previousConfiguration:nextConfiguration:rightConfiguration:title:titleAccessibilityLabel:)")
+ func addPreviousNextRightOnKeyboardWithTarget(_ target: AnyObject?,
+ rightButtonTitle: String,
+ previousAction: Selector,
+ nextAction: Selector,
+ rightButtonAction: Selector,
+ titleText: String?,
+ titleAccessibilityLabel: String? = nil) {
+ }
+}
+// swiftlint:enable unused_setter_value
+// swiftlint:enable line_length
+// swiftlint:enable function_parameter_count
--- /dev/null
+//
+// IQKeyboardListener.swift
+// https://github.com/hackiftekhar/IQKeyboardManager
+// Copyright (c) 2013-24 Iftekhar Qurashi.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+import UIKit
+
+@available(iOSApplicationExtension, unavailable)
+@MainActor
+public class IQKeyboardListener {
+
+ private var sizeObservers: [AnyHashable: SizeCompletion] = [:]
+
+ private(set) var keyboardInfo: IQKeyboardInfo {
+ didSet {
+ if keyboardInfo != oldValue {
+ sendEvent()
+ }
+ }
+ }
+
+ public var keyboardShowing: Bool {
+ keyboardInfo.keyboardShowing
+ }
+
+ public var frame: CGRect {
+ keyboardInfo.frame
+ }
+
+ public init() {
+ keyboardInfo = IQKeyboardInfo(notification: nil, name: .didHide)
+ // Registering for keyboard notification.
+ NotificationCenter.default.addObserver(self, selector: #selector(self.keyboardWillShow(_:)),
+ name: UIResponder.keyboardWillShowNotification, object: nil)
+ NotificationCenter.default.addObserver(self, selector: #selector(self.keyboardDidShow(_:)),
+ name: UIResponder.keyboardDidShowNotification, object: nil)
+ NotificationCenter.default.addObserver(self, selector: #selector(self.keyboardWillHide(_:)),
+ name: UIResponder.keyboardWillHideNotification, object: nil)
+ NotificationCenter.default.addObserver(self, selector: #selector(self.keyboardDidHide(_:)),
+ name: UIResponder.keyboardDidHideNotification, object: nil)
+ NotificationCenter.default.addObserver(self, selector: #selector(self.keyboardWillChangeFrame(_:)),
+ name: UIResponder.keyboardWillChangeFrameNotification, object: nil)
+ NotificationCenter.default.addObserver(self, selector: #selector(self.keyboardDidChangeFrame(_:)),
+ name: UIResponder.keyboardDidChangeFrameNotification, object: nil)
+ }
+
+ @objc private func keyboardWillShow(_ notification: Notification) {
+ keyboardInfo = IQKeyboardInfo(notification: notification, name: .willShow)
+ }
+
+ @objc private func keyboardDidShow(_ notification: Notification) {
+ keyboardInfo = IQKeyboardInfo(notification: notification, name: .didShow)
+ }
+
+ @objc private func keyboardWillHide(_ notification: Notification?) {
+ keyboardInfo = IQKeyboardInfo(notification: notification, name: .willHide)
+ }
+
+ @objc private func keyboardDidHide(_ notification: Notification) {
+ keyboardInfo = IQKeyboardInfo(notification: notification, name: .didHide)
+ }
+
+ @objc private func keyboardWillChangeFrame(_ notification: Notification) {
+ keyboardInfo = IQKeyboardInfo(notification: notification, name: .willChangeFrame)
+ }
+
+ @objc private func keyboardDidChangeFrame(_ notification: Notification) {
+ keyboardInfo = IQKeyboardInfo(notification: notification, name: .didChangeFrame)
+ }
+
+ public func animate(alongsideTransition transition: @escaping () -> Void, completion: (() -> Void)? = nil) {
+ keyboardInfo.animate(alongsideTransition: transition, completion: completion)
+ }
+}
+
+@available(iOSApplicationExtension, unavailable)
+public extension IQKeyboardListener {
+
+ typealias SizeCompletion = (_ name: IQKeyboardInfo.Name, _ size: CGSize) -> Void
+
+ func registerSizeChange(identifier: AnyHashable, changeHandler: @escaping SizeCompletion) {
+ sizeObservers[identifier] = changeHandler
+ }
+
+ func unregisterSizeChange(identifier: AnyHashable) {
+ sizeObservers[identifier] = nil
+ }
+
+ private func sendEvent() {
+
+ let size: CGSize = keyboardInfo.frame.size
+
+ for block in sizeObservers.values {
+ block(keyboardInfo.name, size)
+ }
+ }
+}
--- /dev/null
+//
+// IQTextFieldViewListener.swift
+// https://github.com/hackiftekhar/IQKeyboardManager
+// Copyright (c) 2013-24 Iftekhar Qurashi.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+import UIKit
+
+@available(iOSApplicationExtension, unavailable)
+@MainActor
+public class IQTextFieldViewListener {
+
+ private var textFieldViewObservers: [AnyHashable: TextFieldViewCompletion] = [:]
+
+#if swift(>=5.7)
+ private(set) var lastTextFieldViewInfo: IQTextFieldViewInfo?
+#endif
+
+ private(set) var textFieldViewInfo: IQTextFieldViewInfo?
+
+ public var textFieldView: UIView? {
+ return textFieldViewInfo?.textFieldView
+ }
+
+ public init() {
+ // Registering for keyboard notification.
+ NotificationCenter.default.addObserver(self, selector: #selector(self.didBeginEditing(_:)),
+ name: UITextField.textDidBeginEditingNotification, object: nil)
+ NotificationCenter.default.addObserver(self, selector: #selector(self.didEndEditing(_:)),
+ name: UITextField.textDidEndEditingNotification, object: nil)
+
+ NotificationCenter.default.addObserver(self, selector: #selector(self.didBeginEditing(_:)),
+ name: UITextView.textDidBeginEditingNotification, object: nil)
+ NotificationCenter.default.addObserver(self, selector: #selector(self.didEndEditing(_:)),
+ name: UITextView.textDidEndEditingNotification, object: nil)
+ }
+
+ @objc private func didBeginEditing(_ notification: Notification) {
+ guard let info: IQTextFieldViewInfo = IQTextFieldViewInfo(notification: notification,
+ name: .beginEditing) else {
+ return
+ }
+
+#if swift(>=5.7)
+
+ if #available(iOS 16.0, *),
+ let lastTextFieldViewInfo = lastTextFieldViewInfo,
+ let textView: UITextView = lastTextFieldViewInfo.textFieldView as? UITextView,
+ textView.findInteraction?.isFindNavigatorVisible == true {
+ // // This means the this didBeginEditing call comes due to find interaction
+ textFieldViewInfo = lastTextFieldViewInfo
+ sendEvent(info: lastTextFieldViewInfo)
+ } else if textFieldViewInfo != info {
+ textFieldViewInfo = info
+ lastTextFieldViewInfo = nil
+ sendEvent(info: info)
+ } else {
+ lastTextFieldViewInfo = nil
+ }
+#else
+ if textFieldViewInfo != info {
+ textFieldViewInfo = info
+ sendEvent(info: info)
+ }
+#endif
+ }
+
+ @objc private func didEndEditing(_ notification: Notification) {
+ guard let info: IQTextFieldViewInfo = IQTextFieldViewInfo(notification: notification, name: .endEditing) else {
+ return
+ }
+
+ if textFieldViewInfo != info {
+#if swift(>=5.7)
+ if #available(iOS 16.0, *),
+ let textView: UITextView = info.textFieldView as? UITextView,
+ textView.isFindInteractionEnabled {
+ lastTextFieldViewInfo = textFieldViewInfo
+ } else {
+ lastTextFieldViewInfo = nil
+ }
+#endif
+ textFieldViewInfo = info
+ sendEvent(info: info)
+ textFieldViewInfo = nil
+ }
+ }
+}
+
+@available(iOSApplicationExtension, unavailable)
+public extension IQTextFieldViewListener {
+
+ typealias TextFieldViewCompletion = (_ info: IQTextFieldViewInfo) -> Void
+
+ func registerTextFieldViewChange(identifier: AnyHashable, changeHandler: @escaping TextFieldViewCompletion) {
+ textFieldViewObservers[identifier] = changeHandler
+ }
+
+ func unregisterSizeChange(identifier: AnyHashable) {
+ textFieldViewObservers[identifier] = nil
+ }
+
+ private func sendEvent(info: IQTextFieldViewInfo) {
+
+ for block in textFieldViewObservers.values {
+ block(info)
+ }
+ }
+}
--- /dev/null
+//
+// IQKeyboardInfo.swift
+// https://github.com/hackiftekhar/IQKeyboardManager
+// Copyright (c) 2013-24 Iftekhar Qurashi.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+import UIKit
+
+@available(iOSApplicationExtension, unavailable)
+@MainActor
+public struct IQKeyboardInfo: Equatable {
+ nonisolated public static func == (lhs: Self, rhs: Self) -> Bool {
+ lhs.frame.equalTo(rhs.frame)
+ }
+
+ @objc public enum Name: Int {
+ case willShow
+ case didShow
+ case willHide
+ case didHide
+ case willChangeFrame
+ case didChangeFrame
+ }
+
+ public let name: Name
+
+ /** To save keyboard frame. */
+ public let frame: CGRect
+
+ /** To save keyboard animation duration. */
+ public let animationDuration: TimeInterval
+
+ /** To mimic the keyboard animation */
+ public let animationCurve: UIView.AnimationCurve
+
+ public var keyboardShowing: Bool {
+ frame.height > 0
+ }
+
+ public init(notification: Notification?, name: Name) {
+ self.name = name
+
+ let screenBounds: CGRect
+ if let screen: UIScreen = notification?.object as? UIScreen {
+ screenBounds = screen.bounds
+ } else {
+ screenBounds = UIScreen.main.bounds
+ }
+
+ if let info: [AnyHashable: Any] = notification?.userInfo {
+
+ // Getting keyboard animation.
+ if let curveValue: Int = info[UIResponder.keyboardAnimationCurveUserInfoKey] as? Int,
+ let curve: UIView.AnimationCurve = UIView.AnimationCurve(rawValue: curveValue) {
+ animationCurve = curve
+ } else {
+ animationCurve = .easeOut
+ }
+
+ // Getting keyboard animation duration
+ if let duration: TimeInterval = info[UIResponder.keyboardAnimationDurationUserInfoKey] as? TimeInterval,
+ duration != 0.0 {
+ animationDuration = duration
+ } else {
+ animationDuration = 0.25
+ }
+
+ // Getting UIKeyboardSize.
+ if var kbFrame: CGRect = info[UIResponder.keyboardFrameEndUserInfoKey] as? CGRect {
+
+ // If this is floating keyboard
+ if kbFrame.width < screenBounds.width,
+ kbFrame.maxY < screenBounds.height {
+ kbFrame.size = CGSize(width: kbFrame.size.width, height: 0)
+ } else {
+ // (Bug ID: #469) (Bug ID: #381) (Bug ID: #1506)
+ // Calculating actual keyboard covered size respect to window,
+ // keyboard frame may be different when hardware keyboard is attached
+ let keyboardHeight = CGFloat.maximum(screenBounds.height - kbFrame.minY, 0)
+ kbFrame.size = CGSize(width: kbFrame.size.width, height: keyboardHeight)
+ }
+
+ frame = kbFrame
+ } else {
+ frame = CGRect(x: 0, y: screenBounds.height, width: screenBounds.width, height: 0)
+ }
+ } else {
+ animationCurve = .easeOut
+ animationDuration = 0.25
+ frame = CGRect(x: 0, y: screenBounds.height, width: screenBounds.width, height: 0)
+ }
+ }
+
+ public func animate(alongsideTransition transition: @escaping () -> Void, completion: (() -> Void)? = nil) {
+
+// if let timing = UIView.AnimationCurve.RawValue(exactly: animationCurve.rawValue),
+// let curve = UIView.AnimationCurve(rawValue: timing) {
+// let animator = UIViewPropertyAnimator(duration: animationDuration, curve: curve) {
+// transition()
+// }
+// animator.addCompletion { _ in
+// completion?()
+// }
+// animator.isUserInteractionEnabled = true
+// animator.startAnimation()
+// } else {
+ var animationOptions: UIView.AnimationOptions = .init(rawValue: UInt(animationCurve.rawValue << 16))
+ animationOptions.formUnion(.allowUserInteraction)
+ animationOptions.formUnion(.beginFromCurrentState)
+ UIView.animate(withDuration: animationDuration, delay: 0,
+ options: animationOptions,
+ animations: transition,
+ completion: { _ in
+ completion?()
+ })
+// }
+ }
+}
--- /dev/null
+//
+// IQTextFieldViewInfo.swift
+// https://github.com/hackiftekhar/IQKeyboardManager
+// Copyright (c) 2013-24 Iftekhar Qurashi.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+import UIKit
+
+@available(iOSApplicationExtension, unavailable)
+@MainActor
+public struct IQTextFieldViewInfo: Equatable {
+
+ nonisolated public static func == (lhs: Self, rhs: Self) -> Bool {
+ return lhs.textFieldView == rhs.textFieldView &&
+ lhs.name == rhs.name
+ }
+
+ @MainActor
+ @objc public enum Name: Int {
+ case beginEditing
+ case endEditing
+ }
+
+ public let name: Name
+
+ public let textFieldView: UIView
+
+ public init?(notification: Notification?, name: Name) {
+ guard let view: UIView = notification?.object as? UIView else {
+ return nil
+ }
+
+ guard !view.iq.isAlertViewTextField() else {
+ return nil
+ }
+
+ self.name = name
+ textFieldView = view
+ }
+}
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>NSPrivacyAccessedAPITypes</key>
+ <array/>
+ <key>NSPrivacyTrackingDomains</key>
+ <array/>
+ <key>NSPrivacyCollectedDataTypes</key>
+ <array/>
+ <key>NSPrivacyTracking</key>
+ <false/>
+</dict>
+</plist>
--- /dev/null
+//
+// IQKeyboardReturnKeyHandler+TextFieldDelegate.swift
+// https://github.com/hackiftekhar/IQKeyboardManager
+// Copyright (c) 2013-24 Iftekhar Qurashi.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+import UIKit
+
+// MARK: UITextFieldDelegate
+@available(iOSApplicationExtension, unavailable)
+extension IQKeyboardReturnKeyHandler: UITextFieldDelegate {
+
+ @objc public func textFieldShouldBeginEditing(_ textField: UITextField) -> Bool {
+
+ if delegate == nil {
+
+ if let unwrapDelegate: any UITextFieldDelegate = textFieldViewCachedInfo(textField)?.textFieldDelegate {
+ if unwrapDelegate.responds(to: #selector((any UITextFieldDelegate).textFieldShouldBeginEditing(_:))) {
+ return unwrapDelegate.textFieldShouldBeginEditing?(textField) ?? false
+ }
+ }
+ }
+
+ return true
+ }
+
+ @objc public func textFieldShouldEndEditing(_ textField: UITextField) -> Bool {
+
+ if delegate == nil {
+
+ if let unwrapDelegate: any UITextFieldDelegate = textFieldViewCachedInfo(textField)?.textFieldDelegate {
+ if unwrapDelegate.responds(to: #selector((any UITextFieldDelegate).textFieldShouldEndEditing(_:))) {
+ return unwrapDelegate.textFieldShouldEndEditing?(textField) ?? false
+ }
+ }
+ }
+
+ return true
+ }
+
+ @objc public func textFieldDidBeginEditing(_ textField: UITextField) {
+ updateReturnKeyTypeOnTextField(textField)
+
+ var aDelegate: (any UITextFieldDelegate)? = delegate
+
+ if aDelegate == nil {
+
+ if let model: IQTextFieldViewInfoModel = textFieldViewCachedInfo(textField) {
+ aDelegate = model.textFieldDelegate
+ }
+ }
+
+ aDelegate?.textFieldDidBeginEditing?(textField)
+ }
+
+ @objc public func textFieldDidEndEditing(_ textField: UITextField) {
+
+ var aDelegate: (any UITextFieldDelegate)? = delegate
+
+ if aDelegate == nil {
+
+ if let model: IQTextFieldViewInfoModel = textFieldViewCachedInfo(textField) {
+ aDelegate = model.textFieldDelegate
+ }
+ }
+
+ aDelegate?.textFieldDidEndEditing?(textField)
+ }
+
+ @objc public func textFieldDidEndEditing(_ textField: UITextField, reason: UITextField.DidEndEditingReason) {
+
+ var aDelegate: (any UITextFieldDelegate)? = delegate
+
+ if aDelegate == nil {
+
+ if let model: IQTextFieldViewInfoModel = textFieldViewCachedInfo(textField) {
+ aDelegate = model.textFieldDelegate
+ }
+ }
+
+ aDelegate?.textFieldDidEndEditing?(textField, reason: reason)
+ }
+
+ @objc public func textField(_ textField: UITextField,
+ shouldChangeCharactersIn range: NSRange,
+ replacementString string: String) -> Bool {
+
+ if delegate == nil {
+
+ if let unwrapDelegate: any UITextFieldDelegate = textFieldViewCachedInfo(textField)?.textFieldDelegate {
+ let selector: Selector = #selector((any UITextFieldDelegate).textField(_:shouldChangeCharactersIn:
+ replacementString:))
+ if unwrapDelegate.responds(to: selector) {
+ return unwrapDelegate.textField?(textField,
+ shouldChangeCharactersIn: range,
+ replacementString: string) ?? false
+ }
+ }
+ }
+ return true
+ }
+
+ @objc public func textFieldShouldClear(_ textField: UITextField) -> Bool {
+
+ if delegate == nil {
+
+ if let unwrapDelegate: any UITextFieldDelegate = textFieldViewCachedInfo(textField)?.textFieldDelegate {
+ if unwrapDelegate.responds(to: #selector((any UITextFieldDelegate).textFieldShouldClear(_:))) {
+ return unwrapDelegate.textFieldShouldClear?(textField) ?? false
+ }
+ }
+ }
+
+ return true
+ }
+
+ @objc public func textFieldShouldReturn(_ textField: UITextField) -> Bool {
+
+ var isReturn: Bool = true
+
+ if delegate == nil {
+
+ if let unwrapDelegate: any UITextFieldDelegate = textFieldViewCachedInfo(textField)?.textFieldDelegate {
+ if unwrapDelegate.responds(to: #selector((any UITextFieldDelegate).textFieldShouldReturn(_:))) {
+ isReturn = unwrapDelegate.textFieldShouldReturn?(textField) ?? false
+ }
+ }
+ }
+
+ if isReturn {
+ goToNextResponderOrResign(textField)
+ return true
+ } else {
+ return goToNextResponderOrResign(textField)
+ }
+ }
+}
--- /dev/null
+//
+// IQKeyboardReturnKeyHandler+TextViewDelegate.swift
+// https://github.com/hackiftekhar/IQKeyboardManager
+// Copyright (c) 2013-24 Iftekhar Qurashi.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+import UIKit
+
+// MARK: UITextViewDelegate
+@available(iOSApplicationExtension, unavailable)
+extension IQKeyboardReturnKeyHandler: UITextViewDelegate {
+
+ @objc public func textViewShouldBeginEditing(_ textView: UITextView) -> Bool {
+
+ if delegate == nil {
+
+ if let unwrapDelegate: any UITextViewDelegate = textFieldViewCachedInfo(textView)?.textViewDelegate {
+ if unwrapDelegate.responds(to: #selector((any UITextViewDelegate).textViewShouldBeginEditing(_:))) {
+ return unwrapDelegate.textViewShouldBeginEditing?(textView) ?? false
+ }
+ }
+ }
+
+ return true
+ }
+
+ @objc public func textViewShouldEndEditing(_ textView: UITextView) -> Bool {
+
+ if delegate == nil {
+
+ if let unwrapDelegate: any UITextViewDelegate = textFieldViewCachedInfo(textView)?.textViewDelegate {
+ if unwrapDelegate.responds(to: #selector((any UITextViewDelegate).textViewShouldEndEditing(_:))) {
+ return unwrapDelegate.textViewShouldEndEditing?(textView) ?? false
+ }
+ }
+ }
+
+ return true
+ }
+
+ @objc public func textViewDidBeginEditing(_ textView: UITextView) {
+ updateReturnKeyTypeOnTextField(textView)
+
+ var aDelegate: (any UITextViewDelegate)? = delegate
+
+ if aDelegate == nil {
+
+ if let model: IQTextFieldViewInfoModel = textFieldViewCachedInfo(textView) {
+ aDelegate = model.textViewDelegate
+ }
+ }
+
+ aDelegate?.textViewDidBeginEditing?(textView)
+ }
+
+ @objc public func textViewDidEndEditing(_ textView: UITextView) {
+
+ var aDelegate: (any UITextViewDelegate)? = delegate
+
+ if aDelegate == nil {
+
+ if let model: IQTextFieldViewInfoModel = textFieldViewCachedInfo(textView) {
+ aDelegate = model.textViewDelegate
+ }
+ }
+
+ aDelegate?.textViewDidEndEditing?(textView)
+ }
+
+ @objc public func textView(_ textView: UITextView,
+ shouldChangeTextIn range: NSRange,
+ replacementText text: String) -> Bool {
+
+ var isReturn = true
+
+ if delegate == nil {
+
+ if let unwrapDelegate: any UITextViewDelegate = textFieldViewCachedInfo(textView)?.textViewDelegate {
+ let selector = #selector((any UITextViewDelegate).textView(_:shouldChangeTextIn:replacementText:))
+ if unwrapDelegate.responds(to: selector) {
+ isReturn = (unwrapDelegate.textView?(textView,
+ shouldChangeTextIn: range,
+ replacementText: text)) ?? false
+ }
+ }
+ }
+
+ if isReturn, text == "\n" {
+ isReturn = goToNextResponderOrResign(textView)
+ }
+
+ return isReturn
+ }
+
+ @objc public func textViewDidChange(_ textView: UITextView) {
+
+ var aDelegate: (any UITextViewDelegate)? = delegate
+
+ if aDelegate == nil {
+
+ if let model: IQTextFieldViewInfoModel = textFieldViewCachedInfo(textView) {
+ aDelegate = model.textViewDelegate
+ }
+ }
+
+ aDelegate?.textViewDidChange?(textView)
+ }
+
+ @objc public func textViewDidChangeSelection(_ textView: UITextView) {
+
+ var aDelegate: (any UITextViewDelegate)? = delegate
+
+ if aDelegate == nil {
+
+ if let model: IQTextFieldViewInfoModel = textFieldViewCachedInfo(textView) {
+ aDelegate = model.textViewDelegate
+ }
+ }
+
+ aDelegate?.textViewDidChangeSelection?(textView)
+ }
+
+ @objc public func textView(_ aTextView: UITextView,
+ shouldInteractWith URL: URL,
+ in characterRange: NSRange,
+ interaction: UITextItemInteraction) -> Bool {
+
+ if delegate == nil {
+
+ if let unwrapDelegate: any UITextViewDelegate = textFieldViewCachedInfo(aTextView)?.textViewDelegate {
+ let selector: Selector = #selector(textView as
+ (UITextView, URL, NSRange, UITextItemInteraction) -> Bool)
+ if unwrapDelegate.responds(to: selector) {
+ return unwrapDelegate.textView?(aTextView,
+ shouldInteractWith: URL,
+ in: characterRange,
+ interaction: interaction) ?? false
+ }
+ }
+ }
+
+ return true
+ }
+
+ @objc public func textView(_ aTextView: UITextView,
+ shouldInteractWith textAttachment: NSTextAttachment,
+ in characterRange: NSRange,
+ interaction: UITextItemInteraction) -> Bool {
+
+ if delegate == nil {
+
+ if let unwrapDelegate: any UITextViewDelegate = textFieldViewCachedInfo(aTextView)?.textViewDelegate {
+ let selector: Selector = #selector(textView as
+ (UITextView, NSTextAttachment, NSRange, UITextItemInteraction)
+ -> Bool)
+ if unwrapDelegate.responds(to: selector) {
+ return unwrapDelegate.textView?(aTextView,
+ shouldInteractWith: textAttachment,
+ in: characterRange,
+ interaction: interaction) ?? false
+ }
+ }
+ }
+
+ return true
+ }
+
+ @available(iOS, deprecated: 10.0)
+ @objc public func textView(_ aTextView: UITextView,
+ shouldInteractWith URL: URL,
+ in characterRange: NSRange) -> Bool {
+
+ if delegate == nil {
+
+ if let unwrapDelegate: any UITextViewDelegate = textFieldViewCachedInfo(aTextView)?.textViewDelegate {
+ if unwrapDelegate.responds(to: #selector(textView as (UITextView, URL, NSRange) -> Bool)) {
+ return unwrapDelegate.textView?(aTextView,
+ shouldInteractWith: URL,
+ in: characterRange) ?? false
+ }
+ }
+ }
+
+ return true
+ }
+
+ @available(iOS, deprecated: 10.0)
+ @objc public func textView(_ aTextView: UITextView,
+ shouldInteractWith textAttachment: NSTextAttachment,
+ in characterRange: NSRange) -> Bool {
+
+ if delegate == nil {
+
+ if let unwrapDelegate: any UITextViewDelegate = textFieldViewCachedInfo(aTextView)?.textViewDelegate {
+ if unwrapDelegate.responds(to: #selector(textView as (UITextView, NSTextAttachment, NSRange) -> Bool)) {
+ return unwrapDelegate.textView?(aTextView,
+ shouldInteractWith: textAttachment,
+ in: characterRange) ?? false
+ }
+ }
+ }
+
+ return true
+ }
+}
+
+#if swift(>=5.7)
+@available(iOS 16.0, *)
+@available(iOSApplicationExtension, unavailable)
+extension IQKeyboardReturnKeyHandler {
+ public func textView(_ aTextView: UITextView,
+ editMenuForTextIn range: NSRange,
+ suggestedActions: [UIMenuElement]) -> UIMenu? {
+ if delegate == nil {
+
+ if let unwrapDelegate: any UITextViewDelegate = textFieldViewCachedInfo(aTextView)?.textViewDelegate {
+
+ let selector: Selector = #selector(textView as
+ (UITextView, NSRange, [UIMenuElement]) -> UIMenu?)
+ if unwrapDelegate.responds(to: selector) {
+ return unwrapDelegate.textView?(aTextView,
+ editMenuForTextIn: range,
+ suggestedActions: suggestedActions)
+ }
+ }
+ }
+
+ return nil
+ }
+
+ public func textView(_ aTextView: UITextView,
+ willPresentEditMenuWith animator: any UIEditMenuInteractionAnimating) {
+ var aDelegate: (any UITextViewDelegate)? = delegate
+
+ if aDelegate == nil {
+
+ if let model: IQTextFieldViewInfoModel = textFieldViewCachedInfo(aTextView) {
+ aDelegate = model.textViewDelegate
+ }
+ }
+
+ aDelegate?.textView?(aTextView, willPresentEditMenuWith: animator)
+ }
+
+ public func textView(_ aTextView: UITextView,
+ willDismissEditMenuWith animator: any UIEditMenuInteractionAnimating) {
+ var aDelegate: (any UITextViewDelegate)? = delegate
+
+ if aDelegate == nil {
+
+ if let model: IQTextFieldViewInfoModel = textFieldViewCachedInfo(aTextView) {
+ aDelegate = model.textViewDelegate
+ }
+ }
+
+ aDelegate?.textView?(aTextView, willDismissEditMenuWith: animator)
+ }
+}
+#endif
+
+#if swift(>=5.9)
+@available(iOS 17.0, *)
+@available(iOSApplicationExtension, unavailable)
+extension IQKeyboardReturnKeyHandler {
+
+ public func textView(_ aTextView: UITextView,
+ primaryActionFor textItem: UITextItem,
+ defaultAction: UIAction) -> UIAction? {
+ if delegate == nil {
+
+ if let unwrapDelegate = textFieldViewCachedInfo(aTextView)?.textViewDelegate {
+ if unwrapDelegate.responds(to: #selector(textView as (UITextView, UITextItem, UIAction) -> UIAction?)) {
+ return unwrapDelegate.textView?(aTextView,
+ primaryActionFor: textItem,
+ defaultAction: defaultAction)
+ }
+ }
+ }
+
+ return nil
+ }
+
+ public func textView(_ aTextView: UITextView,
+ menuConfigurationFor textItem: UITextItem,
+ defaultMenu: UIMenu) -> UITextItem.MenuConfiguration? {
+ if delegate == nil {
+
+ if let unwrapDelegate = textFieldViewCachedInfo(aTextView)?.textViewDelegate {
+ let selector: Selector = #selector(textView as (UITextView, UITextItem, UIMenu)
+ -> UITextItem.MenuConfiguration?)
+ if unwrapDelegate.responds(to: selector) {
+ return unwrapDelegate.textView?(aTextView,
+ menuConfigurationFor: textItem,
+ defaultMenu: defaultMenu)
+ }
+ }
+ }
+
+ return nil
+ }
+
+ public func textView(_ textView: UITextView,
+ textItemMenuWillDisplayFor textItem: UITextItem,
+ animator: any UIContextMenuInteractionAnimating) {
+ var aDelegate: (any UITextViewDelegate)? = delegate
+
+ if aDelegate == nil {
+
+ if let model = textFieldViewCachedInfo(textView) {
+ aDelegate = model.textViewDelegate
+ }
+ }
+
+ aDelegate?.textView?(textView, textItemMenuWillDisplayFor: textItem, animator: animator)
+ }
+
+ public func textView(_ textView: UITextView,
+ textItemMenuWillEndFor textItem: UITextItem,
+ animator: any UIContextMenuInteractionAnimating) {
+ var aDelegate: (any UITextViewDelegate)? = delegate
+
+ if aDelegate == nil {
+
+ if let model = textFieldViewCachedInfo(textView) {
+ aDelegate = model.textViewDelegate
+ }
+ }
+
+ aDelegate?.textView?(textView, textItemMenuWillEndFor: textItem, animator: animator)
+ }
+}
+#endif
--- /dev/null
+//
+// IQKeyboardReturnKeyHandler.swift
+// https://github.com/hackiftekhar/IQKeyboardManager
+// Copyright (c) 2013-24 Iftekhar Qurashi.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+import UIKit
+
+/**
+Manages the return key to work like next/done in a view hierarchy.
+*/
+@available(iOSApplicationExtension, unavailable)
+@MainActor
+@objc public final class IQKeyboardReturnKeyHandler: NSObject {
+
+ // MARK: Settings
+
+ /**
+ Delegate of textField/textView.
+ */
+ @objc public weak var delegate: (any UITextFieldDelegate & UITextViewDelegate)?
+
+ /**
+ Set the last textfield return key type. Default is UIReturnKeyDefault.
+ */
+ @objc public var lastTextFieldReturnKeyType: UIReturnKeyType = UIReturnKeyType.default {
+
+ didSet {
+ for model in textFieldInfoCache {
+ if let view: UIView = model.textFieldView {
+ updateReturnKeyTypeOnTextField(view)
+ }
+ }
+ }
+ }
+
+ // MARK: Initialization/De-initialization
+
+ @objc public override init() {
+ super.init()
+ }
+
+ /**
+ Add all the textFields available in UIViewController's view.
+ */
+ @objc public init(controller: UIViewController) {
+ super.init()
+
+ addResponderFromView(controller.view)
+ }
+
+ deinit {
+
+// for model in textFieldInfoCache {
+// model.restore()
+// }
+
+ textFieldInfoCache.removeAll()
+ }
+
+ // MARK: Private variables
+ private var textFieldInfoCache: [IQTextFieldViewInfoModel] = []
+
+ // MARK: Private Functions
+ internal func textFieldViewCachedInfo(_ textField: UIView) -> IQTextFieldViewInfoModel? {
+
+ for model in textFieldInfoCache {
+
+ if let view: UIView = model.textFieldView {
+ if view == textField {
+ return model
+ }
+ }
+ }
+
+ return nil
+ }
+
+ internal func updateReturnKeyTypeOnTextField(_ view: UIView) {
+ var superConsideredView: UIView?
+
+ // If find any consider responderView in it's upper hierarchy then will get deepResponderView. (Bug ID: #347)
+ for allowedClasse in IQKeyboardManager.shared.toolbarPreviousNextAllowedClasses {
+
+ superConsideredView = view.iq.superviewOf(type: allowedClasse)
+
+ if superConsideredView != nil {
+ break
+ }
+ }
+
+ var textFields: [UIView] = []
+
+ // If there is a tableView in view's hierarchy, then fetching all it's subview that responds.
+ if let unwrappedTableView: UIView = superConsideredView { // (Enhancement ID: #22)
+ textFields = unwrappedTableView.iq.deepResponderViews()
+ } else { // Otherwise fetching all the siblings
+
+ textFields = view.iq.responderSiblings()
+
+ // Sorting textFields according to behavior
+ switch IQKeyboardManager.shared.toolbarConfiguration.manageBehavior {
+ // If needs to sort it by tag
+ case .byTag: textFields = textFields.sortedByTag()
+ // If needs to sort it by Position
+ case .byPosition: textFields = textFields.sortedByPosition()
+ default: break
+ }
+ }
+
+ if let lastView: UIView = textFields.last {
+
+ if let textField: UITextField = view as? UITextField {
+
+ // If it's the last textField in responder view, else next
+ textField.returnKeyType = (view == lastView) ? lastTextFieldReturnKeyType: UIReturnKeyType.next
+ } else if let textView: UITextView = view as? UITextView {
+
+ // If it's the last textField in responder view, else next
+ textView.returnKeyType = (view == lastView) ? lastTextFieldReturnKeyType: UIReturnKeyType.next
+ }
+ }
+ }
+
+ // MARK: Registering/Unregistering textFieldView
+
+ /**
+ Should pass UITextField/UITextView instance. Assign textFieldView delegate to self, change it's returnKeyType.
+
+ @param view UITextField/UITextView object to register.
+ */
+ @objc public func addTextFieldView(_ view: UIView) {
+
+ if let textField: UITextField = view as? UITextField {
+ let model = IQTextFieldViewInfoModel(textField: textField)
+ textFieldInfoCache.append(model)
+ textField.delegate = self
+
+ } else if let textView: UITextView = view as? UITextView {
+ let model = IQTextFieldViewInfoModel(textView: textView)
+ textFieldInfoCache.append(model)
+ textView.delegate = self
+ }
+ }
+
+ /**
+ Should pass UITextField/UITextView instance. Restore it's textFieldView delegate and it's returnKeyType.
+
+ @param view UITextField/UITextView object to unregister.
+ */
+ @objc public func removeTextFieldView(_ view: UIView) {
+
+ if let model: IQTextFieldViewInfoModel = textFieldViewCachedInfo(view) {
+ model.restore()
+
+ if let index: Int = textFieldInfoCache.firstIndex(where: { $0.textFieldView == view}) {
+ textFieldInfoCache.remove(at: index)
+ }
+ }
+ }
+
+ /**
+ Add all the UITextField/UITextView responderView's.
+
+ @param view UIView object to register all it's responder subviews.
+ */
+ @objc public func addResponderFromView(_ view: UIView) {
+
+ let textFields: [UIView] = view.iq.deepResponderViews()
+
+ for textField in textFields {
+
+ addTextFieldView(textField)
+ }
+ }
+
+ /**
+ Remove all the UITextField/UITextView responderView's.
+
+ @param view UIView object to unregister all it's responder subviews.
+ */
+ @objc public func removeResponderFromView(_ view: UIView) {
+
+ let textFields: [UIView] = view.iq.deepResponderViews()
+
+ for textField in textFields {
+
+ removeTextFieldView(textField)
+ }
+ }
+
+ @discardableResult
+ internal func goToNextResponderOrResign(_ view: UIView) -> Bool {
+
+ var superConsideredView: UIView?
+
+ // If find any consider responderView in it's upper hierarchy then will get deepResponderView. (Bug ID: #347)
+ for allowedClass in IQKeyboardManager.shared.toolbarPreviousNextAllowedClasses {
+
+ superConsideredView = view.iq.superviewOf(type: allowedClass)
+
+ if superConsideredView != nil {
+ break
+ }
+ }
+
+ var textFields: [UIView] = []
+
+ // If there is a tableView in view's hierarchy, then fetching all it's subview that responds.
+ if let unwrappedTableView: UIView = superConsideredView { // (Enhancement ID: #22)
+ textFields = unwrappedTableView.iq.deepResponderViews()
+ } else { // Otherwise fetching all the siblings
+
+ textFields = view.iq.responderSiblings()
+
+ // Sorting textFields according to behavior
+ switch IQKeyboardManager.shared.toolbarConfiguration.manageBehavior {
+ // If needs to sort it by tag
+ case .byTag: textFields = textFields.sortedByTag()
+ // If needs to sort it by Position
+ case .byPosition: textFields = textFields.sortedByPosition()
+ default:
+ break
+ }
+ }
+
+ // Getting index of current textField.
+ if let index: Int = textFields.firstIndex(of: view) {
+ // If it is not last textField. then it's next object becomeFirstResponder.
+ if index < (textFields.count - 1) {
+
+ let nextTextField: UIView = textFields[index+1]
+ nextTextField.becomeFirstResponder()
+ return false
+ } else {
+
+ view.resignFirstResponder()
+ return true
+ }
+ } else {
+ return true
+ }
+ }
+}
--- /dev/null
+//
+// IQTextFieldViewInfoModel.swift
+// https://github.com/hackiftekhar/IQKeyboardManager
+// Copyright (c) 2013-24 Iftekhar Qurashi.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+import UIKit
+
+@available(iOSApplicationExtension, unavailable)
+@MainActor
+internal final class IQTextFieldViewInfoModel: NSObject {
+
+ weak var textFieldDelegate: (any UITextFieldDelegate)?
+ weak var textViewDelegate: (any UITextViewDelegate)?
+ weak var textFieldView: UIView?
+ let originalReturnKeyType: UIReturnKeyType
+
+ init(textField: UITextField) {
+ self.textFieldView = textField
+ self.textFieldDelegate = textField.delegate
+ self.originalReturnKeyType = textField.returnKeyType
+ }
+
+ init(textView: UITextView) {
+ self.textFieldView = textView
+ self.textViewDelegate = textView.delegate
+ self.originalReturnKeyType = textView.returnKeyType
+ }
+
+ func restore() {
+ if let textField = textFieldView as? UITextField {
+ textField.returnKeyType = originalReturnKeyType
+ textField.delegate = textFieldDelegate
+ } else if let textView = textFieldView as? UITextView {
+ textView.returnKeyType = originalReturnKeyType
+ textView.delegate = textViewDelegate
+ }
+ }
+}
--- /dev/null
+//
+// IQNSArray+Sort.swift
+// https://github.com/hackiftekhar/IQKeyboardManager
+// Copyright (c) 2013-24 Iftekhar Qurashi.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+import UIKit
+
+/**
+UIView.subviews sorting category.
+*/
+@available(iOSApplicationExtension, unavailable)
+@MainActor
+internal extension Array where Element: UIView {
+
+ /**
+ Returns the array by sorting the UIView's by their tag property.
+ */
+ func sortedByTag() -> [Element] {
+
+ return sorted(by: { (obj1: Element, obj2: Element) -> Bool in
+
+ return (obj1.tag < obj2.tag)
+ })
+ }
+
+ /**
+ Returns the array by sorting the UIView's by their tag property.
+ */
+ func sortedByPosition() -> [Element] {
+
+ return sorted(by: { (obj1: Element, obj2: Element) -> Bool in
+ if obj1.frame.minY != obj2.frame.minY {
+ return obj1.frame.minY < obj2.frame.minY
+ } else {
+ return obj1.frame.minX < obj2.frame.minX
+ }
+ })
+ }
+}
--- /dev/null
+//
+// IQUICollectionView+Additions.swift
+// https://github.com/hackiftekhar/IQKeyboardManager
+// Copyright (c) 2013-24 Iftekhar Qurashi.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+import UIKit
+
+@available(iOSApplicationExtension, unavailable)
+@MainActor
+internal extension UICollectionView {
+
+ func previousIndexPath(of indexPath: IndexPath) -> IndexPath? {
+ var previousRow: Int = indexPath.row - 1
+ var previousSection: Int = indexPath.section
+
+ // Fixing indexPath
+ if previousRow < 0 {
+ previousSection -= 1
+ if previousSection >= 0 {
+ previousRow = self.numberOfItems(inSection: previousSection) - 1
+ }
+ }
+
+ if previousRow >= 0, previousSection >= 0 {
+ return IndexPath(item: previousRow, section: previousSection)
+ } else {
+ return nil
+ }
+ }
+}
--- /dev/null
+//
+// IQUIScrollView+Additions.swift
+// https://github.com/hackiftekhar/IQKeyboardManager
+// Copyright (c) 2013-24 Iftekhar Qurashi.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+import UIKit
+
+@available(iOSApplicationExtension, unavailable)
+@MainActor
+private struct AssociatedKeys {
+ static var ignoreScrollingAdjustment: Int = 0
+ static var ignoreContentInsetAdjustment: Int = 0
+ static var restoreContentOffset: Int = 0
+}
+
+// swiftlint:disable identifier_name
+// swiftlint:disable unused_setter_value
+@available(iOSApplicationExtension, unavailable)
+extension UIScrollView: IQKeyboardManagerCompatible {
+
+ // This property is explicitly written otherwise we were having
+ // compilation error when archiving
+ public var iq: IQKeyboardManagerWrapper<UIView> {
+ get { IQKeyboardManagerWrapper(self) }
+ set {}
+ }
+}
+// swiftlint:enable unused_setter_value
+// swiftlint:enable identifier_name
+
+@available(iOSApplicationExtension, unavailable)
+@MainActor
+public extension IQKeyboardManagerWrapper where Base: UIScrollView {
+
+ /**
+ If YES, then scrollview will ignore scrolling (simply not scroll it) for adjusting textfield position.
+ Default is NO.
+ */
+ var ignoreScrollingAdjustment: Bool {
+ get {
+ if let base = base {
+ return objc_getAssociatedObject(base, &AssociatedKeys.ignoreScrollingAdjustment) as? Bool ?? false
+ }
+ return false
+ }
+ set(newValue) {
+ if let base = base {
+ objc_setAssociatedObject(base, &AssociatedKeys.ignoreScrollingAdjustment,
+ newValue, .OBJC_ASSOCIATION_RETAIN_NONATOMIC)
+ }
+ }
+ }
+
+ /**
+ If YES, then scrollview will ignore content inset adjustment (simply not updating it) when keyboard is shown.
+ Default is NO.
+ */
+ var ignoreContentInsetAdjustment: Bool {
+ get {
+ if let base = base {
+ return objc_getAssociatedObject(base, &AssociatedKeys.ignoreContentInsetAdjustment) as? Bool ?? false
+ }
+ return false
+ }
+ set(newValue) {
+ if let base = base {
+ objc_setAssociatedObject(base, &AssociatedKeys.ignoreContentInsetAdjustment,
+ newValue, .OBJC_ASSOCIATION_RETAIN_NONATOMIC)
+ }
+ }
+ }
+
+ /**
+ To set customized distance from keyboard for textField/textView. Can't be less than zero
+ */
+ var restoreContentOffset: Bool {
+ get {
+ if let base = base {
+ return objc_getAssociatedObject(base, &AssociatedKeys.restoreContentOffset) as? Bool ?? false
+ }
+ return false
+ }
+ set(newValue) {
+ if let base = base {
+ objc_setAssociatedObject(base, &AssociatedKeys.restoreContentOffset,
+ newValue, .OBJC_ASSOCIATION_RETAIN_NONATOMIC)
+ }
+ }
+ }
+}
+
+// swiftlint:disable unused_setter_value
+@available(iOSApplicationExtension, unavailable)
+@objc public extension UIScrollView {
+ @available(*, unavailable, renamed: "iq.ignoreScrollingAdjustment")
+ var shouldIgnoreScrollingAdjustment: Bool {
+ get { false }
+ set { }
+ }
+
+ @available(*, unavailable, renamed: "iq.ignoreContentInsetAdjustment")
+ var shouldIgnoreContentInsetAdjustment: Bool {
+ get { false }
+ set { }
+ }
+
+ @available(*, unavailable, renamed: "iq.restoreContentOffset")
+ var shouldRestoreScrollViewContentOffset: Bool {
+ get { false }
+ set { }
+ }
+}
+// swiftlint:enable unused_setter_value
--- /dev/null
+//
+// IQUITableView+Additions.swift
+// https://github.com/hackiftekhar/IQKeyboardManager
+// Copyright (c) 2013-24 Iftekhar Qurashi.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+import UIKit
+
+@available(iOSApplicationExtension, unavailable)
+@MainActor
+internal extension UITableView {
+
+ func previousIndexPath(of indexPath: IndexPath) -> IndexPath? {
+ var previousRow: Int = indexPath.row - 1
+ var previousSection: Int = indexPath.section
+
+ // Fixing indexPath
+ if previousRow < 0 {
+ previousSection -= 1
+ if previousSection >= 0 {
+ previousRow = self.numberOfRows(inSection: previousSection) - 1
+ }
+ }
+
+ if previousRow >= 0, previousSection >= 0 {
+ return IndexPath(row: previousRow, section: previousSection)
+ } else {
+ return nil
+ }
+ }
+}
--- /dev/null
+//
+// IQUITextFieldView+Additions.swift
+// https://github.com/hackiftekhar/IQKeyboardManager
+// Copyright (c) 2013-24 Iftekhar Qurashi.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+import UIKit
+
+@available(iOSApplicationExtension, unavailable)
+@MainActor
+private struct AssociatedKeys {
+ static var distanceFromKeyboard: Int = 0
+ static var ignoreSwitchingByNextPrevious: Int = 0
+ static var enableMode: Int = 0
+ static var resignOnTouchOutsideMode: Int = 0
+}
+
+@available(iOSApplicationExtension, unavailable)
+extension UIView: IQKeyboardManagerCompatible {
+
+ public static let defaultKeyboardDistance: CGFloat = CGFloat.greatestFiniteMagnitude
+}
+
+@available(iOSApplicationExtension, unavailable)
+@available(*, unavailable, renamed: "UIView.defaultKeyboardDistance")
+public let kIQUseDefaultKeyboardDistance = CGFloat.greatestFiniteMagnitude
+
+/**
+UIView category for managing UITextField/UITextView
+*/
+@available(iOSApplicationExtension, unavailable)
+@MainActor
+public extension IQKeyboardManagerWrapper where Base: UIView {
+
+ /**
+ To set customized distance from keyboard for textField/textView. Can't be less than zero
+ */
+ var distanceFromKeyboard: CGFloat {
+ get {
+ if let base = base {
+ if let value = objc_getAssociatedObject(base, &AssociatedKeys.distanceFromKeyboard) as? CGFloat {
+ return value
+ }
+ }
+ return UIView.defaultKeyboardDistance
+ }
+ set(newValue) {
+ if let base = base {
+ objc_setAssociatedObject(base, &AssociatedKeys.distanceFromKeyboard,
+ newValue, .OBJC_ASSOCIATION_RETAIN_NONATOMIC)
+ }
+ }
+ }
+
+ /**
+ If ignoreSwitchingByNextPrevious is true then library will ignore this textField/textView
+ while moving to other textField/textView using keyboard toolbar next previous buttons.
+ Default is false
+ */
+ var ignoreSwitchingByNextPrevious: Bool {
+ get {
+ if let base = base {
+ return objc_getAssociatedObject(base, &AssociatedKeys.ignoreSwitchingByNextPrevious) as? Bool ?? false
+ }
+ return false
+ }
+ set(newValue) {
+ if let base = base {
+ objc_setAssociatedObject(base, &AssociatedKeys.ignoreSwitchingByNextPrevious,
+ newValue, .OBJC_ASSOCIATION_RETAIN_NONATOMIC)
+ }
+ }
+ }
+
+ /**
+ Override Enable/disable managing distance between keyboard and textField behavior for this particular textField.
+ */
+ var enableMode: IQEnableMode {
+ get {
+ if let base = base {
+ return objc_getAssociatedObject(base, &AssociatedKeys.enableMode) as? IQEnableMode ?? .default
+ }
+ return .default
+ }
+ set(newValue) {
+ if let base = base {
+ objc_setAssociatedObject(base, &AssociatedKeys.enableMode, newValue, .OBJC_ASSOCIATION_RETAIN_NONATOMIC)
+ }
+ }
+ }
+
+ /**
+ Override resigns Keyboard on touching outside of UITextField/View behavior for this particular textField.
+ */
+ var resignOnTouchOutsideMode: IQEnableMode {
+ get {
+ guard let base = base else {
+ return .default
+ }
+ return objc_getAssociatedObject(base, &AssociatedKeys.resignOnTouchOutsideMode) as? IQEnableMode ?? .default
+ }
+ set(newValue) {
+ if let base = base {
+ objc_setAssociatedObject(base, &AssociatedKeys.resignOnTouchOutsideMode,
+ newValue, .OBJC_ASSOCIATION_RETAIN_NONATOMIC)
+ }
+ }
+ }
+}
+
+// swiftlint:disable unused_setter_value
+@available(iOSApplicationExtension, unavailable)
+@objc public extension UIView {
+ @available(*, unavailable, renamed: "iq.distanceFromKeyboard")
+ var keyboardDistanceFromTextField: CGFloat {
+ get { 0 }
+ set { }
+ }
+
+ @available(*, unavailable, renamed: "iq.ignoreSwitchingByNextPrevious")
+ var ignoreSwitchingByNextPrevious: Bool {
+ get { false }
+ set { }
+ }
+
+ @available(*, unavailable, renamed: "iq.enableMode")
+ var enableMode: IQEnableMode {
+ get { .default }
+ set { }
+ }
+
+ @available(*, unavailable, renamed: "iq.resignOnTouchOutsideMode")
+ var shouldResignOnTouchOutsideMode: IQEnableMode {
+ get { .default }
+ set { }
+ }
+}
+// swiftlint:enable unused_setter_value
--- /dev/null
+//
+// IQUIView+Hierarchy.swift
+// https://github.com/hackiftekhar/IQKeyboardManager
+// Copyright (c) 2013-24 Iftekhar Qurashi.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+import UIKit
+
+/**
+UIView hierarchy category.
+*/
+
+@available(iOSApplicationExtension, unavailable)
+@MainActor
+public extension IQKeyboardManagerWrapper where Base: UIView {
+
+ // MARK: viewControllers
+
+ /**
+ Returns the UIViewController object that manages the receiver.
+ */
+ func viewContainingController() -> UIViewController? {
+
+ var nextResponder: UIResponder? = base
+
+ repeat {
+ nextResponder = nextResponder?.next
+
+ if let viewController: UIViewController = nextResponder as? UIViewController {
+ return viewController
+ }
+
+ } while nextResponder != nil
+
+ return nil
+ }
+
+ /**
+ Returns the topMost UIViewController object in hierarchy.
+ */
+ func topMostController() -> UIViewController? {
+
+ var controllersHierarchy: [UIViewController] = []
+
+ if var topController: UIViewController = base?.window?.rootViewController {
+ controllersHierarchy.append(topController)
+
+ while let presented: UIViewController = topController.presentedViewController {
+
+ topController = presented
+
+ controllersHierarchy.append(presented)
+ }
+
+ var matchController: UIResponder? = viewContainingController()
+
+ while let mController: UIViewController = matchController as? UIViewController,
+ !controllersHierarchy.contains(mController) {
+
+ repeat {
+ matchController = matchController?.next
+
+ } while matchController != nil && matchController is UIViewController == false
+ }
+
+ return matchController as? UIViewController
+
+ } else {
+ return viewContainingController()
+ }
+ }
+
+ /**
+ Returns the UIViewController object that is actually the parent of this object.
+ Most of the time it's the viewController object which actually contains it,
+ but result may be different if it's viewController is added as childViewController of another viewController.
+ */
+ func parentContainerViewController() -> UIViewController? {
+
+ var matchController: UIViewController? = viewContainingController()
+ var parentContainerViewController: UIViewController?
+
+ if var navController: UINavigationController = matchController?.navigationController {
+
+ while let parentNav: UINavigationController = navController.navigationController {
+ navController = parentNav
+ }
+
+ var parentController: UIViewController = navController
+
+ while let parent: UIViewController = parentController.parent,
+ !(parent is UINavigationController) &&
+ !(parent is UITabBarController) &&
+ !(parent is UISplitViewController) {
+
+ parentController = parent
+ }
+
+ if navController == parentController {
+ parentContainerViewController = navController.topViewController
+ } else {
+ parentContainerViewController = parentController
+ }
+ } else if let tabController: UITabBarController = matchController?.tabBarController {
+ let selectedController = tabController.selectedViewController
+ if let navController: UINavigationController = selectedController as? UINavigationController {
+ parentContainerViewController = navController.topViewController
+ } else {
+ parentContainerViewController = tabController.selectedViewController
+ }
+ } else {
+ while let parent: UIViewController = matchController?.parent,
+ !(parent is UINavigationController) &&
+ !(parent is UITabBarController) &&
+ !(parent is UISplitViewController) {
+
+ matchController = parent
+ }
+
+ parentContainerViewController = matchController
+ }
+
+ if let controller: UIViewController = parentContainerViewController?.iq_parentContainerViewController() {
+ return controller
+ } else {
+ return parentContainerViewController
+ }
+ }
+
+ // MARK: Superviews/Subviews/Siblings
+
+ /**
+ Returns the superView of provided class type.
+
+
+ @param classType class type of the object which is to be search in above hierarchy and return
+
+ @param belowView view object in upper hierarchy where method should stop searching and return nil
+*/
+ func superviewOf<T: UIView>(type classType: T.Type, belowView: UIView? = nil) -> T? {
+
+ var superView: UIView? = base?.superview
+
+ while let unwrappedSuperView: UIView = superView {
+
+ if unwrappedSuperView.isKind(of: classType) {
+
+ // If it's UIScrollView, then validating for special cases
+ if unwrappedSuperView is UIScrollView {
+
+ let classNameString: String = "\(type(of: unwrappedSuperView.self))"
+
+ // If it's not UITableViewWrapperView class,
+ // this is internal class which is actually manage in UITableview.
+ // The speciality of this class is that it's superview is UITableView.
+ // If it's not UITableViewCellScrollView class,
+ // this is internal class which is actually manage in UITableviewCell.
+ // The speciality of this class is that it's superview is UITableViewCell.
+ // If it's not _UIQueuingScrollView class,
+ // actually we validate for _ prefix which usually used by Apple internal classes
+ if !(unwrappedSuperView.superview is UITableView),
+ !(unwrappedSuperView.superview is UITableViewCell),
+ !classNameString.hasPrefix("_") {
+ return superView as? T
+ }
+ } else {
+ return superView as? T
+ }
+ } else if unwrappedSuperView == belowView {
+ return nil
+ }
+
+ superView = unwrappedSuperView.superview
+ }
+
+ return nil
+ }
+}
+
+@available(iOSApplicationExtension, unavailable)
+@MainActor
+internal extension IQKeyboardManagerWrapper where Base: UIView {
+
+ /**
+ Returns all siblings of the receiver which canBecomeFirstResponder.
+ */
+ func responderSiblings() -> [UIView] {
+
+ // Array of (UITextField/UITextView's).
+ var tempTextFields: [UIView] = []
+
+ // Getting all siblings
+ if let siblings: [UIView] = base?.superview?.subviews {
+ for textField in siblings {
+ if textField == base || !textField.iq.ignoreSwitchingByNextPrevious,
+ textField.iq.canBecomeFirstResponder() {
+ tempTextFields.append(textField)
+ }
+ }
+ }
+
+ return tempTextFields
+ }
+
+ /**
+ Returns all deep subViews of the receiver which canBecomeFirstResponder.
+ */
+ func deepResponderViews() -> [UIView] {
+
+ // Array of (UITextField/UITextView's).
+ var textfields: [UIView] = []
+
+ for textField in base?.subviews ?? [] {
+
+ if textField == base || !textField.iq.ignoreSwitchingByNextPrevious,
+ textField.iq.canBecomeFirstResponder() {
+ textfields.append(textField)
+ }
+ // Sometimes there are hidden or disabled views and textField inside them still recorded,
+ // so we added some more validations here (Bug ID: #458)
+ // Uncommented else (Bug ID: #625)
+ else if textField.subviews.count != 0,
+ base?.isUserInteractionEnabled == true,
+ base?.isHidden == false, base?.alpha != 0.0 {
+ for deepView in textField.iq.deepResponderViews() {
+ textfields.append(deepView)
+ }
+ }
+ }
+
+ // subviews are returning in opposite order. Sorting according the frames 'y'.
+ return textfields.sorted(by: { (view1: UIView, view2: UIView) -> Bool in
+
+ let frame1: CGRect = view1.convert(view1.bounds, to: base)
+ let frame2: CGRect = view2.convert(view2.bounds, to: base)
+
+ if frame1.minY != frame2.minY {
+ return frame1.minY < frame2.minY
+ } else {
+ return frame1.minX < frame2.minX
+ }
+ })
+ }
+
+ private func canBecomeFirstResponder() -> Bool {
+
+ var canBecomeFirstResponder: Bool = false
+
+ if base?.conforms(to: (any UITextInput).self) == true {
+ // Setting toolbar to keyboard.
+ if let textView: UITextView = base as? UITextView {
+ canBecomeFirstResponder = textView.isEditable
+ } else if let textField: UITextField = base as? UITextField {
+ canBecomeFirstResponder = textField.isEnabled
+ }
+ }
+
+ if canBecomeFirstResponder {
+ canBecomeFirstResponder = base?.isUserInteractionEnabled == true &&
+ base?.isHidden == false &&
+ base?.alpha != 0.0 &&
+ !isAlertViewTextField() &&
+ textFieldSearchBar() == nil
+ }
+
+ return canBecomeFirstResponder
+ }
+
+ // MARK: Special TextFields
+
+ /**
+ Returns searchBar if receiver object is UISearchBarTextField, otherwise return nil.
+ */
+ func textFieldSearchBar() -> UISearchBar? {
+
+ var responder: UIResponder? = base?.next
+
+ while let bar: UIResponder = responder {
+
+ if let searchBar: UISearchBar = bar as? UISearchBar {
+ return searchBar
+ } else if bar is UIViewController {
+ break
+ }
+
+ responder = bar.next
+ }
+
+ return nil
+ }
+
+ /**
+ Returns YES if the receiver object is UIAlertSheetTextField, otherwise return NO.
+ */
+ func isAlertViewTextField() -> Bool {
+
+ var alertViewController: UIResponder? = viewContainingController()
+
+ var isAlertViewTextField: Bool = false
+
+ while let controller: UIResponder = alertViewController, !isAlertViewTextField {
+
+ if controller is UIAlertController {
+ isAlertViewTextField = true
+ break
+ }
+
+ alertViewController = controller.next
+ }
+
+ return isAlertViewTextField
+ }
+
+ func depth() -> Int {
+ var depth: Int = 0
+
+ if let superView: UIView = base?.superview {
+ depth = superView.iq.depth()+1
+ }
+
+ return depth
+ }
+}
+
+@available(iOSApplicationExtension, unavailable)
+@objc public extension UIView {
+
+ @available(*, unavailable, renamed: "iq.viewContainingController()")
+ func viewContainingController() -> UIViewController? { nil }
+
+ @available(*, unavailable, renamed: "iq.topMostController()")
+ func topMostController() -> UIViewController? { nil }
+
+ @available(*, unavailable, renamed: "iq.parentContainerViewController()")
+ func parentContainerViewController() -> UIViewController? { nil }
+
+ @available(*, unavailable, renamed: "iq.superviewOf(type:belowView:)")
+ func superviewOfClassType(_ classType: UIView.Type, belowView: UIView? = nil) -> UIView? { nil }
+}
--- /dev/null
+//
+// IQUIViewController+Additions.swift
+// https://github.com/hackiftekhar/IQKeyboardManager
+// Copyright (c) 2013-24 Iftekhar Qurashi.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+import UIKit
+
+@available(iOSApplicationExtension, unavailable)
+@MainActor
+@objc extension UIViewController {
+
+ /**
+ This method is provided to override by viewController's
+ if the library lifts a viewController which you doesn't want to lift.
+ This may happen if you have implemented side menu feature
+ in your app and the library try to lift the side menu controller.
+ Overriding this method in side menu class to return correct controller should fix the problem.
+ */
+ open func iq_parentContainerViewController() -> UIViewController? {
+ return self
+ }
+}
+
+@available(iOSApplicationExtension, unavailable)
+@objc extension UIViewController {
+ @available(*, unavailable, renamed: "iq_parentContainerViewController()")
+ open func parentIQContainerViewController() -> UIViewController? {
+ return self
+ }
+}
--- /dev/null
+//
+// MainActor+AssumeIsolated.swift
+// https://github.com/hackiftekhar/IQKeyboardManager
+// Copyright (c) 2013-24 Iftekhar Qurashi.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+import Foundation
+
+extension MainActor {
+ // https://forums.swift.org/t/replacement-for-mainactor-unsafe/65956/2
+ @_unavailableFromAsync
+ static func assumeIsolatedBackDeployed<T: Sendable>(_ body: @MainActor () throws -> T) rethrows -> T {
+#if swift(>=6) // Xcode 16
+ if #available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) {
+ return try assumeIsolated(body)
+ }
+#elseif swift(>=5.9) // Xcode 15
+ if #available(macOS 14.0, iOS 17.0, watchOS 10.0, tvOS 17.0, *) {
+ return try assumeIsolated(body)
+ }
+#endif
+ dispatchPrecondition(condition: .onQueue(.main))
+ return try withoutActuallyEscaping(body) { function in
+ try unsafeBitCast(function, to: (() throws -> T).self)()
+ }
+ }
+}
--- /dev/null
+//
+// UIImage+NextPrevious.swift
+// https://github.com/hackiftekhar/IQKeyboardManager
+// Copyright (c) 2013-24 Iftekhar Qurashi.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+import UIKit
+
+/**
+ UIImage category methods to get next/prev images
+ */
+@available(iOSApplicationExtension, unavailable)
+@objc public extension UIImage {
+
+ static let keyboardPreviousImage: UIImage = {
+ // swiftlint:disable line_length
+ let base64Data: String = "iVBORw0KGgoAAAANSUhEUgAAAD8AAAAkCAYAAAA+TuKHAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAABWWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNS40LjAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyI+CiAgICAgICAgIDx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgpMwidZAAAGmklEQVRoBd1ZWWwbRRie2bVz27s2adPGxzqxqAQCIRA3CDVJGxpKaEtRoSAVISQQggdeQIIHeIAHkOCBFyQeKlARhaYHvUJa0ksVoIgKUKFqKWqdeG2nR1Lsdeo0h73D54iku7NO6ySOk3alyPN//+zM/81/7MyEkDl66j2eJXWK8vocTT82rTgXk/t8vqBNEI9QSp9zOeVkPJnomgs7ik5eUZQ6OxGOEEq9WcKUksdlWbqU0LRfi70ARSXv8Xi8dkE8CsJ+I1FK6BNYgCgW4A8jPtvtopFHqNeWCLbDIF6fkxQjK91O1z9IgRM59bMAFoV8YEFgka1EyBJfMhkH5L9ACFstS9IpRMDJyfoVEp918sGamoVCme0QyN3GG87wAKcTOBYA4hrJKf+VSCb+nsBnqYHVnr2ntra2mpWWH0BVu52fhRH2XSZDmsA/xensokC21Pv9T3J4wcWrq17gob1er7tEhMcJuYsfGoS3hdTweuBpxaM0iCJph8fLuX7DJMPWnI2GOzi8YOKseD4gB+RSQezMRRx5vRPEn88Sz7IIx8KHgT3FCBniWJUyke6o8/uXc3jBxIKTd7vdTsFJfkSo38NbCY/vPRsOPwt81KgLqeoBXc+sBjZsxLF4ZfgM7goqSqMRL1S7oOSrq6sdLodjH0rYfbyByPEOePwZ4CO8Liv3RCL70Wctr8+mA2NkT53P91iu92aCFYx8TU1NpbOi8gfs2R7iDYLxnXqYPg3c5Fm+Xygcbs/omXXATZGBBagQqNAe9Psf4d+ZiVwQ8qjqFVVl5dmi9ShvDEL90IieXtVDevic5ruOyYiAXYiA9YSxsZow0YnSKkKFjoAn8OAENsPGjKs9qnp5iSDuBXFLXsLjR4fSIy29vb2DU7UThW4d8n0zxjXtRVAYNaJnlocikWNTHZPvP1PPl2LLujM3cfbzwJXUyukQzxrZraptRCcbEDm60Wh4S0IE7McByVJQjf3yac+EfEm9ouxAcWu2TsS6koOplr6+vstWXf5IKBrejBR4ybIAlLpE1JE6j8eyh8h/dEKmS95e7w9sy57G+MkQ6sdYMrmiv79/gNdNR0YEbGKUvIIFQMRffRBtbkG0HQj6fHdcRafWmg55Gzy+BR5vtUzF2O96kjSH4nHNopsB0B0Ob6SEvcYvAPYS1UwQDyqLFcu5IZ/pTMUkjxfEoD/wLVY9+z02PXDL8RE9s0y9qMZNigIJcU37TZblfj7aUAMqURLXuqqq9sQHBi5NZbqpkBfh8a9BPLtDMz3wyImh9GhTLBab0uSmQfIQcNQ95pJkDVG3wtgdC1KFA+HaSodjdzKZ/Neou1Y7X/JC0K98BeIvWAdjp+jwUKN6/nyfVVd4JK4lunDrkwJhc6Gl1GGjwhqnLO3UNC2Rz8z5kKfw+EYQf5EfEKF+Wh+kDd0XYxd43WzKiIBfEAEjiIAm0zyUSFiU1XJF+feJy5evW3euR57C41+A+MumSbICY2dGmd6gnlPPWXRFABABP7llCXsA2mCcDjVAJoK4qryycsfAwEDSqOPb1yQPj38O4q/yL4F4aCiTXhqNRmMWXREBFMGjslOywUbToQeyyy4IrVVO53bUgEk/uZOSr/MHPsOd0hs8F4R6mI2ONKi9vRFeNxdyIqkddknOMhA2nyuy+wAqtEol8rbEYCLnZisneXj8UxB/00KGkUiGsqU90WiPRTeHACLgoNsp4eBDHzaagRS4RbCzle6ysq3xVIq/LiMW8ti5fYRVfMs4yFibsdgI05eqqhqy6OYBEE9qnSiCLhRB7tRHFzDR1oIasBU1wHTAMpHHjcmHIP4OzwXf8XMkk24IR6NneN18klEE97mc0gJwuN9oF+SFNlF8vNJR1YYacGVcN0Eet6XvY6Pw3rhi/Bc5fiEzShp7eiOnx7H5/IsI6EAELEIE3Gu0EymwyCbQZocktWEfMHa3MEa+zqe8KwjCB8bO/7f70kxvVGPqyRy6eQshAtpdsuTDN/9us5F0MQ4zTS5BaIsPDQ3jO+5/G+fjj82dIDF2CZeKjd3R6J8W3Y0BYFca+JJQssFqLuvSUqlmESHSiZywGzsgx+OZNFnWE4scN+I3WJshAnYjAm5FBNxptp16y+y2hICLEtOVMXJcI0xvDveGi/ofU7NxBZN0XIpuIIy0mUZkZNNZVf1kDAt6lZagEhjGnxbweh8wdbw5hOwdxHbwY/j9BpTM9xi4MGzFvZhpk3Bz8J5gkb19ym7cJr5w/wEmUjzJqoNVhwAAAABJRU5ErkJggg=="
+ // swiftlint:enable line_length
+
+ // Support for RTL languages like Arabic, Persia etc... (Bug ID: #448)
+ if let data: Data = Data(base64Encoded: base64Data, options: .ignoreUnknownCharacters),
+ let image = UIImage(data: data, scale: 3)?.imageFlippedForRightToLeftLayoutDirection() {
+ return image
+ }
+
+ return UIImage()
+ }()
+
+ static let keyboardNextImage: UIImage = {
+
+ // swiftlint:disable line_length
+ let base64Data: String = "iVBORw0KGgoAAAANSUhEUgAAAD8AAAAkCAYAAAA+TuKHAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAABWWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNS40LjAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyI+CiAgICAgICAgIDx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgpMwidZAAAGp0lEQVRoBd1ZCWhcRRiemff25WrydmOtuXbfZlMo4lEpKkppm6TpZUovC4UqKlQoUhURqQcUBcWDIkhVUCuI9SpJa+2h0VZjUawUEUUUirLNXqmxSnc32WaT7O4bv0nd5R1bc+2maR8s7z9m5v+/+f/5Z94sIf89jW73Yp/bfUuWvwLfDp/H8zhwObLYmCCaPJ6FjLJPCWNHNU1bkFVeQW/Zp2l7KWUvNmlaB3DJAhvz1ntvI5R1EUpnUUKdEifHGuvr519BwKUmj/cDYNtwARNd5/NoH4GWKIhzlFKXCSzn/xCut/jD4V9N8suPYYj4ewC+2e46f55Rwp/geExKSmdzJn2l1WrXmuSXF8MQ8XfyAeeEn9KTyV3MHwq9RTh50IqLEjJHUkh3Y13dPKvuMuApIr6bUHKP1VeE+Y8MIa09Z8/+JQlltD/+Q7VaFcW6X2VsjFmbRRnbUFFZeai/v/+cUTeDaYqIv4GlfL/NR879I3qmORwOnxG6UfCCiMbjJ51VagKdlgs+91BaKVO6oVJVD8bj8WhOPkMJn1t7jTL6gNU9pHpgKJ1q7u3tjWR1OfBCEOuPf+9Sq4YwAW3ZBqNvSqsYpeuc5WUHYolE3KSbQYzP430FwB+yuoSCFtKHaXP4z3DIqDOBFwpkwHfVThXLgrYaG6IGOAmT1pZVVHw8MDDQb9TNBLrJre0E8EdtvnAeSRPeHOwN9lh1NvCiASbgG5fqRLDJEmMHsSU6GFuDGrAfNWDAqLuUNE5uL6A2bbf5wPkZrmdaAuGw36aDIC940TAajx1HBijIgEWmjpRWS4ytrnKq+1EDEibdJWAa3dqzjLGnrKaxxvt4OtXS09v7u1WX5S8KXjRABnQ7VbUCEV+Y7SDeWAJX4dfuLCnZFzt//rxRN500jqo74NvTVptY42fTnLcGI5FTVp2R/1/womEsHj/mwgxg27vd2BH8bCrLq0rKyjoTicSgUTcdNIrbkwD+nM2WOJ3qmaVI9d9sOotgTPCiPTLgi+oqdTbOAbea+lM6xyHLK8pnVXSiCCZNuiIyjZr2GArSS1YTOKie45n0UqT6L1ZdPn5c4EVHHIS6sA3WYLZvNg6E9L9GZmwZzgEdqAFDRl0xaET8EQB/2To21ngsQ0kbIv6zVXcxftzgxQDIgM+qVbUeGbDAPCCtxbfxUhdjHdGhoWGzrnAcIr4NwHflGbGf6PqyQCj0Yx7dRUUTAi9GwQQccapOL7bBm4yjIiPqSElpC5VYRzKZLPgE4M5hK0rt67CDZDM9A+k0XxmIhE6apONgJgxejBmLxw65VHUu/LjRaANeNZQpyhJZUToGBwdHjLqp0Ij4FgB/0wocaxw7DV8F4CcmM/6kwMMQRwYcrFad87DvXW8yTKlbkZVFSmlJB3bBlEk3CQYRvxfA3wbw0Vun7BAAPqjrmfaecPjbrGyib2sKTbS/LG5F4NhGe0d+fDiTuSMSiUx6F8Bn6V343N6TB3gSyb/aHwx22+2OX2KazfF3y7VMnw4FcUvCP8lJcgRtVph0yEu8pTnRBAiv270JwN+1AscQw5zr66YKXLgyVfBijBQc2YQ0PCIY4wPH2yQPERNTYpSPRSPid0qUvY/+1mU5QjJ8PVL96FhjjEdfCPDCzggyAKnPP7cZpWQFlsZ+yPGdMPaDiK/F6fEjbKeypXVK5/pGfyTYZZFPmi0UeOHAcCZI1+Oa6JjVG0SwHbcrnZDn7sytbQSPiLdLTBJXy+Z2nKcR8U09odDhfP0mKyskeBIggaERPb0WGfC1zSFK1gDcXsitER1t6m3wrkTEbRmC5ZTRCd+MiB+wjTlFwVSrfV7zdXV15aWy0oWKvNjWgJMOfyiAIklwYXLhwfd4G/47OAxnTMVRAKec3u0PB8SkFfyxFpSCGMBHTkpWHPsU2bEEKe8xDUrJdfhKnItzgiiEXKvXWhijR9CuzNgOwHWc1+87HQ5+aJQXki4KeOGgOOFJDkdnqeJowSGlweg00vsGHJAa1UpnTJKIAF5u1AM4R8S3APgeo7zQdFHS3uikz+VSSWXVlwBo+hoUbUR0ITfVHQEcEd+K4rbbOE4xaJPhYhg4HY3GcYG4HFB/so5vBT6q53TbdAAXtooe+SzghoaGakWSu2FwflZmfWMffxjAX7XKi8VPG3gBoKam5uoKpeQEDjBz7YD4dpwUd9rlxZMUPe2Nrvf19f2dTKdasap7jHIsiR3TDdxsfxq5xtpazad5g02al+Na6plpND0zTHk8Hp+4iLyU3vwLp0orLWXqrZQAAAAASUVORK5CYII="
+ // swiftlint:enable line_length
+
+ // Support for RTL languages like Arabic, Persia etc... (Bug ID: #448)
+ if let data: Data = Data(base64Encoded: base64Data, options: .ignoreUnknownCharacters),
+ let image = UIImage(data: data, scale: 3)?.imageFlippedForRightToLeftLayoutDirection() {
+ return image
+ }
+
+ return UIImage()
+ }()
+}
--- /dev/null
+MIT License
+
+Copyright (c) 2013-2023 Iftekhar Qurashi
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
--- /dev/null
+<p align="center">
+ <img src="https://raw.githubusercontent.com/hackiftekhar/IQKeyboardManager/master/Demo/Resources/icon.png" alt="Icon"/>
+</p>
+<H1 align="center">IQKeyboardManager</H1>
+<p align="center">
+ <img src="https://img.shields.io/github/license/hackiftekhar/IQKeyboardManager.svg"
+ alt="GitHub license"/>
+
+
+[](https://travis-ci.org/hackiftekhar/IQKeyboardManager)
+
+
+While developing iOS apps, we often run into issues where the iPhone keyboard slides up and covers the `UITextField/UITextView`. `IQKeyboardManager` allows you to prevent this issue of keyboard sliding up and covering `UITextField/UITextView` without needing you to write any code or make any additional setup. To use `IQKeyboardManager` you simply need to add source files to your project.
+
+
+#### Key Features
+
+1) `One Lines of Code`
+
+2) `Works Automatically`
+
+3) `No More UIScrollView`
+
+4) `No More Subclasses`
+
+5) `No More Manual Work`
+
+6) `No More #imports`
+
+`IQKeyboardManager` works on all orientations, and with the toolbar. It also has nice optional features allowing you to customize the distance from the text field, behaviour of previous, next and done buttons in the keyboard toolbar, play sound when the user navigates through the form and more.
+
+
+## Screenshot
+[](http://youtu.be/6nhLw6hju2A)
+[](http://youtu.be/6nhLw6hju2A)
+[](http://youtu.be/6nhLw6hju2A)
+[](http://youtu.be/6nhLw6hju2A)
+[](http://youtu.be/6nhLw6hju2A)
+
+## GIF animation
+[](http://youtu.be/6nhLw6hju2A)
+
+## Video
+
+<a href="http://youtu.be/WAYc2Qj-OQg" target="_blank"><img src="http://img.youtube.com/vi/WAYc2Qj-OQg/0.jpg"
+alt="IQKeyboardManager Demo Video" width="480" height="360" border="10" /></a>
+
+## Tutorial video by @rebeloper ([#1135](https://github.com/hackiftekhar/IQKeyboardManager/issues/1135))
+
+@rebeloper demonstrated two videos on how to implement **IQKeyboardManager** at it's core:
+
+<a href="https://www.youtube.com/playlist?list=PL_csAAO9PQ8aTL87XnueOXi3RpWE2m_8v" target="_blank"><img src="https://raw.githubusercontent.com/hackiftekhar/IQKeyboardManager/master/Screenshot/ThirdPartyYoutubeTutorial.jpg"
+alt="Youtube Tutorial Playlist"/></a>
+
+https://www.youtube.com/playlist?list=PL_csAAO9PQ8aTL87XnueOXi3RpWE2m_8v
+
+## Warning
+
+- **If you're planning to build SDK/library/framework and want to handle UITextField/UITextView with IQKeyboardManager then you're totally going the wrong way.** I would never suggest to add **IQKeyboardManager** as **dependency/adding/shipping** with any third-party library. Instead of adding **IQKeyboardManager** you should implement your own solution to achieve same kind of results. **IQKeyboardManager** is totally designed for projects to help developers for their convenience, it's not designed for **adding/dependency/shipping** with any **third-party library**, because **doing this could block adoption by other developers for their projects as well (who are not using IQKeyboardManager and have implemented their custom solution to handle UITextField/UITextView in the project).**
+- If **IQKeyboardManager** conflicts with other **third-party library**, then it's **developer responsibility** to **enable/disable IQKeyboardManager** when **presenting/dismissing** third-party library UI. Third-party libraries are not responsible to handle IQKeyboardManager.
+
+## Requirements
+[]()
+
+| | Language | Minimum iOS Target | Minimum Xcode Version |
+|------------------------|----------|--------------------|-----------------------|
+| IQKeyboardManager | Obj-C | iOS 11.0 | Xcode 13 |
+| IQKeyboardManagerSwift | Swift | iOS 13.0 | Xcode 13 |
+| Demo Project | | | Xcode 15 |
+
+#### Swift versions support
+
+| Swift | Xcode | IQKeyboardManagerSwift |
+|-------------------|-------|------------------------|
+| 5.9, 5.8, 5.7, 5.6| 15 | >= 7.0.0 |
+| 5.5, 5.4, 5.3, 5.2, 5.1, 5.0, 4.2| 11 | >= 6.5.7 |
+| 5.1, 5.0, 4.2, 4.0, 3.2, 3.0| 11 | >= 6.5.0 |
+| 5.0,4.2, 4.0, 3.2, 3.0| 10.2 | >= 6.2.1 |
+| 4.2, 4.0, 3.2, 3.0| 10.0 | >= 6.0.4 |
+| 4.0, 3.2, 3.0 | 9.0 | 5.0.0 |
+
+## 7.0.0 version notes
+- In this major release, a lot of variables and functions have been moved here and there. We have mentioned most of the major things in the MIGRATION GUIDE. So please take a look to make changes in your project when upgrading to this version.
+- The 7.0.0 version adopted the latest Swift Concurrency/Actor feature and only available iOS 13.0 and above.
+- Internal keyboard management handling have been updated with a different and better approach than legacy versions. However when adopting 7.0.0, please verify if it is working as expected in your apps, if there are any serious problems with 7.0.0 please open an issue with all the details and switch back to legacy version temporarily.
+
+Installation
+==========================
+
+#### Installation with CocoaPods
+
+[](http://cocoadocs.org/docsets/IQKeyboardManager)
+
+***IQKeyboardManager (Objective-C):*** IQKeyboardManager is available through [CocoaPods](http://cocoapods.org). To install
+it, simply add the following line to your Podfile: ([#9](https://github.com/hackiftekhar/IQKeyboardManager/issues/9))
+
+```ruby
+pod 'IQKeyboardManager' #iOS13 and later
+```
+
+***IQKeyboardManager (Swift):*** IQKeyboardManagerSwift is available through [CocoaPods](http://cocoapods.org). To install
+it, simply add the following line to your Podfile: ([#236](https://github.com/hackiftekhar/IQKeyboardManager/issues/236))
+
+*Swift 5.9, 5.8, 5.7, 5.6, 5.5 (Xcode 15)*
+
+```ruby
+pod 'IQKeyboardManagerSwift'
+```
+
+*Or you can choose the version you need based on Swift support table from [Requirements](README.md#requirements)*
+
+```ruby
+pod 'IQKeyboardManagerSwift', '6.3.0'
+```
+
+In AppDelegate.swift, just import IQKeyboardManagerSwift framework and enable IQKeyboardManager.
+
+```swift
+import IQKeyboardManagerSwift
+
+@UIApplicationMain
+class AppDelegate: UIResponder, UIApplicationDelegate {
+
+ var window: UIWindow?
+
+ func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
+
+ IQKeyboardManager.shared.enable = true
+
+ return true
+ }
+}
+```
+
+#### Installation with Carthage
+
+[Carthage](https://github.com/Carthage/Carthage) is a decentralized dependency manager that builds your dependencies and provides you with binary frameworks.
+
+You can install Carthage with [Homebrew](http://brew.sh/) using the following command:
+
+```bash
+$ brew update
+$ brew install carthage
+```
+
+To integrate `IQKeyboardManger` or `IQKeyboardManagerSwift` into your Xcode project using Carthage, add the following line to your `Cartfile`:
+
+```ogdl
+github "hackiftekhar/IQKeyboardManager"
+```
+
+Run `carthage` to build the frameworks and drag the appropriate framework (`IQKeyboardManager.framework` or `IQKeyboardManagerSwift.framework`) into your Xcode project based on your need. Make sure to add only one framework and not both.
+
+
+#### Installation with Source Code
+
+[]()
+
+
+
+***IQKeyboardManager (Objective-C):*** Just ***drag and drop*** `IQKeyboardManager` directory from demo project to your project. That's it.
+
+***IQKeyboardManager (Swift):*** ***Drag and drop*** `IQKeyboardManagerSwift` directory from demo project to your project
+
+In AppDelegate.swift, just enable IQKeyboardManager.
+
+```swift
+@UIApplicationMain
+class AppDelegate: UIResponder, UIApplicationDelegate {
+
+ var window: UIWindow?
+
+ func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
+
+ IQKeyboardManager.shared.enable = true
+
+ return true
+ }
+}
+```
+
+#### Installation with Swift Package Manager
+
+[Swift Package Manager(SPM)](https://swift.org/package-manager/) is Apple's dependency manager tool. It is now supported in Xcode 11. So it can be used in all appleOS types of projects. It can be used alongside other tools like CocoaPods and Carthage as well.
+
+To install IQKeyboardManagerSwift package via Xcode
+
+ * Go to File -> Swift Packages -> Add Package Dependency...
+ * Then search for https://github.com/hackiftekhar/IQKeyboardManager.git
+ * And choose the version you want
+
+Migration Guide
+==========================
+- [IQKeyboardManager 6.0.0 Migration Guide](https://github.com/hackiftekhar/IQKeyboardManager/wiki/IQKeyboardManager-6.0.0-Migration-Guide)
+- [IQKeyboardManager 7.0.0 Migration Guide](https://github.com/hackiftekhar/IQKeyboardManager/wiki/IQKeyboardManager-7.0.0-Migration-Guide)
+
+Other Links
+==========================
+
+- [Known Issues](https://github.com/hackiftekhar/IQKeyboardManager/wiki/Known-Issues)
+- [Manual Management Tweaks](https://github.com/hackiftekhar/IQKeyboardManager/wiki/Manual-Management)
+- [Properties and functions usage](https://github.com/hackiftekhar/IQKeyboardManager/wiki/Properties-&-Functions)
+
+## Flow Diagram
+[](https://raw.githubusercontent.com/hackiftekhar/IQKeyboardManager/master/Screenshot/IQKeyboardManagerFlowDiagram.jpg)
+
+If you would like to see detailed Flow diagram then check [Detailed Flow Diagram](https://raw.githubusercontent.com/hackiftekhar/IQKeyboardManager/v3.3.0/Screenshot/IQKeyboardManagerCFD.jpg).
+
+
+LICENSE
+---
+Distributed under the MIT License.
+
+Contributions
+---
+Any contribution is more than welcome! You can contribute through pull requests and issues on GitHub.
+
+Author
+---
+If you wish to contact me, email at: hack.iftekhar@gmail.com
--- /dev/null
+PODS:
+ - IQKeyboardManagerSwift (7.1.1)
+ - SnapKit (5.7.1)
+ - Toast-Swift (5.1.1)
+
+DEPENDENCIES:
+ - IQKeyboardManagerSwift
+ - SnapKit (~> 5.7.0)
+ - Toast-Swift
+
+SPEC REPOS:
+ https://gitee.com/mirrors/CocoaPods-Specs.git:
+ - IQKeyboardManagerSwift
+ - SnapKit
+ - Toast-Swift
+
+SPEC CHECKSUMS:
+ IQKeyboardManagerSwift: d7f3d3a562c237a0e7335e657cd598c452f57f1b
+ SnapKit: d612e99e678a2d3b95bf60b0705ed0a35c03484a
+ Toast-Swift: 7a03a532afe3a560d4044bc7c237e2864d295173
+
+PODFILE CHECKSUM: 4bbdc884a7c5baa7f070a0c257de0c5b68144a6f
+
+COCOAPODS: 1.16.2
--- /dev/null
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 56;
+ objects = {
+
+/* Begin PBXBuildFile section */
+ 00DE7AE1D2A7B7F94F93458DB7754809 /* IQPreviousNextView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E85435BBABFCFD56B7EF9E6697212B7E /* IQPreviousNextView.swift */; };
+ 064D909CD827405E8DCC309DB1B7775A /* ConstraintLayoutSupportDSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = 38AABFEEFBDD4105F5BFF99D3C8E59CE /* ConstraintLayoutSupportDSL.swift */; };
+ 070601D9903BE1D11DD6DD1367C3F012 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ED3234428715ED881C945B13B58F9250 /* Foundation.framework */; };
+ 09E1F569A93FAD4B9149E30B9301F44A /* ConstraintPriority.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8860AF7CDE4B3C1AFE143BE010DCA041 /* ConstraintPriority.swift */; };
+ 0C7E48CC6391092D8F5B4341E1EE7485 /* Toast-Swift-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 6480E2EA7CA54E0E42264119F3DD71AD /* Toast-Swift-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 0CA7A132ABE7018DE9295456732F38BB /* ConstraintAttributes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 28D2337421B60A473CD4C044E069484B /* ConstraintAttributes.swift */; };
+ 0DDF4216E3E48EF14B994DEAF828EEA2 /* IQKeyboardManager+Internal.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAC87C7CE96871270C101D7F8EBE0A3D /* IQKeyboardManager+Internal.swift */; };
+ 0DE5DB9C6227B3416778D8417DD95EA9 /* ConstraintView+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E7502DF550C07D50EEC4D85AC276061 /* ConstraintView+Extensions.swift */; };
+ 1194E62AA3F6F506799B1A43B16942B5 /* ConstraintDirectionalInsets.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7359C5366E43E1907650C5A863ECA683 /* ConstraintDirectionalInsets.swift */; };
+ 11B67C495111E3AA200F8E6852A73A55 /* IQKeyboardManagerSwift-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = B670392E9D2D684F633CC90B5587F702 /* IQKeyboardManagerSwift-dummy.m */; };
+ 139F8FB4B5A5FA7A297976A723CDCC9A /* IQUITextFieldView+Additions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2EB2A643D562618B99FBF0A0B2D33D2B /* IQUITextFieldView+Additions.swift */; };
+ 172B6B4E5550420B8131FBD62C975821 /* Toast.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7D8FD8BB27FDD914F91F6033577D8C8C /* Toast.swift */; };
+ 17850B3BCF62F3E9C80608BF8B16291A /* IQTextFieldViewListener.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1B762AC05EB903CB7142202224E8B187 /* IQTextFieldViewListener.swift */; };
+ 1ACC61B072F4BB20E73C2F462A7E16FB /* UIImage+NextPrevious.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA7AA919DFBAE3752F49D688B9C019DD /* UIImage+NextPrevious.swift */; };
+ 205EB01AED14BB574DD54EAFE26E4786 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ED3234428715ED881C945B13B58F9250 /* Foundation.framework */; };
+ 2B2EB369550CE92CEEFCBFD3D32B8A3F /* ConstraintInsetTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = D3F8D179AF556D50D6BF4F71AC2B45E5 /* ConstraintInsetTarget.swift */; };
+ 3577F172FA68CBAE47CFEE6FE25C5404 /* ConstraintOffsetTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7B786AD23AC011C7A9C451AEE9791523 /* ConstraintOffsetTarget.swift */; };
+ 3A3D2697E544C969F5C736F404A1BB66 /* IQKeyboardManagerSwift-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 81E89D6561DC8A1E0CBA0ED55E074E46 /* IQKeyboardManagerSwift-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 3CBB581828D3D4237FF0E318F3457FC9 /* IQBarButtonItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = F5D4B046C004C89840FD41919DA848ED /* IQBarButtonItem.swift */; };
+ 3D3B646B4988314275B40E97BEB16C7F /* ConstraintLayoutGuideDSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = E9BD95591930D45D768ABE6E85A729CD /* ConstraintLayoutGuideDSL.swift */; };
+ 3EEB67A2DC733DD8677E443D43BA9A5A /* IQKeyboardInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = E9772F0CC15AB90A422885ED47164415 /* IQKeyboardInfo.swift */; };
+ 45B3D0DA40BE97096DE3CDECE622585E /* IQKeyboardManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = D63AC5FF4C8B919A3BF3D780A5CFF10B /* IQKeyboardManager.swift */; };
+ 4F4DEB687C0E4834A5B291DEE0651D6A /* ConstraintMaker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1D356761FB2DAA9C91DF8D9D126DE637 /* ConstraintMaker.swift */; };
+ 54D89FF142C65EDD590F8651A0CFCB6E /* IQTextView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8841E119B0141289D182E582BE7277C /* IQTextView.swift */; };
+ 57C4F6EFB30DDD14E960AC2D6B34F904 /* SnapKit-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = A0DBC24939A32FDF60D4274B29B62A66 /* SnapKit-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 57EA452F77A51C3654DBC92A9A2B771A /* IQUIScrollView+Additions.swift in Sources */ = {isa = PBXBuildFile; fileRef = C1805F77AB3F135F0A35F48C1124283E /* IQUIScrollView+Additions.swift */; };
+ 5922A6A0AE7152CF436356B3556F1835 /* ConstraintItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = EEDED7281E5EFA018E864E104E2D7C3B /* ConstraintItem.swift */; };
+ 595079712F4E905BEEC8C8EAA167EA03 /* IQToolbarConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = DC865F72E5F47038DDA969FCC4136472 /* IQToolbarConfiguration.swift */; };
+ 59E13CB1013047AB75A9B464B1D82C2F /* IQKeyboardConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBE86E23D0923F9E6C71B2FB2E435963 /* IQKeyboardConfiguration.swift */; };
+ 59F34874DA4ABB2F5C4E09EA6865936B /* ConstraintLayoutGuide.swift in Sources */ = {isa = PBXBuildFile; fileRef = CA1B618A2D4FFF48117063DC941E3814 /* ConstraintLayoutGuide.swift */; };
+ 5CA32A2520B7868CF67B02C1C830F5A8 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A912741BDA04F14F5D091E6DD6B95F90 /* QuartzCore.framework */; };
+ 5D269576532F504523EAA39DDB1557F4 /* IQKeyboardManager+Debug.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA3BF63EDEE01B4EBDE785204C0EA42F /* IQKeyboardManager+Debug.swift */; };
+ 663F1294E62250BD0DF7888F2173B0D6 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9CE1B6592A29ADBBC5FB53143C4D4955 /* CoreGraphics.framework */; };
+ 67FE77018A04D8691A906DECD6CFFCA2 /* IQKeyboardReturnKeyHandler+TextViewDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1D832084CF440FCE5F20FBC5B98997D5 /* IQKeyboardReturnKeyHandler+TextViewDelegate.swift */; };
+ 68D7B750E799100042584648B0634DDD /* IQTitleBarButtonItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A6A6F4E0441FEC671A89F081D3C468B /* IQTitleBarButtonItem.swift */; };
+ 6C08C17E6D1DB2B4D1D0669F59F09368 /* IQKeyboardManagerCompatible.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC5D6F56C551358D37CD3CC8CDADB308 /* IQKeyboardManagerCompatible.swift */; };
+ 6DD19D888A917365E4C36AFE31FA2C27 /* IQKeyboardManager+Position.swift in Sources */ = {isa = PBXBuildFile; fileRef = 28A29EBBD8A8588B67A9C3148F9D0740 /* IQKeyboardManager+Position.swift */; };
+ 6E39129FC8643A70C276801FEF4C280D /* Constraint.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7827F4A9CC80D317E7EC0632D268B40D /* Constraint.swift */; };
+ 70364D5528E3495AA5DE40030C0852B8 /* IQUITableView+Additions.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA3F3E99485012C444C03D8AEFAE4EDB /* IQUITableView+Additions.swift */; };
+ 72E7B39F6D1F97F30C08E04D211D304E /* IQKeyboardReturnKeyHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31CF3B3E56A735C453C5F18DEA482DFF /* IQKeyboardReturnKeyHandler.swift */; };
+ 742CBD9F365744155B66ADE0EC6CF94B /* IQToolbarPlaceholderConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 79C58FD990400B8AB18178EF88ED66BE /* IQToolbarPlaceholderConfiguration.swift */; };
+ 743A1D7C259156C99A14E4B1FD01A52C /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 69301F4E598400CA4CB88505EAF858B1 /* UIKit.framework */; };
+ 7AF516B98D45391B909D507D0244104C /* ConstraintDescription.swift in Sources */ = {isa = PBXBuildFile; fileRef = 24AF392592ADF9A6B7D56DEF6A064AFC /* ConstraintDescription.swift */; };
+ 7B0BC17748C9775A8299A96D501CE5A8 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A912741BDA04F14F5D091E6DD6B95F90 /* QuartzCore.framework */; };
+ 7D42390CDB4FA147504B03DA2A174A0C /* ConstraintViewDSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = 786DA7E2F26C5CB8966412310C7277CC /* ConstraintViewDSL.swift */; };
+ 83A2615D5A90DC223EA13831DFA4CE13 /* IQUIView+IQKeyboardToolbarDeprecated.swift in Sources */ = {isa = PBXBuildFile; fileRef = 267E8F754906E07A8B9DAF989F7C09C0 /* IQUIView+IQKeyboardToolbarDeprecated.swift */; };
+ 84585A9E2B8E7FEB3F01C4A65DDEA3AA /* Pods-Example-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = D6D7C498FA339E02BD53ECB8916CEA8E /* Pods-Example-dummy.m */; };
+ 851B0A1B6750B5464D9300F8DE62CAF2 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ED3234428715ED881C945B13B58F9250 /* Foundation.framework */; };
+ 868A9F524A7985BDA1EA124D9BF4CA63 /* ConstraintDSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7177E0F7EDAAACF7F30BF86978047DA8 /* ConstraintDSL.swift */; };
+ 86CAB01D950C8BC35EDE0BDC01A2500B /* ConstraintView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C660EC43022B9B30F27A2D41B4FEF7A5 /* ConstraintView.swift */; };
+ 87E921A1D8B0C683DA2133709C867859 /* Toast-Swift-Toast-Swift in Resources */ = {isa = PBXBuildFile; fileRef = 13FD39576595D8A884BF5166065C5236 /* Toast-Swift-Toast-Swift */; };
+ 883EDEE1C699497CF2A77C3B8A32A790 /* ConstraintMultiplierTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = FA043C571AB1FB654FCD317C806CC6EA /* ConstraintMultiplierTarget.swift */; };
+ 8BABA32F7B94A25D8E9208C0A8D90B2E /* ConstraintMakerRelatable+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 781F4E8646637FD21213695B7845466E /* ConstraintMakerRelatable+Extensions.swift */; };
+ 8E009955E1CD921871B03BCDDCE7650F /* Pods-Example-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 7825A90E082A1582EB16256B0E722B3F /* Pods-Example-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 8ECCBA8E91C632E4F56D0D7F40F135F9 /* IQKeyboardManager+UITextFieldViewNotification.swift in Sources */ = {isa = PBXBuildFile; fileRef = 18322484F39B0AA1F691FBFCCCA1C3FB /* IQKeyboardManager+UITextFieldViewNotification.swift */; };
+ 9A578D9CD4BEC7C1168A1D9820DE40A8 /* IQKeyboardManager+ToolbarActions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2168A4DBBB0E9A91E7BB3EBCDFF7413A /* IQKeyboardManager+ToolbarActions.swift */; };
+ 9AD8B9EFD0F8D7B60A5DC4359601ED60 /* MainActor+AssumeIsolated.swift in Sources */ = {isa = PBXBuildFile; fileRef = 10D70A661E9C006E9436199E3F97E55E /* MainActor+AssumeIsolated.swift */; };
+ 9E0045B41BFE697DB4ADE151228024D2 /* SnapKit-SnapKit_Privacy in Resources */ = {isa = PBXBuildFile; fileRef = B9DCB5EC0B1CDADD221717CADDF62359 /* SnapKit-SnapKit_Privacy */; };
+ A267DD79A7AAD3036D940CDE6249255B /* IQNSArray+Sort.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C494A65C968572398F4DD06447758FA /* IQNSArray+Sort.swift */; };
+ A9B5C45C3C4D517B581E536DE846A078 /* Toast-Swift-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 78B84BA581D1B72D71D33EAA79EF9EAD /* Toast-Swift-dummy.m */; };
+ A9D7688EFF99BED99A406255EBFCCC6D /* IQUIViewController+Additions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 71F58B658A639080D77D592017E8BED5 /* IQUIViewController+Additions.swift */; };
+ AABEF13464BA7F4621BD94736C1D057C /* ConstraintMakerPrioritizable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 83068BD0213FBA725C02317AD3423FAB /* ConstraintMakerPrioritizable.swift */; };
+ ABCE13FE54D5DEE5CD02838201676A92 /* IQTextFieldViewInfoModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9945075F6E108B8ACAF8F32A238211BB /* IQTextFieldViewInfoModel.swift */; };
+ AE224EDB6D044C0FE86B086E950FC2F9 /* Debugging.swift in Sources */ = {isa = PBXBuildFile; fileRef = B49DC626E7DAE3E057513F2EE3D4E9A0 /* Debugging.swift */; };
+ AF022BD7571EF5BCBB1EF3F1FD8EB7DD /* IQRootControllerConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = D885C8DF1AD7EC186F0CD564F9CFDDCC /* IQRootControllerConfiguration.swift */; };
+ AF760C78F1C7E11BF7CB9E9B29903530 /* ConstraintInsets.swift in Sources */ = {isa = PBXBuildFile; fileRef = A4CC9447079CFC0CE0B24F0B709A13B5 /* ConstraintInsets.swift */; };
+ B0786F3CFD6093FC5FEDE748445C6FAC /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ED3234428715ED881C945B13B58F9250 /* Foundation.framework */; };
+ B0875E3AB8718E7DFE5C53497C02A15E /* ConstraintLayoutSupport.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF4474210B83011E99ECFA42B0FBEF0F /* ConstraintLayoutSupport.swift */; };
+ B903049E7C1BED7918DAB208754107C7 /* ConstraintMakerFinalizable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0309EC85084CD7E4C3E4F71EA2E881AE /* ConstraintMakerFinalizable.swift */; };
+ BA2FB695DEB0D179253EEB8DFCE3578B /* SnapKit-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 9AF26C3D88411B38B1261FB7CF12D76B /* SnapKit-dummy.m */; };
+ BBF8220B30095D0EB91D4933B4769D9E /* IQActiveConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = C32EB114A07F0FA10A26E8BF6D41434A /* IQActiveConfiguration.swift */; };
+ BDA5C7CC91E86448237CF40954FAC5AF /* ConstraintMakerRelatable.swift in Sources */ = {isa = PBXBuildFile; fileRef = F7EBF485974C47A16B03CF21FC82DA44 /* ConstraintMakerRelatable.swift */; };
+ BF1AE4D97E813B95C43EA4A298B973D1 /* LayoutConstraint.swift in Sources */ = {isa = PBXBuildFile; fileRef = 504C0FC5F20876E193F2FF38C0EA5088 /* LayoutConstraint.swift */; };
+ C07CB3E9A4D1BF00F841E4285629A2B2 /* ConstraintRelatableTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA5D78DC6B04FB370A2753ECC47B870A /* ConstraintRelatableTarget.swift */; };
+ C14F10B663FE2898EACAB90C202B3F50 /* ConstraintMakerEditable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9A94C4F2E1128ACF0FC8B4DD926D387E /* ConstraintMakerEditable.swift */; };
+ C347AB10AA080AEF17907D23CBE8C810 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = C9BD6044E2352EFA372C1004BF1CB58C /* PrivacyInfo.xcprivacy */; };
+ C3E307D86BC99500B675C38EDCBFB0AC /* IQInvocation.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDB92A2A172FC35DD4E24E6A6B5103EB /* IQInvocation.swift */; };
+ C6A4302ACE006C4E2CDD481287E2916B /* Typealiases.swift in Sources */ = {isa = PBXBuildFile; fileRef = 335622869A4630904A6E5FB9C4AC03AA /* Typealiases.swift */; };
+ C6F45595676957ADBEC18EB3F23EAEC4 /* LayoutConstraintItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 02EE4CC7F651DC165672D48020AB0277 /* LayoutConstraintItem.swift */; };
+ C892112213688A3A4523CDD9F323998B /* IQKeyboardReturnKeyHandler+TextFieldDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = EE101B4C70CDDC67D0D10026A117A845 /* IQKeyboardReturnKeyHandler+TextFieldDelegate.swift */; };
+ CE593943A9E7CF83822CF60304BCAD43 /* ConstraintConstantTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E89228FBA1EC8803A71B4301EA4F99D /* ConstraintConstantTarget.swift */; };
+ D0C9D7424D667076070CE75180ECCD6B /* IQToolbar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D0AC40B4B0DD69F0C6198DB43846BE0 /* IQToolbar.swift */; };
+ D38710A2338E377897571CC4051F85B5 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 45336DFC6C88342A9F741D2FEE970C1F /* PrivacyInfo.xcprivacy */; };
+ D4218DA55B2BA45937589200CC0DF1FB /* ConstraintMakerExtendable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 26D795F47486ED2F87593ABBA15C0100 /* ConstraintMakerExtendable.swift */; };
+ D4E8DE674C6B890FE9D56D40BA77DD15 /* IQUIView+Hierarchy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09C831BC0433AB4F6D60421796F44B70 /* IQUIView+Hierarchy.swift */; };
+ D5DB713D87E6A5525B6B9DA5F706E0FB /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = E06137D498517DD9E8DA43F974135CE5 /* PrivacyInfo.xcprivacy */; };
+ DBA4803F4765E1650B8C6841157F5D73 /* ConstraintPriorityTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7E51A9F23CAB98CBAB848469E2D2E183 /* ConstraintPriorityTarget.swift */; };
+ DC00471B9629D6BA4DECB8796D6532EC /* IQKeyboardListener.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4209C4E6D3813FBA036449385A05EFCE /* IQKeyboardListener.swift */; };
+ DDE98DAE6570A84BB1C07E14DA12C4D4 /* IQKeyboardManager+UIKeyboardNotification.swift in Sources */ = {isa = PBXBuildFile; fileRef = F99AAB2A26686038394AE2120B949E6D /* IQKeyboardManager+UIKeyboardNotification.swift */; };
+ E37671A03B4C17A1CF3766A6125833BB /* ConstraintDirectionalInsetTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9820093DBE06A8821B66BA89A7BCEB75 /* ConstraintDirectionalInsetTarget.swift */; };
+ E3D779DEE753C0B0D33BA8E73A980265 /* ConstraintLayoutGuide+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63E5CC4BB2BF49880BCB01A6523F1118 /* ConstraintLayoutGuide+Extensions.swift */; };
+ E3FD0840B77157C01FF5D52E72B31664 /* IQKeyboardManagerSwift-IQKeyboardManagerSwift in Resources */ = {isa = PBXBuildFile; fileRef = 8D8069D3964814114ACEC3084C010B59 /* IQKeyboardManagerSwift-IQKeyboardManagerSwift */; };
+ E5F8F6C107339F507114C3AB566ED585 /* IQUIView+IQKeyboardToolbar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F3B65F524DB021715BC12735F4870B5 /* IQUIView+IQKeyboardToolbar.swift */; };
+ E7095898E9F45BD384B5BF177B642AFD /* IQUICollectionView+Additions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4BB8E305B8F5BBD09897C3EEC890F39B /* IQUICollectionView+Additions.swift */; };
+ E7E7C94378820F81492BCF0CB798D46C /* IQKeyboardManager+Toolbar.swift in Sources */ = {isa = PBXBuildFile; fileRef = FDFF3215A962C67DD4B1E824B649F8CC /* IQKeyboardManager+Toolbar.swift */; };
+ EB6131723350AB4DCB5AEDF242D458AC /* IQScrollViewConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 623266148C6A711F78F24ADF46E86438 /* IQScrollViewConfiguration.swift */; };
+ ECC5C2ADC2682F9171FEA22AF10DCE53 /* ConstraintRelation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2C7B65D34762D57F480123BE480B818E /* ConstraintRelation.swift */; };
+ EE49210BAAF30051C28298E265D3D659 /* IQPlaceholderable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 837896B623DE365258BB6DF4FC55ACFA /* IQPlaceholderable.swift */; };
+ F633379AD81BA605AB1B01385C4B9248 /* IQKeyboardManagerConstants.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6FC25131FACCDC8438C5F554800DC097 /* IQKeyboardManagerConstants.swift */; };
+ F6F33E8B268F3D41075374D95B8088DC /* UILayoutSupport+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 06A48ED9920272E365B9A2DBAD5ACC2F /* UILayoutSupport+Extensions.swift */; };
+ F86C621FA07210C325437A3D8FA7CC68 /* IQKeyboardManager+Deprecated.swift in Sources */ = {isa = PBXBuildFile; fileRef = 14DFA4E68F4494F72B504BD1DD4BEDC9 /* IQKeyboardManager+Deprecated.swift */; };
+ F9EBA65892D78A31C068D727D84BCB88 /* ConstraintConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = FDF7C6BB5F4F37EB3CCB77A22DD4C540 /* ConstraintConfig.swift */; };
+ FA0B149FAA1A1C60DA9B92EC2569520E /* IQBarButtonItemConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33A5157610B3BA3E11D9587B92F4C397 /* IQBarButtonItemConfiguration.swift */; };
+ FE4B49773ED7A97B84316CF892D5D455 /* IQTextFieldViewInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3EBE1544A39BAB189DEDDA0F4545147E /* IQTextFieldViewInfo.swift */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXContainerItemProxy section */
+ 2C3890DB22C3798DBD04FF11BB1E3763 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = B990BD87169C76A3ED3FE8A9258D91A3;
+ remoteInfo = "Toast-Swift";
+ };
+ 7516A63BFCBFC4EE43188C5CC5C9C90F /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 8A8DB685241263AFDF5E6B20FE67B93A;
+ remoteInfo = "SnapKit-SnapKit_Privacy";
+ };
+ C04B96E80AC4BC69934A81924717A242 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = C344E85893FCDEE5B70436E0A4A3472B;
+ remoteInfo = "Toast-Swift-Toast-Swift";
+ };
+ D63BD9F2997AAB93FD047009D145B137 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 19622742EBA51E823D6DAE3F8CDBFAD4;
+ remoteInfo = SnapKit;
+ };
+ DDE9D020CDC7E91D5827DFE3287EB2CA /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = B490E7485944099E16C9CBD79119D1D4;
+ remoteInfo = IQKeyboardManagerSwift;
+ };
+ EEE971D13C12B11703BA672AF4AA9EBE /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 982A68D37F5DCBC1FC1FDC0BB2F0EB8E;
+ remoteInfo = "IQKeyboardManagerSwift-IQKeyboardManagerSwift";
+ };
+/* End PBXContainerItemProxy section */
+
+/* Begin PBXFileReference section */
+ 02EE4CC7F651DC165672D48020AB0277 /* LayoutConstraintItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = LayoutConstraintItem.swift; path = Sources/LayoutConstraintItem.swift; sourceTree = "<group>"; };
+ 0309EC85084CD7E4C3E4F71EA2E881AE /* ConstraintMakerFinalizable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMakerFinalizable.swift; path = Sources/ConstraintMakerFinalizable.swift; sourceTree = "<group>"; };
+ 05ADABC71B19770B1EC37350B70BE449 /* IQKeyboardManagerSwift.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = IQKeyboardManagerSwift.modulemap; sourceTree = "<group>"; };
+ 05C92DF614B75B78526637B00FED4FDB /* IQKeyboardManagerSwift.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = IQKeyboardManagerSwift.release.xcconfig; sourceTree = "<group>"; };
+ 06A48ED9920272E365B9A2DBAD5ACC2F /* UILayoutSupport+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UILayoutSupport+Extensions.swift"; path = "Sources/UILayoutSupport+Extensions.swift"; sourceTree = "<group>"; };
+ 09C831BC0433AB4F6D60421796F44B70 /* IQUIView+Hierarchy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQUIView+Hierarchy.swift"; path = "IQKeyboardManagerSwift/UIKitExtensions/IQUIView+Hierarchy.swift"; sourceTree = "<group>"; };
+ 0C1553D064BF9CC76243991B2983E53D /* IQKeyboardManagerSwift-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "IQKeyboardManagerSwift-Info.plist"; sourceTree = "<group>"; };
+ 10D70A661E9C006E9436199E3F97E55E /* MainActor+AssumeIsolated.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "MainActor+AssumeIsolated.swift"; path = "IQKeyboardManagerSwift/UIKitExtensions/MainActor+AssumeIsolated.swift"; sourceTree = "<group>"; };
+ 13FD39576595D8A884BF5166065C5236 /* Toast-Swift-Toast-Swift */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; name = "Toast-Swift-Toast-Swift"; path = "Toast-Swift.bundle"; sourceTree = BUILT_PRODUCTS_DIR; };
+ 14DFA4E68F4494F72B504BD1DD4BEDC9 /* IQKeyboardManager+Deprecated.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQKeyboardManager+Deprecated.swift"; path = "IQKeyboardManagerSwift/IQKeyboardManager/IQKeyboardManager+Deprecated.swift"; sourceTree = "<group>"; };
+ 157412EB9B9CCDC0D9BB2C649A235073 /* ResourceBundle-Toast-Swift-Toast-Swift-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "ResourceBundle-Toast-Swift-Toast-Swift-Info.plist"; sourceTree = "<group>"; };
+ 18322484F39B0AA1F691FBFCCCA1C3FB /* IQKeyboardManager+UITextFieldViewNotification.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQKeyboardManager+UITextFieldViewNotification.swift"; path = "IQKeyboardManagerSwift/IQKeyboardManager/IQKeyboardManager+UITextFieldViewNotification.swift"; sourceTree = "<group>"; };
+ 1B762AC05EB903CB7142202224E8B187 /* IQTextFieldViewListener.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQTextFieldViewListener.swift; path = IQKeyboardManagerSwift/LIsteners/IQTextFieldViewListener.swift; sourceTree = "<group>"; };
+ 1D356761FB2DAA9C91DF8D9D126DE637 /* ConstraintMaker.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMaker.swift; path = Sources/ConstraintMaker.swift; sourceTree = "<group>"; };
+ 1D832084CF440FCE5F20FBC5B98997D5 /* IQKeyboardReturnKeyHandler+TextViewDelegate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQKeyboardReturnKeyHandler+TextViewDelegate.swift"; path = "IQKeyboardManagerSwift/ReturnKeyHandler/IQKeyboardReturnKeyHandler+TextViewDelegate.swift"; sourceTree = "<group>"; };
+ 1F667CC0E19EAF34E5A4119E2121F585 /* Pods-Example */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = "Pods-Example"; path = Pods_Example.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+ 2168A4DBBB0E9A91E7BB3EBCDFF7413A /* IQKeyboardManager+ToolbarActions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQKeyboardManager+ToolbarActions.swift"; path = "IQKeyboardManagerSwift/IQKeyboardManager/IQKeyboardManager+ToolbarActions.swift"; sourceTree = "<group>"; };
+ 243410B9535472556EA4BB6DBC133A0D /* Pods-Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Example.release.xcconfig"; sourceTree = "<group>"; };
+ 24AF392592ADF9A6B7D56DEF6A064AFC /* ConstraintDescription.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintDescription.swift; path = Sources/ConstraintDescription.swift; sourceTree = "<group>"; };
+ 267E8F754906E07A8B9DAF989F7C09C0 /* IQUIView+IQKeyboardToolbarDeprecated.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQUIView+IQKeyboardToolbarDeprecated.swift"; path = "IQKeyboardManagerSwift/IQToolbar/IQUIView+IQKeyboardToolbarDeprecated.swift"; sourceTree = "<group>"; };
+ 26D795F47486ED2F87593ABBA15C0100 /* ConstraintMakerExtendable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMakerExtendable.swift; path = Sources/ConstraintMakerExtendable.swift; sourceTree = "<group>"; };
+ 28A29EBBD8A8588B67A9C3148F9D0740 /* IQKeyboardManager+Position.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQKeyboardManager+Position.swift"; path = "IQKeyboardManagerSwift/IQKeyboardManager/IQKeyboardManager+Position.swift"; sourceTree = "<group>"; };
+ 28D2337421B60A473CD4C044E069484B /* ConstraintAttributes.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintAttributes.swift; path = Sources/ConstraintAttributes.swift; sourceTree = "<group>"; };
+ 2A6A6F4E0441FEC671A89F081D3C468B /* IQTitleBarButtonItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQTitleBarButtonItem.swift; path = IQKeyboardManagerSwift/IQToolbar/IQTitleBarButtonItem.swift; sourceTree = "<group>"; };
+ 2C7B65D34762D57F480123BE480B818E /* ConstraintRelation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintRelation.swift; path = Sources/ConstraintRelation.swift; sourceTree = "<group>"; };
+ 2EB2A643D562618B99FBF0A0B2D33D2B /* IQUITextFieldView+Additions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQUITextFieldView+Additions.swift"; path = "IQKeyboardManagerSwift/UIKitExtensions/IQUITextFieldView+Additions.swift"; sourceTree = "<group>"; };
+ 31C1D37707DFAA5E6A164BCC07834264 /* Pods-Example-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-Example-Info.plist"; sourceTree = "<group>"; };
+ 31CF3B3E56A735C453C5F18DEA482DFF /* IQKeyboardReturnKeyHandler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQKeyboardReturnKeyHandler.swift; path = IQKeyboardManagerSwift/ReturnKeyHandler/IQKeyboardReturnKeyHandler.swift; sourceTree = "<group>"; };
+ 335622869A4630904A6E5FB9C4AC03AA /* Typealiases.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Typealiases.swift; path = Sources/Typealiases.swift; sourceTree = "<group>"; };
+ 33A5157610B3BA3E11D9587B92F4C397 /* IQBarButtonItemConfiguration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQBarButtonItemConfiguration.swift; path = IQKeyboardManagerSwift/Configuration/IQBarButtonItemConfiguration.swift; sourceTree = "<group>"; };
+ 35C305D3797C284E6F5BAA1D3E6F9BF8 /* Pods-Example.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-Example.modulemap"; sourceTree = "<group>"; };
+ 38AABFEEFBDD4105F5BFF99D3C8E59CE /* ConstraintLayoutSupportDSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintLayoutSupportDSL.swift; path = Sources/ConstraintLayoutSupportDSL.swift; sourceTree = "<group>"; };
+ 3C494A65C968572398F4DD06447758FA /* IQNSArray+Sort.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQNSArray+Sort.swift"; path = "IQKeyboardManagerSwift/UIKitExtensions/IQNSArray+Sort.swift"; sourceTree = "<group>"; };
+ 3D0AC40B4B0DD69F0C6198DB43846BE0 /* IQToolbar.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQToolbar.swift; path = IQKeyboardManagerSwift/IQToolbar/IQToolbar.swift; sourceTree = "<group>"; };
+ 3EBE1544A39BAB189DEDDA0F4545147E /* IQTextFieldViewInfo.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQTextFieldViewInfo.swift; path = IQKeyboardManagerSwift/LIsteners/Info/IQTextFieldViewInfo.swift; sourceTree = "<group>"; };
+ 4209C4E6D3813FBA036449385A05EFCE /* IQKeyboardListener.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQKeyboardListener.swift; path = IQKeyboardManagerSwift/LIsteners/IQKeyboardListener.swift; sourceTree = "<group>"; };
+ 441854E35F81731E63E53DC7E4EEAD9D /* Pods-Example-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-Example-acknowledgements.markdown"; sourceTree = "<group>"; };
+ 45336DFC6C88342A9F741D2FEE970C1F /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; includeInIndex = 1; name = PrivacyInfo.xcprivacy; path = IQKeyboardManagerSwift/PrivacyInfo.xcprivacy; sourceTree = "<group>"; };
+ 4BB8E305B8F5BBD09897C3EEC890F39B /* IQUICollectionView+Additions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQUICollectionView+Additions.swift"; path = "IQKeyboardManagerSwift/UIKitExtensions/IQUICollectionView+Additions.swift"; sourceTree = "<group>"; };
+ 4E89228FBA1EC8803A71B4301EA4F99D /* ConstraintConstantTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintConstantTarget.swift; path = Sources/ConstraintConstantTarget.swift; sourceTree = "<group>"; };
+ 504C0FC5F20876E193F2FF38C0EA5088 /* LayoutConstraint.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = LayoutConstraint.swift; path = Sources/LayoutConstraint.swift; sourceTree = "<group>"; };
+ 5F3B65F524DB021715BC12735F4870B5 /* IQUIView+IQKeyboardToolbar.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQUIView+IQKeyboardToolbar.swift"; path = "IQKeyboardManagerSwift/IQToolbar/IQUIView+IQKeyboardToolbar.swift"; sourceTree = "<group>"; };
+ 5FDBFEC1141A4D55C757D492BC2C20DA /* Toast-Swift.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Toast-Swift.modulemap"; sourceTree = "<group>"; };
+ 623266148C6A711F78F24ADF46E86438 /* IQScrollViewConfiguration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQScrollViewConfiguration.swift; path = IQKeyboardManagerSwift/Configuration/IQScrollViewConfiguration.swift; sourceTree = "<group>"; };
+ 63E5CC4BB2BF49880BCB01A6523F1118 /* ConstraintLayoutGuide+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ConstraintLayoutGuide+Extensions.swift"; path = "Sources/ConstraintLayoutGuide+Extensions.swift"; sourceTree = "<group>"; };
+ 6480E2EA7CA54E0E42264119F3DD71AD /* Toast-Swift-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Toast-Swift-umbrella.h"; sourceTree = "<group>"; };
+ 69301F4E598400CA4CB88505EAF858B1 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS18.0.sdk/System/Library/Frameworks/UIKit.framework; sourceTree = DEVELOPER_DIR; };
+ 6E7502DF550C07D50EEC4D85AC276061 /* ConstraintView+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ConstraintView+Extensions.swift"; path = "Sources/ConstraintView+Extensions.swift"; sourceTree = "<group>"; };
+ 6FC25131FACCDC8438C5F554800DC097 /* IQKeyboardManagerConstants.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQKeyboardManagerConstants.swift; path = IQKeyboardManagerSwift/Constants/IQKeyboardManagerConstants.swift; sourceTree = "<group>"; };
+ 711E832E092D12FB2F90CE913442DA20 /* ResourceBundle-IQKeyboardManagerSwift-IQKeyboardManagerSwift-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "ResourceBundle-IQKeyboardManagerSwift-IQKeyboardManagerSwift-Info.plist"; sourceTree = "<group>"; };
+ 7177E0F7EDAAACF7F30BF86978047DA8 /* ConstraintDSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintDSL.swift; path = Sources/ConstraintDSL.swift; sourceTree = "<group>"; };
+ 71F58B658A639080D77D592017E8BED5 /* IQUIViewController+Additions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQUIViewController+Additions.swift"; path = "IQKeyboardManagerSwift/UIKitExtensions/IQUIViewController+Additions.swift"; sourceTree = "<group>"; };
+ 7359C5366E43E1907650C5A863ECA683 /* ConstraintDirectionalInsets.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintDirectionalInsets.swift; path = Sources/ConstraintDirectionalInsets.swift; sourceTree = "<group>"; };
+ 781F4E8646637FD21213695B7845466E /* ConstraintMakerRelatable+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ConstraintMakerRelatable+Extensions.swift"; path = "Sources/ConstraintMakerRelatable+Extensions.swift"; sourceTree = "<group>"; };
+ 7825A90E082A1582EB16256B0E722B3F /* Pods-Example-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-Example-umbrella.h"; sourceTree = "<group>"; };
+ 7827F4A9CC80D317E7EC0632D268B40D /* Constraint.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Constraint.swift; path = Sources/Constraint.swift; sourceTree = "<group>"; };
+ 786DA7E2F26C5CB8966412310C7277CC /* ConstraintViewDSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintViewDSL.swift; path = Sources/ConstraintViewDSL.swift; sourceTree = "<group>"; };
+ 78B84BA581D1B72D71D33EAA79EF9EAD /* Toast-Swift-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Toast-Swift-dummy.m"; sourceTree = "<group>"; };
+ 79C58FD990400B8AB18178EF88ED66BE /* IQToolbarPlaceholderConfiguration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQToolbarPlaceholderConfiguration.swift; path = IQKeyboardManagerSwift/Configuration/IQToolbarPlaceholderConfiguration.swift; sourceTree = "<group>"; };
+ 7B786AD23AC011C7A9C451AEE9791523 /* ConstraintOffsetTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintOffsetTarget.swift; path = Sources/ConstraintOffsetTarget.swift; sourceTree = "<group>"; };
+ 7D8FD8BB27FDD914F91F6033577D8C8C /* Toast.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Toast.swift; path = Toast/Toast.swift; sourceTree = "<group>"; };
+ 7E51A9F23CAB98CBAB848469E2D2E183 /* ConstraintPriorityTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintPriorityTarget.swift; path = Sources/ConstraintPriorityTarget.swift; sourceTree = "<group>"; };
+ 81E89D6561DC8A1E0CBA0ED55E074E46 /* IQKeyboardManagerSwift-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "IQKeyboardManagerSwift-umbrella.h"; sourceTree = "<group>"; };
+ 83068BD0213FBA725C02317AD3423FAB /* ConstraintMakerPrioritizable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMakerPrioritizable.swift; path = Sources/ConstraintMakerPrioritizable.swift; sourceTree = "<group>"; };
+ 837896B623DE365258BB6DF4FC55ACFA /* IQPlaceholderable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQPlaceholderable.swift; path = IQKeyboardManagerSwift/IQTextView/IQPlaceholderable.swift; sourceTree = "<group>"; };
+ 84BE8ECCEF26804A8D79F702228A310A /* SnapKit.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SnapKit.release.xcconfig; sourceTree = "<group>"; };
+ 8860AF7CDE4B3C1AFE143BE010DCA041 /* ConstraintPriority.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintPriority.swift; path = Sources/ConstraintPriority.swift; sourceTree = "<group>"; };
+ 8D8069D3964814114ACEC3084C010B59 /* IQKeyboardManagerSwift-IQKeyboardManagerSwift */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; name = "IQKeyboardManagerSwift-IQKeyboardManagerSwift"; path = IQKeyboardManagerSwift.bundle; sourceTree = BUILT_PRODUCTS_DIR; };
+ 979486118B3E90C08386079D57962701 /* SnapKit */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = SnapKit; path = SnapKit.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+ 9820093DBE06A8821B66BA89A7BCEB75 /* ConstraintDirectionalInsetTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintDirectionalInsetTarget.swift; path = Sources/ConstraintDirectionalInsetTarget.swift; sourceTree = "<group>"; };
+ 9945075F6E108B8ACAF8F32A238211BB /* IQTextFieldViewInfoModel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQTextFieldViewInfoModel.swift; path = IQKeyboardManagerSwift/ReturnKeyHandler/IQTextFieldViewInfoModel.swift; sourceTree = "<group>"; };
+ 9A94C4F2E1128ACF0FC8B4DD926D387E /* ConstraintMakerEditable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMakerEditable.swift; path = Sources/ConstraintMakerEditable.swift; sourceTree = "<group>"; };
+ 9AF26C3D88411B38B1261FB7CF12D76B /* SnapKit-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SnapKit-dummy.m"; sourceTree = "<group>"; };
+ 9CE1B6592A29ADBBC5FB53143C4D4955 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS18.0.sdk/System/Library/Frameworks/CoreGraphics.framework; sourceTree = DEVELOPER_DIR; };
+ 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; };
+ A0DBC24939A32FDF60D4274B29B62A66 /* SnapKit-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SnapKit-umbrella.h"; sourceTree = "<group>"; };
+ A4CC9447079CFC0CE0B24F0B709A13B5 /* ConstraintInsets.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintInsets.swift; path = Sources/ConstraintInsets.swift; sourceTree = "<group>"; };
+ A8841E119B0141289D182E582BE7277C /* IQTextView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQTextView.swift; path = IQKeyboardManagerSwift/IQTextView/IQTextView.swift; sourceTree = "<group>"; };
+ A8E950A16D00F649C54FFB30F81D7842 /* IQKeyboardManagerSwift */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = IQKeyboardManagerSwift; path = IQKeyboardManagerSwift.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+ A912741BDA04F14F5D091E6DD6B95F90 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS18.0.sdk/System/Library/Frameworks/QuartzCore.framework; sourceTree = DEVELOPER_DIR; };
+ AFECBC24E09D0D25F822C27BD944AFD4 /* Pods-Example-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-Example-frameworks.sh"; sourceTree = "<group>"; };
+ B45138496B85A072654D1D0F8EBBEDE5 /* Pods-Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Example.debug.xcconfig"; sourceTree = "<group>"; };
+ B49DC626E7DAE3E057513F2EE3D4E9A0 /* Debugging.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Debugging.swift; path = Sources/Debugging.swift; sourceTree = "<group>"; };
+ B670392E9D2D684F633CC90B5587F702 /* IQKeyboardManagerSwift-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "IQKeyboardManagerSwift-dummy.m"; sourceTree = "<group>"; };
+ B8AAC0C869D75F02354272FCD12F2C24 /* Toast-Swift.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Toast-Swift.debug.xcconfig"; sourceTree = "<group>"; };
+ B9DCB5EC0B1CDADD221717CADDF62359 /* SnapKit-SnapKit_Privacy */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; name = "SnapKit-SnapKit_Privacy"; path = SnapKit_Privacy.bundle; sourceTree = BUILT_PRODUCTS_DIR; };
+ BA3BF63EDEE01B4EBDE785204C0EA42F /* IQKeyboardManager+Debug.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQKeyboardManager+Debug.swift"; path = "IQKeyboardManagerSwift/IQKeyboardManager/IQKeyboardManager+Debug.swift"; sourceTree = "<group>"; };
+ BA3F3E99485012C444C03D8AEFAE4EDB /* IQUITableView+Additions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQUITableView+Additions.swift"; path = "IQKeyboardManagerSwift/UIKitExtensions/IQUITableView+Additions.swift"; sourceTree = "<group>"; };
+ BA5D78DC6B04FB370A2753ECC47B870A /* ConstraintRelatableTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintRelatableTarget.swift; path = Sources/ConstraintRelatableTarget.swift; sourceTree = "<group>"; };
+ BA7AA919DFBAE3752F49D688B9C019DD /* UIImage+NextPrevious.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIImage+NextPrevious.swift"; path = "IQKeyboardManagerSwift/UIKitExtensions/UIImage+NextPrevious.swift"; sourceTree = "<group>"; };
+ C1805F77AB3F135F0A35F48C1124283E /* IQUIScrollView+Additions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQUIScrollView+Additions.swift"; path = "IQKeyboardManagerSwift/UIKitExtensions/IQUIScrollView+Additions.swift"; sourceTree = "<group>"; };
+ C32EB114A07F0FA10A26E8BF6D41434A /* IQActiveConfiguration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQActiveConfiguration.swift; path = IQKeyboardManagerSwift/Configuration/IQActiveConfiguration.swift; sourceTree = "<group>"; };
+ C5F67D8F7949A21CB7892A9EAC3DFD2F /* SnapKit-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SnapKit-prefix.pch"; sourceTree = "<group>"; };
+ C660EC43022B9B30F27A2D41B4FEF7A5 /* ConstraintView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintView.swift; path = Sources/ConstraintView.swift; sourceTree = "<group>"; };
+ C9BD6044E2352EFA372C1004BF1CB58C /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; includeInIndex = 1; name = PrivacyInfo.xcprivacy; path = Sources/PrivacyInfo.xcprivacy; sourceTree = "<group>"; };
+ CA1B618A2D4FFF48117063DC941E3814 /* ConstraintLayoutGuide.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintLayoutGuide.swift; path = Sources/ConstraintLayoutGuide.swift; sourceTree = "<group>"; };
+ CBE86E23D0923F9E6C71B2FB2E435963 /* IQKeyboardConfiguration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQKeyboardConfiguration.swift; path = IQKeyboardManagerSwift/Configuration/IQKeyboardConfiguration.swift; sourceTree = "<group>"; };
+ D3F8D179AF556D50D6BF4F71AC2B45E5 /* ConstraintInsetTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintInsetTarget.swift; path = Sources/ConstraintInsetTarget.swift; sourceTree = "<group>"; };
+ D6043471C96F93DC41F7DD1E0D7D8B35 /* Toast-Swift */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = "Toast-Swift"; path = Toast_Swift.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+ D63AC5FF4C8B919A3BF3D780A5CFF10B /* IQKeyboardManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQKeyboardManager.swift; path = IQKeyboardManagerSwift/IQKeyboardManager/IQKeyboardManager.swift; sourceTree = "<group>"; };
+ D6D7C498FA339E02BD53ECB8916CEA8E /* Pods-Example-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-Example-dummy.m"; sourceTree = "<group>"; };
+ D6F1E2045960E76F900AD8924237FF63 /* SnapKit.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = SnapKit.modulemap; sourceTree = "<group>"; };
+ D885C8DF1AD7EC186F0CD564F9CFDDCC /* IQRootControllerConfiguration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQRootControllerConfiguration.swift; path = IQKeyboardManagerSwift/Configuration/IQRootControllerConfiguration.swift; sourceTree = "<group>"; };
+ DBAD9690B71B5943C33BA0C09DB2A383 /* IQKeyboardManagerSwift-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "IQKeyboardManagerSwift-prefix.pch"; sourceTree = "<group>"; };
+ DC81F87185C4B726F5E414F7F459831F /* IQKeyboardManagerSwift.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = IQKeyboardManagerSwift.debug.xcconfig; sourceTree = "<group>"; };
+ DC865F72E5F47038DDA969FCC4136472 /* IQToolbarConfiguration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQToolbarConfiguration.swift; path = IQKeyboardManagerSwift/Configuration/IQToolbarConfiguration.swift; sourceTree = "<group>"; };
+ DCE6D291103C2D874E4B830F884DC9E2 /* SnapKit-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "SnapKit-Info.plist"; sourceTree = "<group>"; };
+ DDB92A2A172FC35DD4E24E6A6B5103EB /* IQInvocation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQInvocation.swift; path = IQKeyboardManagerSwift/IQToolbar/IQInvocation.swift; sourceTree = "<group>"; };
+ DF4474210B83011E99ECFA42B0FBEF0F /* ConstraintLayoutSupport.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintLayoutSupport.swift; path = Sources/ConstraintLayoutSupport.swift; sourceTree = "<group>"; };
+ E06137D498517DD9E8DA43F974135CE5 /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; includeInIndex = 1; name = PrivacyInfo.xcprivacy; path = Toast/Resources/PrivacyInfo.xcprivacy; sourceTree = "<group>"; };
+ E217376D2927BAF54BFE1B5FFB3239FE /* Toast-Swift-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Toast-Swift-Info.plist"; sourceTree = "<group>"; };
+ E5907317B7C22A4FDA666EB3B30E5520 /* Toast-Swift-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Toast-Swift-prefix.pch"; sourceTree = "<group>"; };
+ E84B50B0E6C401F03CFBB289CADC11C7 /* Toast-Swift.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Toast-Swift.release.xcconfig"; sourceTree = "<group>"; };
+ E85435BBABFCFD56B7EF9E6697212B7E /* IQPreviousNextView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQPreviousNextView.swift; path = IQKeyboardManagerSwift/IQToolbar/IQPreviousNextView.swift; sourceTree = "<group>"; };
+ E9772F0CC15AB90A422885ED47164415 /* IQKeyboardInfo.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQKeyboardInfo.swift; path = IQKeyboardManagerSwift/LIsteners/Info/IQKeyboardInfo.swift; sourceTree = "<group>"; };
+ E9BD95591930D45D768ABE6E85A729CD /* ConstraintLayoutGuideDSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintLayoutGuideDSL.swift; path = Sources/ConstraintLayoutGuideDSL.swift; sourceTree = "<group>"; };
+ EA21B344259B58996DB73382B1B1521F /* Pods-Example-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-Example-acknowledgements.plist"; sourceTree = "<group>"; };
+ EAC87C7CE96871270C101D7F8EBE0A3D /* IQKeyboardManager+Internal.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQKeyboardManager+Internal.swift"; path = "IQKeyboardManagerSwift/IQKeyboardManager/IQKeyboardManager+Internal.swift"; sourceTree = "<group>"; };
+ EC5D6F56C551358D37CD3CC8CDADB308 /* IQKeyboardManagerCompatible.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQKeyboardManagerCompatible.swift; path = IQKeyboardManagerSwift/IQKeyboardManagerCompatible/IQKeyboardManagerCompatible.swift; sourceTree = "<group>"; };
+ ED3234428715ED881C945B13B58F9250 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS18.0.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; };
+ EE101B4C70CDDC67D0D10026A117A845 /* IQKeyboardReturnKeyHandler+TextFieldDelegate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQKeyboardReturnKeyHandler+TextFieldDelegate.swift"; path = "IQKeyboardManagerSwift/ReturnKeyHandler/IQKeyboardReturnKeyHandler+TextFieldDelegate.swift"; sourceTree = "<group>"; };
+ EEDED7281E5EFA018E864E104E2D7C3B /* ConstraintItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintItem.swift; path = Sources/ConstraintItem.swift; sourceTree = "<group>"; };
+ F1E0DC4EDC70C1C7E1B553E8EAB865DE /* SnapKit.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SnapKit.debug.xcconfig; sourceTree = "<group>"; };
+ F587FADFCEC8E76A43BF23EAB9C758DE /* ResourceBundle-SnapKit_Privacy-SnapKit-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "ResourceBundle-SnapKit_Privacy-SnapKit-Info.plist"; sourceTree = "<group>"; };
+ F5D4B046C004C89840FD41919DA848ED /* IQBarButtonItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQBarButtonItem.swift; path = IQKeyboardManagerSwift/IQToolbar/IQBarButtonItem.swift; sourceTree = "<group>"; };
+ F7EBF485974C47A16B03CF21FC82DA44 /* ConstraintMakerRelatable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMakerRelatable.swift; path = Sources/ConstraintMakerRelatable.swift; sourceTree = "<group>"; };
+ F99AAB2A26686038394AE2120B949E6D /* IQKeyboardManager+UIKeyboardNotification.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQKeyboardManager+UIKeyboardNotification.swift"; path = "IQKeyboardManagerSwift/IQKeyboardManager/IQKeyboardManager+UIKeyboardNotification.swift"; sourceTree = "<group>"; };
+ FA043C571AB1FB654FCD317C806CC6EA /* ConstraintMultiplierTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMultiplierTarget.swift; path = Sources/ConstraintMultiplierTarget.swift; sourceTree = "<group>"; };
+ FDF7C6BB5F4F37EB3CCB77A22DD4C540 /* ConstraintConfig.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintConfig.swift; path = Sources/ConstraintConfig.swift; sourceTree = "<group>"; };
+ FDFF3215A962C67DD4B1E824B649F8CC /* IQKeyboardManager+Toolbar.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQKeyboardManager+Toolbar.swift"; path = "IQKeyboardManagerSwift/IQKeyboardManager/IQKeyboardManager+Toolbar.swift"; sourceTree = "<group>"; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+ 2F4289D96317EFE744EF7E3DC4845EF0 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 33428AC36668E3ED52DB70316F843FB8 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 205EB01AED14BB574DD54EAFE26E4786 /* Foundation.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 43B0ED7D5C0DC9BB28CE90E92619123A /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ B0786F3CFD6093FC5FEDE748445C6FAC /* Foundation.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 63C0D146967AEB622B0235147CA225B5 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 7E729417AF642CFCDC667635496015F6 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ A76B7572AD1CD0125BA8227332330DC9 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 663F1294E62250BD0DF7888F2173B0D6 /* CoreGraphics.framework in Frameworks */,
+ 851B0A1B6750B5464D9300F8DE62CAF2 /* Foundation.framework in Frameworks */,
+ 5CA32A2520B7868CF67B02C1C830F5A8 /* QuartzCore.framework in Frameworks */,
+ 743A1D7C259156C99A14E4B1FD01A52C /* UIKit.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ F151972567B4508E965D5BFCCF7174A1 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 070601D9903BE1D11DD6DD1367C3F012 /* Foundation.framework in Frameworks */,
+ 7B0BC17748C9775A8299A96D501CE5A8 /* QuartzCore.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+ 0DF2274BAA525EE93480E9943477B6CF /* Resources */ = {
+ isa = PBXGroup;
+ children = (
+ 45336DFC6C88342A9F741D2FEE970C1F /* PrivacyInfo.xcprivacy */,
+ );
+ name = Resources;
+ sourceTree = "<group>";
+ };
+ 143C29E3BE492836E12A84EF2EC76B27 /* iOS */ = {
+ isa = PBXGroup;
+ children = (
+ 9CE1B6592A29ADBBC5FB53143C4D4955 /* CoreGraphics.framework */,
+ ED3234428715ED881C945B13B58F9250 /* Foundation.framework */,
+ A912741BDA04F14F5D091E6DD6B95F90 /* QuartzCore.framework */,
+ 69301F4E598400CA4CB88505EAF858B1 /* UIKit.framework */,
+ );
+ name = iOS;
+ sourceTree = "<group>";
+ };
+ 5EE7F1DD399A6F431D5287F4A6F845BB /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ A8E950A16D00F649C54FFB30F81D7842 /* IQKeyboardManagerSwift */,
+ 8D8069D3964814114ACEC3084C010B59 /* IQKeyboardManagerSwift-IQKeyboardManagerSwift */,
+ 1F667CC0E19EAF34E5A4119E2121F585 /* Pods-Example */,
+ 979486118B3E90C08386079D57962701 /* SnapKit */,
+ B9DCB5EC0B1CDADD221717CADDF62359 /* SnapKit-SnapKit_Privacy */,
+ D6043471C96F93DC41F7DD1E0D7D8B35 /* Toast-Swift */,
+ 13FD39576595D8A884BF5166065C5236 /* Toast-Swift-Toast-Swift */,
+ );
+ name = Products;
+ sourceTree = "<group>";
+ };
+ 74DD96A69BBE06E12CF55A262ABFF0F7 /* Support Files */ = {
+ isa = PBXGroup;
+ children = (
+ 05ADABC71B19770B1EC37350B70BE449 /* IQKeyboardManagerSwift.modulemap */,
+ B670392E9D2D684F633CC90B5587F702 /* IQKeyboardManagerSwift-dummy.m */,
+ 0C1553D064BF9CC76243991B2983E53D /* IQKeyboardManagerSwift-Info.plist */,
+ DBAD9690B71B5943C33BA0C09DB2A383 /* IQKeyboardManagerSwift-prefix.pch */,
+ 81E89D6561DC8A1E0CBA0ED55E074E46 /* IQKeyboardManagerSwift-umbrella.h */,
+ DC81F87185C4B726F5E414F7F459831F /* IQKeyboardManagerSwift.debug.xcconfig */,
+ 05C92DF614B75B78526637B00FED4FDB /* IQKeyboardManagerSwift.release.xcconfig */,
+ 711E832E092D12FB2F90CE913442DA20 /* ResourceBundle-IQKeyboardManagerSwift-IQKeyboardManagerSwift-Info.plist */,
+ );
+ name = "Support Files";
+ path = "../Target Support Files/IQKeyboardManagerSwift";
+ sourceTree = "<group>";
+ };
+ 88B6BA447DEB96587B9F9A32B2CD7704 /* Support Files */ = {
+ isa = PBXGroup;
+ children = (
+ F587FADFCEC8E76A43BF23EAB9C758DE /* ResourceBundle-SnapKit_Privacy-SnapKit-Info.plist */,
+ D6F1E2045960E76F900AD8924237FF63 /* SnapKit.modulemap */,
+ 9AF26C3D88411B38B1261FB7CF12D76B /* SnapKit-dummy.m */,
+ DCE6D291103C2D874E4B830F884DC9E2 /* SnapKit-Info.plist */,
+ C5F67D8F7949A21CB7892A9EAC3DFD2F /* SnapKit-prefix.pch */,
+ A0DBC24939A32FDF60D4274B29B62A66 /* SnapKit-umbrella.h */,
+ F1E0DC4EDC70C1C7E1B553E8EAB865DE /* SnapKit.debug.xcconfig */,
+ 84BE8ECCEF26804A8D79F702228A310A /* SnapKit.release.xcconfig */,
+ );
+ name = "Support Files";
+ path = "../Target Support Files/SnapKit";
+ sourceTree = "<group>";
+ };
+ 9ABB4080BB946FC60C39048C1F84C6F2 /* SnapKit */ = {
+ isa = PBXGroup;
+ children = (
+ 7827F4A9CC80D317E7EC0632D268B40D /* Constraint.swift */,
+ 28D2337421B60A473CD4C044E069484B /* ConstraintAttributes.swift */,
+ FDF7C6BB5F4F37EB3CCB77A22DD4C540 /* ConstraintConfig.swift */,
+ 4E89228FBA1EC8803A71B4301EA4F99D /* ConstraintConstantTarget.swift */,
+ 24AF392592ADF9A6B7D56DEF6A064AFC /* ConstraintDescription.swift */,
+ 7359C5366E43E1907650C5A863ECA683 /* ConstraintDirectionalInsets.swift */,
+ 9820093DBE06A8821B66BA89A7BCEB75 /* ConstraintDirectionalInsetTarget.swift */,
+ 7177E0F7EDAAACF7F30BF86978047DA8 /* ConstraintDSL.swift */,
+ A4CC9447079CFC0CE0B24F0B709A13B5 /* ConstraintInsets.swift */,
+ D3F8D179AF556D50D6BF4F71AC2B45E5 /* ConstraintInsetTarget.swift */,
+ EEDED7281E5EFA018E864E104E2D7C3B /* ConstraintItem.swift */,
+ CA1B618A2D4FFF48117063DC941E3814 /* ConstraintLayoutGuide.swift */,
+ 63E5CC4BB2BF49880BCB01A6523F1118 /* ConstraintLayoutGuide+Extensions.swift */,
+ E9BD95591930D45D768ABE6E85A729CD /* ConstraintLayoutGuideDSL.swift */,
+ DF4474210B83011E99ECFA42B0FBEF0F /* ConstraintLayoutSupport.swift */,
+ 38AABFEEFBDD4105F5BFF99D3C8E59CE /* ConstraintLayoutSupportDSL.swift */,
+ 1D356761FB2DAA9C91DF8D9D126DE637 /* ConstraintMaker.swift */,
+ 9A94C4F2E1128ACF0FC8B4DD926D387E /* ConstraintMakerEditable.swift */,
+ 26D795F47486ED2F87593ABBA15C0100 /* ConstraintMakerExtendable.swift */,
+ 0309EC85084CD7E4C3E4F71EA2E881AE /* ConstraintMakerFinalizable.swift */,
+ 83068BD0213FBA725C02317AD3423FAB /* ConstraintMakerPrioritizable.swift */,
+ F7EBF485974C47A16B03CF21FC82DA44 /* ConstraintMakerRelatable.swift */,
+ 781F4E8646637FD21213695B7845466E /* ConstraintMakerRelatable+Extensions.swift */,
+ FA043C571AB1FB654FCD317C806CC6EA /* ConstraintMultiplierTarget.swift */,
+ 7B786AD23AC011C7A9C451AEE9791523 /* ConstraintOffsetTarget.swift */,
+ 8860AF7CDE4B3C1AFE143BE010DCA041 /* ConstraintPriority.swift */,
+ 7E51A9F23CAB98CBAB848469E2D2E183 /* ConstraintPriorityTarget.swift */,
+ BA5D78DC6B04FB370A2753ECC47B870A /* ConstraintRelatableTarget.swift */,
+ 2C7B65D34762D57F480123BE480B818E /* ConstraintRelation.swift */,
+ C660EC43022B9B30F27A2D41B4FEF7A5 /* ConstraintView.swift */,
+ 6E7502DF550C07D50EEC4D85AC276061 /* ConstraintView+Extensions.swift */,
+ 786DA7E2F26C5CB8966412310C7277CC /* ConstraintViewDSL.swift */,
+ B49DC626E7DAE3E057513F2EE3D4E9A0 /* Debugging.swift */,
+ 504C0FC5F20876E193F2FF38C0EA5088 /* LayoutConstraint.swift */,
+ 02EE4CC7F651DC165672D48020AB0277 /* LayoutConstraintItem.swift */,
+ 335622869A4630904A6E5FB9C4AC03AA /* Typealiases.swift */,
+ 06A48ED9920272E365B9A2DBAD5ACC2F /* UILayoutSupport+Extensions.swift */,
+ E7DFF981E027731143061E8C98864CC6 /* Resources */,
+ 88B6BA447DEB96587B9F9A32B2CD7704 /* Support Files */,
+ );
+ name = SnapKit;
+ path = SnapKit;
+ sourceTree = "<group>";
+ };
+ 9BDBD95ED116334D1B2835202D8D3060 /* Pods-Example */ = {
+ isa = PBXGroup;
+ children = (
+ 35C305D3797C284E6F5BAA1D3E6F9BF8 /* Pods-Example.modulemap */,
+ 441854E35F81731E63E53DC7E4EEAD9D /* Pods-Example-acknowledgements.markdown */,
+ EA21B344259B58996DB73382B1B1521F /* Pods-Example-acknowledgements.plist */,
+ D6D7C498FA339E02BD53ECB8916CEA8E /* Pods-Example-dummy.m */,
+ AFECBC24E09D0D25F822C27BD944AFD4 /* Pods-Example-frameworks.sh */,
+ 31C1D37707DFAA5E6A164BCC07834264 /* Pods-Example-Info.plist */,
+ 7825A90E082A1582EB16256B0E722B3F /* Pods-Example-umbrella.h */,
+ B45138496B85A072654D1D0F8EBBEDE5 /* Pods-Example.debug.xcconfig */,
+ 243410B9535472556EA4BB6DBC133A0D /* Pods-Example.release.xcconfig */,
+ );
+ name = "Pods-Example";
+ path = "Target Support Files/Pods-Example";
+ sourceTree = "<group>";
+ };
+ BA4F31F07263C99FC76E66D632A59F09 /* Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ 143C29E3BE492836E12A84EF2EC76B27 /* iOS */,
+ );
+ name = Frameworks;
+ sourceTree = "<group>";
+ };
+ C5727BCEB160DAEFF48EA5553657AD68 /* Pods */ = {
+ isa = PBXGroup;
+ children = (
+ D0F5A8D53F6C858574351D9CEE01F925 /* IQKeyboardManagerSwift */,
+ 9ABB4080BB946FC60C39048C1F84C6F2 /* SnapKit */,
+ EB5AD41BBA9A28F005AE507237CA85B7 /* Toast-Swift */,
+ );
+ name = Pods;
+ sourceTree = "<group>";
+ };
+ CE2E825F08D3AD0FD76E6D78D7512ED0 /* Targets Support Files */ = {
+ isa = PBXGroup;
+ children = (
+ 9BDBD95ED116334D1B2835202D8D3060 /* Pods-Example */,
+ );
+ name = "Targets Support Files";
+ sourceTree = "<group>";
+ };
+ CF1408CF629C7361332E53B88F7BD30C = {
+ isa = PBXGroup;
+ children = (
+ 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */,
+ BA4F31F07263C99FC76E66D632A59F09 /* Frameworks */,
+ C5727BCEB160DAEFF48EA5553657AD68 /* Pods */,
+ 5EE7F1DD399A6F431D5287F4A6F845BB /* Products */,
+ CE2E825F08D3AD0FD76E6D78D7512ED0 /* Targets Support Files */,
+ );
+ sourceTree = "<group>";
+ };
+ D0F5A8D53F6C858574351D9CEE01F925 /* IQKeyboardManagerSwift */ = {
+ isa = PBXGroup;
+ children = (
+ C32EB114A07F0FA10A26E8BF6D41434A /* IQActiveConfiguration.swift */,
+ F5D4B046C004C89840FD41919DA848ED /* IQBarButtonItem.swift */,
+ 33A5157610B3BA3E11D9587B92F4C397 /* IQBarButtonItemConfiguration.swift */,
+ DDB92A2A172FC35DD4E24E6A6B5103EB /* IQInvocation.swift */,
+ CBE86E23D0923F9E6C71B2FB2E435963 /* IQKeyboardConfiguration.swift */,
+ E9772F0CC15AB90A422885ED47164415 /* IQKeyboardInfo.swift */,
+ 4209C4E6D3813FBA036449385A05EFCE /* IQKeyboardListener.swift */,
+ D63AC5FF4C8B919A3BF3D780A5CFF10B /* IQKeyboardManager.swift */,
+ BA3BF63EDEE01B4EBDE785204C0EA42F /* IQKeyboardManager+Debug.swift */,
+ 14DFA4E68F4494F72B504BD1DD4BEDC9 /* IQKeyboardManager+Deprecated.swift */,
+ EAC87C7CE96871270C101D7F8EBE0A3D /* IQKeyboardManager+Internal.swift */,
+ 28A29EBBD8A8588B67A9C3148F9D0740 /* IQKeyboardManager+Position.swift */,
+ FDFF3215A962C67DD4B1E824B649F8CC /* IQKeyboardManager+Toolbar.swift */,
+ 2168A4DBBB0E9A91E7BB3EBCDFF7413A /* IQKeyboardManager+ToolbarActions.swift */,
+ F99AAB2A26686038394AE2120B949E6D /* IQKeyboardManager+UIKeyboardNotification.swift */,
+ 18322484F39B0AA1F691FBFCCCA1C3FB /* IQKeyboardManager+UITextFieldViewNotification.swift */,
+ EC5D6F56C551358D37CD3CC8CDADB308 /* IQKeyboardManagerCompatible.swift */,
+ 6FC25131FACCDC8438C5F554800DC097 /* IQKeyboardManagerConstants.swift */,
+ 31CF3B3E56A735C453C5F18DEA482DFF /* IQKeyboardReturnKeyHandler.swift */,
+ EE101B4C70CDDC67D0D10026A117A845 /* IQKeyboardReturnKeyHandler+TextFieldDelegate.swift */,
+ 1D832084CF440FCE5F20FBC5B98997D5 /* IQKeyboardReturnKeyHandler+TextViewDelegate.swift */,
+ 3C494A65C968572398F4DD06447758FA /* IQNSArray+Sort.swift */,
+ 837896B623DE365258BB6DF4FC55ACFA /* IQPlaceholderable.swift */,
+ E85435BBABFCFD56B7EF9E6697212B7E /* IQPreviousNextView.swift */,
+ D885C8DF1AD7EC186F0CD564F9CFDDCC /* IQRootControllerConfiguration.swift */,
+ 623266148C6A711F78F24ADF46E86438 /* IQScrollViewConfiguration.swift */,
+ 3EBE1544A39BAB189DEDDA0F4545147E /* IQTextFieldViewInfo.swift */,
+ 9945075F6E108B8ACAF8F32A238211BB /* IQTextFieldViewInfoModel.swift */,
+ 1B762AC05EB903CB7142202224E8B187 /* IQTextFieldViewListener.swift */,
+ A8841E119B0141289D182E582BE7277C /* IQTextView.swift */,
+ 2A6A6F4E0441FEC671A89F081D3C468B /* IQTitleBarButtonItem.swift */,
+ 3D0AC40B4B0DD69F0C6198DB43846BE0 /* IQToolbar.swift */,
+ DC865F72E5F47038DDA969FCC4136472 /* IQToolbarConfiguration.swift */,
+ 79C58FD990400B8AB18178EF88ED66BE /* IQToolbarPlaceholderConfiguration.swift */,
+ 4BB8E305B8F5BBD09897C3EEC890F39B /* IQUICollectionView+Additions.swift */,
+ C1805F77AB3F135F0A35F48C1124283E /* IQUIScrollView+Additions.swift */,
+ BA3F3E99485012C444C03D8AEFAE4EDB /* IQUITableView+Additions.swift */,
+ 2EB2A643D562618B99FBF0A0B2D33D2B /* IQUITextFieldView+Additions.swift */,
+ 09C831BC0433AB4F6D60421796F44B70 /* IQUIView+Hierarchy.swift */,
+ 5F3B65F524DB021715BC12735F4870B5 /* IQUIView+IQKeyboardToolbar.swift */,
+ 267E8F754906E07A8B9DAF989F7C09C0 /* IQUIView+IQKeyboardToolbarDeprecated.swift */,
+ 71F58B658A639080D77D592017E8BED5 /* IQUIViewController+Additions.swift */,
+ 10D70A661E9C006E9436199E3F97E55E /* MainActor+AssumeIsolated.swift */,
+ BA7AA919DFBAE3752F49D688B9C019DD /* UIImage+NextPrevious.swift */,
+ 0DF2274BAA525EE93480E9943477B6CF /* Resources */,
+ 74DD96A69BBE06E12CF55A262ABFF0F7 /* Support Files */,
+ );
+ name = IQKeyboardManagerSwift;
+ path = IQKeyboardManagerSwift;
+ sourceTree = "<group>";
+ };
+ E128F5538CF424786C9754BA2173FEDC /* Support Files */ = {
+ isa = PBXGroup;
+ children = (
+ 157412EB9B9CCDC0D9BB2C649A235073 /* ResourceBundle-Toast-Swift-Toast-Swift-Info.plist */,
+ 5FDBFEC1141A4D55C757D492BC2C20DA /* Toast-Swift.modulemap */,
+ 78B84BA581D1B72D71D33EAA79EF9EAD /* Toast-Swift-dummy.m */,
+ E217376D2927BAF54BFE1B5FFB3239FE /* Toast-Swift-Info.plist */,
+ E5907317B7C22A4FDA666EB3B30E5520 /* Toast-Swift-prefix.pch */,
+ 6480E2EA7CA54E0E42264119F3DD71AD /* Toast-Swift-umbrella.h */,
+ B8AAC0C869D75F02354272FCD12F2C24 /* Toast-Swift.debug.xcconfig */,
+ E84B50B0E6C401F03CFBB289CADC11C7 /* Toast-Swift.release.xcconfig */,
+ );
+ name = "Support Files";
+ path = "../Target Support Files/Toast-Swift";
+ sourceTree = "<group>";
+ };
+ E7DFF981E027731143061E8C98864CC6 /* Resources */ = {
+ isa = PBXGroup;
+ children = (
+ C9BD6044E2352EFA372C1004BF1CB58C /* PrivacyInfo.xcprivacy */,
+ );
+ name = Resources;
+ sourceTree = "<group>";
+ };
+ E84753AE6C1845F36E5393F67810864F /* Resources */ = {
+ isa = PBXGroup;
+ children = (
+ E06137D498517DD9E8DA43F974135CE5 /* PrivacyInfo.xcprivacy */,
+ );
+ name = Resources;
+ sourceTree = "<group>";
+ };
+ EB5AD41BBA9A28F005AE507237CA85B7 /* Toast-Swift */ = {
+ isa = PBXGroup;
+ children = (
+ 7D8FD8BB27FDD914F91F6033577D8C8C /* Toast.swift */,
+ E84753AE6C1845F36E5393F67810864F /* Resources */,
+ E128F5538CF424786C9754BA2173FEDC /* Support Files */,
+ );
+ name = "Toast-Swift";
+ path = "Toast-Swift";
+ sourceTree = "<group>";
+ };
+/* End PBXGroup section */
+
+/* Begin PBXHeadersBuildPhase section */
+ 2B091D63CFDBA0D293AC6EF71BF554D0 /* Headers */ = {
+ isa = PBXHeadersBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 3A3D2697E544C969F5C736F404A1BB66 /* IQKeyboardManagerSwift-umbrella.h in Headers */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 448E74EF9D17B3DCC5432BB6215BCAB0 /* Headers */ = {
+ isa = PBXHeadersBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 0C7E48CC6391092D8F5B4341E1EE7485 /* Toast-Swift-umbrella.h in Headers */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 5B1500FE995B9224E0AF0B42CE93C03B /* Headers */ = {
+ isa = PBXHeadersBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 57C4F6EFB30DDD14E960AC2D6B34F904 /* SnapKit-umbrella.h in Headers */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BF9D8CBB4302A946E2DF2BB23EB6388A /* Headers */ = {
+ isa = PBXHeadersBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 8E009955E1CD921871B03BCDDCE7650F /* Pods-Example-umbrella.h in Headers */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXHeadersBuildPhase section */
+
+/* Begin PBXNativeTarget section */
+ 0AEE99A309977BD12A049FF48AF9BA4B /* Pods-Example */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = FD8F4491AE56B90FFA30649FF29EFED4 /* Build configuration list for PBXNativeTarget "Pods-Example" */;
+ buildPhases = (
+ BF9D8CBB4302A946E2DF2BB23EB6388A /* Headers */,
+ A10428FDA1C369E3D7AF139A76096E0E /* Sources */,
+ 43B0ED7D5C0DC9BB28CE90E92619123A /* Frameworks */,
+ 2655738F6FE447ED95B73C737A3C8250 /* Resources */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ 016E53615B5CD659DCF5BB8F525501B6 /* PBXTargetDependency */,
+ 4E73EF9A981CC1C3C53CB8D0311ACD00 /* PBXTargetDependency */,
+ 23D3D2DCA595E8AA97490A5FCFD73C43 /* PBXTargetDependency */,
+ );
+ name = "Pods-Example";
+ productName = Pods_Example;
+ productReference = 1F667CC0E19EAF34E5A4119E2121F585 /* Pods-Example */;
+ productType = "com.apple.product-type.framework";
+ };
+ 19622742EBA51E823D6DAE3F8CDBFAD4 /* SnapKit */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 80CE967CAA1D35721519F892BAF7A19B /* Build configuration list for PBXNativeTarget "SnapKit" */;
+ buildPhases = (
+ 5B1500FE995B9224E0AF0B42CE93C03B /* Headers */,
+ F7AC6792C89443C7B212A06E810BAB97 /* Sources */,
+ 33428AC36668E3ED52DB70316F843FB8 /* Frameworks */,
+ 1DEDF411E550D85A1218E1655456A9CD /* Resources */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ F1D8F00E40A734B93E792ACC6A1C62EB /* PBXTargetDependency */,
+ );
+ name = SnapKit;
+ productName = SnapKit;
+ productReference = 979486118B3E90C08386079D57962701 /* SnapKit */;
+ productType = "com.apple.product-type.framework";
+ };
+ 8A8DB685241263AFDF5E6B20FE67B93A /* SnapKit-SnapKit_Privacy */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 87EC2E578DA4ADCE9FBEA443B93BFBAA /* Build configuration list for PBXNativeTarget "SnapKit-SnapKit_Privacy" */;
+ buildPhases = (
+ B23B589ACD3B43A19C4C156DB2709085 /* Sources */,
+ 63C0D146967AEB622B0235147CA225B5 /* Frameworks */,
+ F23DCF14B4B7E688B791BD0F769901C4 /* Resources */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = "SnapKit-SnapKit_Privacy";
+ productName = SnapKit_Privacy;
+ productReference = B9DCB5EC0B1CDADD221717CADDF62359 /* SnapKit-SnapKit_Privacy */;
+ productType = "com.apple.product-type.bundle";
+ };
+ 982A68D37F5DCBC1FC1FDC0BB2F0EB8E /* IQKeyboardManagerSwift-IQKeyboardManagerSwift */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = BBDCAD9CCBFFC44C15124718110FB1B7 /* Build configuration list for PBXNativeTarget "IQKeyboardManagerSwift-IQKeyboardManagerSwift" */;
+ buildPhases = (
+ 1E639D92EFBA8D08000FFF765BE68014 /* Sources */,
+ 2F4289D96317EFE744EF7E3DC4845EF0 /* Frameworks */,
+ 57CDCDFD3D2F88CB2E0DCCBFF9155E7C /* Resources */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = "IQKeyboardManagerSwift-IQKeyboardManagerSwift";
+ productName = IQKeyboardManagerSwift;
+ productReference = 8D8069D3964814114ACEC3084C010B59 /* IQKeyboardManagerSwift-IQKeyboardManagerSwift */;
+ productType = "com.apple.product-type.bundle";
+ };
+ B490E7485944099E16C9CBD79119D1D4 /* IQKeyboardManagerSwift */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 51448EA139E840FA83FCECC113A519FE /* Build configuration list for PBXNativeTarget "IQKeyboardManagerSwift" */;
+ buildPhases = (
+ 2B091D63CFDBA0D293AC6EF71BF554D0 /* Headers */,
+ BC6DF187A160622FB3D6013D127DA817 /* Sources */,
+ A76B7572AD1CD0125BA8227332330DC9 /* Frameworks */,
+ CCD7A20148BCEAF20B03FE2494D7BCEC /* Resources */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ C95682515116F5D888245FB5F5E9F544 /* PBXTargetDependency */,
+ );
+ name = IQKeyboardManagerSwift;
+ productName = IQKeyboardManagerSwift;
+ productReference = A8E950A16D00F649C54FFB30F81D7842 /* IQKeyboardManagerSwift */;
+ productType = "com.apple.product-type.framework";
+ };
+ B990BD87169C76A3ED3FE8A9258D91A3 /* Toast-Swift */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 9C146D0EDFB76FE1156D655A897B6E94 /* Build configuration list for PBXNativeTarget "Toast-Swift" */;
+ buildPhases = (
+ 448E74EF9D17B3DCC5432BB6215BCAB0 /* Headers */,
+ B4A020AF82EF829322C86201C5C31A20 /* Sources */,
+ F151972567B4508E965D5BFCCF7174A1 /* Frameworks */,
+ A694D13AD95802E0936531BC8DAEBB89 /* Resources */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ 69C0920E0DC1566DB93F7812575E5412 /* PBXTargetDependency */,
+ );
+ name = "Toast-Swift";
+ productName = Toast_Swift;
+ productReference = D6043471C96F93DC41F7DD1E0D7D8B35 /* Toast-Swift */;
+ productType = "com.apple.product-type.framework";
+ };
+ C344E85893FCDEE5B70436E0A4A3472B /* Toast-Swift-Toast-Swift */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = F7C9CDC4F854038F0AC418E3CF33C95E /* Build configuration list for PBXNativeTarget "Toast-Swift-Toast-Swift" */;
+ buildPhases = (
+ 6A9F8A1ECD4F340E74EEFB8A61575A93 /* Sources */,
+ 7E729417AF642CFCDC667635496015F6 /* Frameworks */,
+ 8AE01B587813601C0822D315302924EE /* Resources */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = "Toast-Swift-Toast-Swift";
+ productName = "Toast-Swift";
+ productReference = 13FD39576595D8A884BF5166065C5236 /* Toast-Swift-Toast-Swift */;
+ productType = "com.apple.product-type.bundle";
+ };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+ BFDFE7DC352907FC980B868725387E98 /* Project object */ = {
+ isa = PBXProject;
+ attributes = {
+ LastSwiftUpdateCheck = 1600;
+ LastUpgradeCheck = 1600;
+ };
+ buildConfigurationList = 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */;
+ compatibilityVersion = "Xcode 14.0";
+ developmentRegion = en;
+ hasScannedForEncodings = 0;
+ knownRegions = (
+ Base,
+ en,
+ );
+ mainGroup = CF1408CF629C7361332E53B88F7BD30C;
+ minimizedProjectReferenceProxies = 0;
+ preferredProjectObjectVersion = 77;
+ productRefGroup = 5EE7F1DD399A6F431D5287F4A6F845BB /* Products */;
+ projectDirPath = "";
+ projectRoot = "";
+ targets = (
+ B490E7485944099E16C9CBD79119D1D4 /* IQKeyboardManagerSwift */,
+ 982A68D37F5DCBC1FC1FDC0BB2F0EB8E /* IQKeyboardManagerSwift-IQKeyboardManagerSwift */,
+ 0AEE99A309977BD12A049FF48AF9BA4B /* Pods-Example */,
+ 19622742EBA51E823D6DAE3F8CDBFAD4 /* SnapKit */,
+ 8A8DB685241263AFDF5E6B20FE67B93A /* SnapKit-SnapKit_Privacy */,
+ B990BD87169C76A3ED3FE8A9258D91A3 /* Toast-Swift */,
+ C344E85893FCDEE5B70436E0A4A3472B /* Toast-Swift-Toast-Swift */,
+ );
+ };
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+ 1DEDF411E550D85A1218E1655456A9CD /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 9E0045B41BFE697DB4ADE151228024D2 /* SnapKit-SnapKit_Privacy in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 2655738F6FE447ED95B73C737A3C8250 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 57CDCDFD3D2F88CB2E0DCCBFF9155E7C /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ D38710A2338E377897571CC4051F85B5 /* PrivacyInfo.xcprivacy in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 8AE01B587813601C0822D315302924EE /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ D5DB713D87E6A5525B6B9DA5F706E0FB /* PrivacyInfo.xcprivacy in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ A694D13AD95802E0936531BC8DAEBB89 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 87E921A1D8B0C683DA2133709C867859 /* Toast-Swift-Toast-Swift in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ CCD7A20148BCEAF20B03FE2494D7BCEC /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ E3FD0840B77157C01FF5D52E72B31664 /* IQKeyboardManagerSwift-IQKeyboardManagerSwift in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ F23DCF14B4B7E688B791BD0F769901C4 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ C347AB10AA080AEF17907D23CBE8C810 /* PrivacyInfo.xcprivacy in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+ 1E639D92EFBA8D08000FFF765BE68014 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 6A9F8A1ECD4F340E74EEFB8A61575A93 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ A10428FDA1C369E3D7AF139A76096E0E /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 84585A9E2B8E7FEB3F01C4A65DDEA3AA /* Pods-Example-dummy.m in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ B23B589ACD3B43A19C4C156DB2709085 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ B4A020AF82EF829322C86201C5C31A20 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 172B6B4E5550420B8131FBD62C975821 /* Toast.swift in Sources */,
+ A9B5C45C3C4D517B581E536DE846A078 /* Toast-Swift-dummy.m in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BC6DF187A160622FB3D6013D127DA817 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ BBF8220B30095D0EB91D4933B4769D9E /* IQActiveConfiguration.swift in Sources */,
+ 3CBB581828D3D4237FF0E318F3457FC9 /* IQBarButtonItem.swift in Sources */,
+ FA0B149FAA1A1C60DA9B92EC2569520E /* IQBarButtonItemConfiguration.swift in Sources */,
+ C3E307D86BC99500B675C38EDCBFB0AC /* IQInvocation.swift in Sources */,
+ 59E13CB1013047AB75A9B464B1D82C2F /* IQKeyboardConfiguration.swift in Sources */,
+ 3EEB67A2DC733DD8677E443D43BA9A5A /* IQKeyboardInfo.swift in Sources */,
+ DC00471B9629D6BA4DECB8796D6532EC /* IQKeyboardListener.swift in Sources */,
+ 45B3D0DA40BE97096DE3CDECE622585E /* IQKeyboardManager.swift in Sources */,
+ 5D269576532F504523EAA39DDB1557F4 /* IQKeyboardManager+Debug.swift in Sources */,
+ F86C621FA07210C325437A3D8FA7CC68 /* IQKeyboardManager+Deprecated.swift in Sources */,
+ 0DDF4216E3E48EF14B994DEAF828EEA2 /* IQKeyboardManager+Internal.swift in Sources */,
+ 6DD19D888A917365E4C36AFE31FA2C27 /* IQKeyboardManager+Position.swift in Sources */,
+ E7E7C94378820F81492BCF0CB798D46C /* IQKeyboardManager+Toolbar.swift in Sources */,
+ 9A578D9CD4BEC7C1168A1D9820DE40A8 /* IQKeyboardManager+ToolbarActions.swift in Sources */,
+ DDE98DAE6570A84BB1C07E14DA12C4D4 /* IQKeyboardManager+UIKeyboardNotification.swift in Sources */,
+ 8ECCBA8E91C632E4F56D0D7F40F135F9 /* IQKeyboardManager+UITextFieldViewNotification.swift in Sources */,
+ 6C08C17E6D1DB2B4D1D0669F59F09368 /* IQKeyboardManagerCompatible.swift in Sources */,
+ F633379AD81BA605AB1B01385C4B9248 /* IQKeyboardManagerConstants.swift in Sources */,
+ 11B67C495111E3AA200F8E6852A73A55 /* IQKeyboardManagerSwift-dummy.m in Sources */,
+ 72E7B39F6D1F97F30C08E04D211D304E /* IQKeyboardReturnKeyHandler.swift in Sources */,
+ C892112213688A3A4523CDD9F323998B /* IQKeyboardReturnKeyHandler+TextFieldDelegate.swift in Sources */,
+ 67FE77018A04D8691A906DECD6CFFCA2 /* IQKeyboardReturnKeyHandler+TextViewDelegate.swift in Sources */,
+ A267DD79A7AAD3036D940CDE6249255B /* IQNSArray+Sort.swift in Sources */,
+ EE49210BAAF30051C28298E265D3D659 /* IQPlaceholderable.swift in Sources */,
+ 00DE7AE1D2A7B7F94F93458DB7754809 /* IQPreviousNextView.swift in Sources */,
+ AF022BD7571EF5BCBB1EF3F1FD8EB7DD /* IQRootControllerConfiguration.swift in Sources */,
+ EB6131723350AB4DCB5AEDF242D458AC /* IQScrollViewConfiguration.swift in Sources */,
+ FE4B49773ED7A97B84316CF892D5D455 /* IQTextFieldViewInfo.swift in Sources */,
+ ABCE13FE54D5DEE5CD02838201676A92 /* IQTextFieldViewInfoModel.swift in Sources */,
+ 17850B3BCF62F3E9C80608BF8B16291A /* IQTextFieldViewListener.swift in Sources */,
+ 54D89FF142C65EDD590F8651A0CFCB6E /* IQTextView.swift in Sources */,
+ 68D7B750E799100042584648B0634DDD /* IQTitleBarButtonItem.swift in Sources */,
+ D0C9D7424D667076070CE75180ECCD6B /* IQToolbar.swift in Sources */,
+ 595079712F4E905BEEC8C8EAA167EA03 /* IQToolbarConfiguration.swift in Sources */,
+ 742CBD9F365744155B66ADE0EC6CF94B /* IQToolbarPlaceholderConfiguration.swift in Sources */,
+ E7095898E9F45BD384B5BF177B642AFD /* IQUICollectionView+Additions.swift in Sources */,
+ 57EA452F77A51C3654DBC92A9A2B771A /* IQUIScrollView+Additions.swift in Sources */,
+ 70364D5528E3495AA5DE40030C0852B8 /* IQUITableView+Additions.swift in Sources */,
+ 139F8FB4B5A5FA7A297976A723CDCC9A /* IQUITextFieldView+Additions.swift in Sources */,
+ D4E8DE674C6B890FE9D56D40BA77DD15 /* IQUIView+Hierarchy.swift in Sources */,
+ E5F8F6C107339F507114C3AB566ED585 /* IQUIView+IQKeyboardToolbar.swift in Sources */,
+ 83A2615D5A90DC223EA13831DFA4CE13 /* IQUIView+IQKeyboardToolbarDeprecated.swift in Sources */,
+ A9D7688EFF99BED99A406255EBFCCC6D /* IQUIViewController+Additions.swift in Sources */,
+ 9AD8B9EFD0F8D7B60A5DC4359601ED60 /* MainActor+AssumeIsolated.swift in Sources */,
+ 1ACC61B072F4BB20E73C2F462A7E16FB /* UIImage+NextPrevious.swift in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ F7AC6792C89443C7B212A06E810BAB97 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 6E39129FC8643A70C276801FEF4C280D /* Constraint.swift in Sources */,
+ 0CA7A132ABE7018DE9295456732F38BB /* ConstraintAttributes.swift in Sources */,
+ F9EBA65892D78A31C068D727D84BCB88 /* ConstraintConfig.swift in Sources */,
+ CE593943A9E7CF83822CF60304BCAD43 /* ConstraintConstantTarget.swift in Sources */,
+ 7AF516B98D45391B909D507D0244104C /* ConstraintDescription.swift in Sources */,
+ 1194E62AA3F6F506799B1A43B16942B5 /* ConstraintDirectionalInsets.swift in Sources */,
+ E37671A03B4C17A1CF3766A6125833BB /* ConstraintDirectionalInsetTarget.swift in Sources */,
+ 868A9F524A7985BDA1EA124D9BF4CA63 /* ConstraintDSL.swift in Sources */,
+ AF760C78F1C7E11BF7CB9E9B29903530 /* ConstraintInsets.swift in Sources */,
+ 2B2EB369550CE92CEEFCBFD3D32B8A3F /* ConstraintInsetTarget.swift in Sources */,
+ 5922A6A0AE7152CF436356B3556F1835 /* ConstraintItem.swift in Sources */,
+ 59F34874DA4ABB2F5C4E09EA6865936B /* ConstraintLayoutGuide.swift in Sources */,
+ E3D779DEE753C0B0D33BA8E73A980265 /* ConstraintLayoutGuide+Extensions.swift in Sources */,
+ 3D3B646B4988314275B40E97BEB16C7F /* ConstraintLayoutGuideDSL.swift in Sources */,
+ B0875E3AB8718E7DFE5C53497C02A15E /* ConstraintLayoutSupport.swift in Sources */,
+ 064D909CD827405E8DCC309DB1B7775A /* ConstraintLayoutSupportDSL.swift in Sources */,
+ 4F4DEB687C0E4834A5B291DEE0651D6A /* ConstraintMaker.swift in Sources */,
+ C14F10B663FE2898EACAB90C202B3F50 /* ConstraintMakerEditable.swift in Sources */,
+ D4218DA55B2BA45937589200CC0DF1FB /* ConstraintMakerExtendable.swift in Sources */,
+ B903049E7C1BED7918DAB208754107C7 /* ConstraintMakerFinalizable.swift in Sources */,
+ AABEF13464BA7F4621BD94736C1D057C /* ConstraintMakerPrioritizable.swift in Sources */,
+ BDA5C7CC91E86448237CF40954FAC5AF /* ConstraintMakerRelatable.swift in Sources */,
+ 8BABA32F7B94A25D8E9208C0A8D90B2E /* ConstraintMakerRelatable+Extensions.swift in Sources */,
+ 883EDEE1C699497CF2A77C3B8A32A790 /* ConstraintMultiplierTarget.swift in Sources */,
+ 3577F172FA68CBAE47CFEE6FE25C5404 /* ConstraintOffsetTarget.swift in Sources */,
+ 09E1F569A93FAD4B9149E30B9301F44A /* ConstraintPriority.swift in Sources */,
+ DBA4803F4765E1650B8C6841157F5D73 /* ConstraintPriorityTarget.swift in Sources */,
+ C07CB3E9A4D1BF00F841E4285629A2B2 /* ConstraintRelatableTarget.swift in Sources */,
+ ECC5C2ADC2682F9171FEA22AF10DCE53 /* ConstraintRelation.swift in Sources */,
+ 86CAB01D950C8BC35EDE0BDC01A2500B /* ConstraintView.swift in Sources */,
+ 0DE5DB9C6227B3416778D8417DD95EA9 /* ConstraintView+Extensions.swift in Sources */,
+ 7D42390CDB4FA147504B03DA2A174A0C /* ConstraintViewDSL.swift in Sources */,
+ AE224EDB6D044C0FE86B086E950FC2F9 /* Debugging.swift in Sources */,
+ BF1AE4D97E813B95C43EA4A298B973D1 /* LayoutConstraint.swift in Sources */,
+ C6F45595676957ADBEC18EB3F23EAEC4 /* LayoutConstraintItem.swift in Sources */,
+ BA2FB695DEB0D179253EEB8DFCE3578B /* SnapKit-dummy.m in Sources */,
+ C6A4302ACE006C4E2CDD481287E2916B /* Typealiases.swift in Sources */,
+ F6F33E8B268F3D41075374D95B8088DC /* UILayoutSupport+Extensions.swift in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin PBXTargetDependency section */
+ 016E53615B5CD659DCF5BB8F525501B6 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ name = IQKeyboardManagerSwift;
+ target = B490E7485944099E16C9CBD79119D1D4 /* IQKeyboardManagerSwift */;
+ targetProxy = DDE9D020CDC7E91D5827DFE3287EB2CA /* PBXContainerItemProxy */;
+ };
+ 23D3D2DCA595E8AA97490A5FCFD73C43 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ name = "Toast-Swift";
+ target = B990BD87169C76A3ED3FE8A9258D91A3 /* Toast-Swift */;
+ targetProxy = 2C3890DB22C3798DBD04FF11BB1E3763 /* PBXContainerItemProxy */;
+ };
+ 4E73EF9A981CC1C3C53CB8D0311ACD00 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ name = SnapKit;
+ target = 19622742EBA51E823D6DAE3F8CDBFAD4 /* SnapKit */;
+ targetProxy = D63BD9F2997AAB93FD047009D145B137 /* PBXContainerItemProxy */;
+ };
+ 69C0920E0DC1566DB93F7812575E5412 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ name = "Toast-Swift-Toast-Swift";
+ target = C344E85893FCDEE5B70436E0A4A3472B /* Toast-Swift-Toast-Swift */;
+ targetProxy = C04B96E80AC4BC69934A81924717A242 /* PBXContainerItemProxy */;
+ };
+ C95682515116F5D888245FB5F5E9F544 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ name = "IQKeyboardManagerSwift-IQKeyboardManagerSwift";
+ target = 982A68D37F5DCBC1FC1FDC0BB2F0EB8E /* IQKeyboardManagerSwift-IQKeyboardManagerSwift */;
+ targetProxy = EEE971D13C12B11703BA672AF4AA9EBE /* PBXContainerItemProxy */;
+ };
+ F1D8F00E40A734B93E792ACC6A1C62EB /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ name = "SnapKit-SnapKit_Privacy";
+ target = 8A8DB685241263AFDF5E6B20FE67B93A /* SnapKit-SnapKit_Privacy */;
+ targetProxy = 7516A63BFCBFC4EE43188C5CC5C9C90F /* PBXContainerItemProxy */;
+ };
+/* End PBXTargetDependency section */
+
+/* Begin XCBuildConfiguration section */
+ 24951B438C625992FFCD104B95B81612 /* Release */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = 243410B9535472556EA4BB6DBC133A0D /* Pods-Example.release.xcconfig */;
+ buildSettings = {
+ ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO;
+ CLANG_ENABLE_OBJC_WEAK = NO;
+ "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
+ "CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
+ CURRENT_PROJECT_VERSION = 1;
+ DEFINES_MODULE = YES;
+ DYLIB_COMPATIBILITY_VERSION = 1;
+ DYLIB_CURRENT_VERSION = 1;
+ DYLIB_INSTALL_NAME_BASE = "@rpath";
+ ENABLE_MODULE_VERIFIER = NO;
+ ENABLE_USER_SCRIPT_SANDBOXING = NO;
+ INFOPLIST_FILE = "Target Support Files/Pods-Example/Pods-Example-Info.plist";
+ INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
+ IPHONEOS_DEPLOYMENT_TARGET = 13.0;
+ LD_RUNPATH_SEARCH_PATHS = (
+ "$(inherited)",
+ "@executable_path/Frameworks",
+ "@loader_path/Frameworks",
+ );
+ MACH_O_TYPE = staticlib;
+ MODULEMAP_FILE = "Target Support Files/Pods-Example/Pods-Example.modulemap";
+ OTHER_LDFLAGS = "";
+ OTHER_LIBTOOLFLAGS = "";
+ PODS_ROOT = "$(SRCROOT)";
+ PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}";
+ PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
+ SDKROOT = iphoneos;
+ SKIP_INSTALL = YES;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ VALIDATE_PRODUCT = YES;
+ VERSIONING_SYSTEM = "apple-generic";
+ VERSION_INFO_PREFIX = "";
+ };
+ name = Release;
+ };
+ 7E48D17D0469F73801BBDAF1F20755F2 /* Release */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = E84B50B0E6C401F03CFBB289CADC11C7 /* Toast-Swift.release.xcconfig */;
+ buildSettings = {
+ CLANG_ENABLE_OBJC_WEAK = NO;
+ "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
+ "CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
+ CURRENT_PROJECT_VERSION = 1;
+ DEFINES_MODULE = YES;
+ DYLIB_COMPATIBILITY_VERSION = 1;
+ DYLIB_CURRENT_VERSION = 1;
+ DYLIB_INSTALL_NAME_BASE = "@rpath";
+ ENABLE_MODULE_VERIFIER = NO;
+ ENABLE_USER_SCRIPT_SANDBOXING = NO;
+ GCC_PREFIX_HEADER = "Target Support Files/Toast-Swift/Toast-Swift-prefix.pch";
+ GENERATE_INFOPLIST_FILE = NO;
+ INFOPLIST_FILE = "Target Support Files/Toast-Swift/Toast-Swift-Info.plist";
+ INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
+ IPHONEOS_DEPLOYMENT_TARGET = 12.0;
+ LD_RUNPATH_SEARCH_PATHS = (
+ "$(inherited)",
+ "@executable_path/Frameworks",
+ "@loader_path/Frameworks",
+ );
+ MODULEMAP_FILE = "Target Support Files/Toast-Swift/Toast-Swift.modulemap";
+ PRODUCT_MODULE_NAME = Toast_Swift;
+ PRODUCT_NAME = Toast_Swift;
+ SDKROOT = iphoneos;
+ SKIP_INSTALL = YES;
+ SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) ";
+ SWIFT_INSTALL_OBJC_HEADER = YES;
+ SWIFT_VERSION = 5.0;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ VALIDATE_PRODUCT = YES;
+ VERSIONING_SYSTEM = "apple-generic";
+ VERSION_INFO_PREFIX = "";
+ };
+ name = Release;
+ };
+ 89B8688B66C09BA698AA1E786EA8FCEE /* Release */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = 05C92DF614B75B78526637B00FED4FDB /* IQKeyboardManagerSwift.release.xcconfig */;
+ buildSettings = {
+ CLANG_ENABLE_OBJC_WEAK = NO;
+ "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
+ "CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
+ CURRENT_PROJECT_VERSION = 1;
+ DEFINES_MODULE = YES;
+ DYLIB_COMPATIBILITY_VERSION = 1;
+ DYLIB_CURRENT_VERSION = 1;
+ DYLIB_INSTALL_NAME_BASE = "@rpath";
+ ENABLE_MODULE_VERIFIER = NO;
+ ENABLE_USER_SCRIPT_SANDBOXING = NO;
+ GCC_PREFIX_HEADER = "Target Support Files/IQKeyboardManagerSwift/IQKeyboardManagerSwift-prefix.pch";
+ GENERATE_INFOPLIST_FILE = NO;
+ INFOPLIST_FILE = "Target Support Files/IQKeyboardManagerSwift/IQKeyboardManagerSwift-Info.plist";
+ INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
+ IPHONEOS_DEPLOYMENT_TARGET = 13.0;
+ LD_RUNPATH_SEARCH_PATHS = (
+ "$(inherited)",
+ "@executable_path/Frameworks",
+ "@loader_path/Frameworks",
+ );
+ MODULEMAP_FILE = "Target Support Files/IQKeyboardManagerSwift/IQKeyboardManagerSwift.modulemap";
+ PRODUCT_MODULE_NAME = IQKeyboardManagerSwift;
+ PRODUCT_NAME = IQKeyboardManagerSwift;
+ SDKROOT = iphoneos;
+ SKIP_INSTALL = YES;
+ SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) ";
+ SWIFT_INSTALL_OBJC_HEADER = YES;
+ SWIFT_VERSION = 5.9;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ VALIDATE_PRODUCT = YES;
+ VERSIONING_SYSTEM = "apple-generic";
+ VERSION_INFO_PREFIX = "";
+ };
+ name = Release;
+ };
+ 8DE5143C03248BB6CD542DE3963D6F3A /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
+ CLANG_ANALYZER_NONNULL = YES;
+ CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
+ CLANG_CXX_LIBRARY = "libc++";
+ CLANG_ENABLE_MODULES = YES;
+ CLANG_ENABLE_OBJC_ARC = YES;
+ CLANG_ENABLE_OBJC_WEAK = YES;
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
+ CLANG_WARN_BOOL_CONVERSION = YES;
+ CLANG_WARN_COMMA = YES;
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+ CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
+ CLANG_WARN_EMPTY_BODY = YES;
+ CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INFINITE_RECURSION = YES;
+ CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
+ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
+ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+ COPY_PHASE_STRIP = NO;
+ DEBUG_INFORMATION_FORMAT = dwarf;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ ENABLE_TESTABILITY = YES;
+ GCC_C_LANGUAGE_STANDARD = gnu11;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_NO_COMMON_BLOCKS = YES;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "POD_CONFIGURATION_DEBUG=1",
+ "DEBUG=1",
+ "$(inherited)",
+ );
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+ GCC_WARN_UNUSED_FUNCTION = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ IPHONEOS_DEPLOYMENT_TARGET = 13.0;
+ MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
+ MTL_FAST_MATH = YES;
+ ONLY_ACTIVE_ARCH = YES;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ STRIP_INSTALLED_PRODUCT = NO;
+ SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
+ SWIFT_OPTIMIZATION_LEVEL = "-Onone";
+ SWIFT_VERSION = 5.0;
+ SYMROOT = "${SRCROOT}/../build";
+ };
+ name = Debug;
+ };
+ 9115AF5B1EDA9D1305C1F7A785025165 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = B8AAC0C869D75F02354272FCD12F2C24 /* Toast-Swift.debug.xcconfig */;
+ buildSettings = {
+ CODE_SIGNING_ALLOWED = NO;
+ CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/Toast-Swift";
+ IBSC_MODULE = Toast_Swift;
+ INFOPLIST_FILE = "Target Support Files/Toast-Swift/ResourceBundle-Toast-Swift-Toast-Swift-Info.plist";
+ IPHONEOS_DEPLOYMENT_TARGET = 12.0;
+ PRODUCT_NAME = "Toast-Swift";
+ SDKROOT = iphoneos;
+ SKIP_INSTALL = YES;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ WRAPPER_EXTENSION = bundle;
+ };
+ name = Debug;
+ };
+ 9D0D7572FEDA4CC9E75E7387846AFE57 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = F1E0DC4EDC70C1C7E1B553E8EAB865DE /* SnapKit.debug.xcconfig */;
+ buildSettings = {
+ CLANG_ENABLE_OBJC_WEAK = NO;
+ "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
+ "CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
+ CURRENT_PROJECT_VERSION = 1;
+ DEFINES_MODULE = YES;
+ DYLIB_COMPATIBILITY_VERSION = 1;
+ DYLIB_CURRENT_VERSION = 1;
+ DYLIB_INSTALL_NAME_BASE = "@rpath";
+ ENABLE_MODULE_VERIFIER = NO;
+ ENABLE_USER_SCRIPT_SANDBOXING = NO;
+ GCC_PREFIX_HEADER = "Target Support Files/SnapKit/SnapKit-prefix.pch";
+ GENERATE_INFOPLIST_FILE = NO;
+ INFOPLIST_FILE = "Target Support Files/SnapKit/SnapKit-Info.plist";
+ INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
+ IPHONEOS_DEPLOYMENT_TARGET = 12.0;
+ LD_RUNPATH_SEARCH_PATHS = (
+ "$(inherited)",
+ "@executable_path/Frameworks",
+ "@loader_path/Frameworks",
+ );
+ MODULEMAP_FILE = "Target Support Files/SnapKit/SnapKit.modulemap";
+ PRODUCT_MODULE_NAME = SnapKit;
+ PRODUCT_NAME = SnapKit;
+ SDKROOT = iphoneos;
+ SKIP_INSTALL = YES;
+ SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) ";
+ SWIFT_INSTALL_OBJC_HEADER = YES;
+ SWIFT_VERSION = 5.0;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ VERSIONING_SYSTEM = "apple-generic";
+ VERSION_INFO_PREFIX = "";
+ };
+ name = Debug;
+ };
+ 9E406C6AAF85E580207CD97B0044DEAB /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
+ CLANG_ANALYZER_NONNULL = YES;
+ CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
+ CLANG_CXX_LIBRARY = "libc++";
+ CLANG_ENABLE_MODULES = YES;
+ CLANG_ENABLE_OBJC_ARC = YES;
+ CLANG_ENABLE_OBJC_WEAK = YES;
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
+ CLANG_WARN_BOOL_CONVERSION = YES;
+ CLANG_WARN_COMMA = YES;
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+ CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
+ CLANG_WARN_EMPTY_BODY = YES;
+ CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INFINITE_RECURSION = YES;
+ CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
+ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
+ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+ COPY_PHASE_STRIP = NO;
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+ ENABLE_NS_ASSERTIONS = NO;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ GCC_C_LANGUAGE_STANDARD = gnu11;
+ GCC_NO_COMMON_BLOCKS = YES;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "POD_CONFIGURATION_RELEASE=1",
+ "$(inherited)",
+ );
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+ GCC_WARN_UNUSED_FUNCTION = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ IPHONEOS_DEPLOYMENT_TARGET = 13.0;
+ MTL_ENABLE_DEBUG_INFO = NO;
+ MTL_FAST_MATH = YES;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ STRIP_INSTALLED_PRODUCT = NO;
+ SWIFT_COMPILATION_MODE = wholemodule;
+ SWIFT_OPTIMIZATION_LEVEL = "-O";
+ SWIFT_VERSION = 5.0;
+ SYMROOT = "${SRCROOT}/../build";
+ };
+ name = Release;
+ };
+ 9FB030696C344EA34BACA774AF681ECE /* Debug */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = F1E0DC4EDC70C1C7E1B553E8EAB865DE /* SnapKit.debug.xcconfig */;
+ buildSettings = {
+ CODE_SIGNING_ALLOWED = NO;
+ CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/SnapKit";
+ IBSC_MODULE = SnapKit;
+ INFOPLIST_FILE = "Target Support Files/SnapKit/ResourceBundle-SnapKit_Privacy-SnapKit-Info.plist";
+ IPHONEOS_DEPLOYMENT_TARGET = 12.0;
+ PRODUCT_NAME = SnapKit_Privacy;
+ SDKROOT = iphoneos;
+ SKIP_INSTALL = YES;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ WRAPPER_EXTENSION = bundle;
+ };
+ name = Debug;
+ };
+ BAD20131EC29650C6737E66854A3A9FD /* Release */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = 84BE8ECCEF26804A8D79F702228A310A /* SnapKit.release.xcconfig */;
+ buildSettings = {
+ CLANG_ENABLE_OBJC_WEAK = NO;
+ "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
+ "CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
+ CURRENT_PROJECT_VERSION = 1;
+ DEFINES_MODULE = YES;
+ DYLIB_COMPATIBILITY_VERSION = 1;
+ DYLIB_CURRENT_VERSION = 1;
+ DYLIB_INSTALL_NAME_BASE = "@rpath";
+ ENABLE_MODULE_VERIFIER = NO;
+ ENABLE_USER_SCRIPT_SANDBOXING = NO;
+ GCC_PREFIX_HEADER = "Target Support Files/SnapKit/SnapKit-prefix.pch";
+ GENERATE_INFOPLIST_FILE = NO;
+ INFOPLIST_FILE = "Target Support Files/SnapKit/SnapKit-Info.plist";
+ INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
+ IPHONEOS_DEPLOYMENT_TARGET = 12.0;
+ LD_RUNPATH_SEARCH_PATHS = (
+ "$(inherited)",
+ "@executable_path/Frameworks",
+ "@loader_path/Frameworks",
+ );
+ MODULEMAP_FILE = "Target Support Files/SnapKit/SnapKit.modulemap";
+ PRODUCT_MODULE_NAME = SnapKit;
+ PRODUCT_NAME = SnapKit;
+ SDKROOT = iphoneos;
+ SKIP_INSTALL = YES;
+ SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) ";
+ SWIFT_INSTALL_OBJC_HEADER = YES;
+ SWIFT_VERSION = 5.0;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ VALIDATE_PRODUCT = YES;
+ VERSIONING_SYSTEM = "apple-generic";
+ VERSION_INFO_PREFIX = "";
+ };
+ name = Release;
+ };
+ BB204C289D98AE5EF60E9B2664ADCD85 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = B45138496B85A072654D1D0F8EBBEDE5 /* Pods-Example.debug.xcconfig */;
+ buildSettings = {
+ ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO;
+ CLANG_ENABLE_OBJC_WEAK = NO;
+ "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
+ "CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
+ CURRENT_PROJECT_VERSION = 1;
+ DEFINES_MODULE = YES;
+ DYLIB_COMPATIBILITY_VERSION = 1;
+ DYLIB_CURRENT_VERSION = 1;
+ DYLIB_INSTALL_NAME_BASE = "@rpath";
+ ENABLE_MODULE_VERIFIER = NO;
+ ENABLE_USER_SCRIPT_SANDBOXING = NO;
+ INFOPLIST_FILE = "Target Support Files/Pods-Example/Pods-Example-Info.plist";
+ INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
+ IPHONEOS_DEPLOYMENT_TARGET = 13.0;
+ LD_RUNPATH_SEARCH_PATHS = (
+ "$(inherited)",
+ "@executable_path/Frameworks",
+ "@loader_path/Frameworks",
+ );
+ MACH_O_TYPE = staticlib;
+ MODULEMAP_FILE = "Target Support Files/Pods-Example/Pods-Example.modulemap";
+ OTHER_LDFLAGS = "";
+ OTHER_LIBTOOLFLAGS = "";
+ PODS_ROOT = "$(SRCROOT)";
+ PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}";
+ PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
+ SDKROOT = iphoneos;
+ SKIP_INSTALL = YES;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ VERSIONING_SYSTEM = "apple-generic";
+ VERSION_INFO_PREFIX = "";
+ };
+ name = Debug;
+ };
+ BD6198E203E31476009B64B0A8DA3959 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = DC81F87185C4B726F5E414F7F459831F /* IQKeyboardManagerSwift.debug.xcconfig */;
+ buildSettings = {
+ CODE_SIGNING_ALLOWED = NO;
+ CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/IQKeyboardManagerSwift";
+ IBSC_MODULE = IQKeyboardManagerSwift;
+ INFOPLIST_FILE = "Target Support Files/IQKeyboardManagerSwift/ResourceBundle-IQKeyboardManagerSwift-IQKeyboardManagerSwift-Info.plist";
+ IPHONEOS_DEPLOYMENT_TARGET = 13.0;
+ PRODUCT_NAME = IQKeyboardManagerSwift;
+ SDKROOT = iphoneos;
+ SKIP_INSTALL = YES;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ WRAPPER_EXTENSION = bundle;
+ };
+ name = Debug;
+ };
+ BF7068E92DCD137023ACAEAC8761D324 /* Release */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = 84BE8ECCEF26804A8D79F702228A310A /* SnapKit.release.xcconfig */;
+ buildSettings = {
+ CODE_SIGNING_ALLOWED = NO;
+ CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/SnapKit";
+ IBSC_MODULE = SnapKit;
+ INFOPLIST_FILE = "Target Support Files/SnapKit/ResourceBundle-SnapKit_Privacy-SnapKit-Info.plist";
+ IPHONEOS_DEPLOYMENT_TARGET = 12.0;
+ PRODUCT_NAME = SnapKit_Privacy;
+ SDKROOT = iphoneos;
+ SKIP_INSTALL = YES;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ WRAPPER_EXTENSION = bundle;
+ };
+ name = Release;
+ };
+ C19176D272F6631EEA7F05F8A38697C7 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = DC81F87185C4B726F5E414F7F459831F /* IQKeyboardManagerSwift.debug.xcconfig */;
+ buildSettings = {
+ CLANG_ENABLE_OBJC_WEAK = NO;
+ "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
+ "CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
+ CURRENT_PROJECT_VERSION = 1;
+ DEFINES_MODULE = YES;
+ DYLIB_COMPATIBILITY_VERSION = 1;
+ DYLIB_CURRENT_VERSION = 1;
+ DYLIB_INSTALL_NAME_BASE = "@rpath";
+ ENABLE_MODULE_VERIFIER = NO;
+ ENABLE_USER_SCRIPT_SANDBOXING = NO;
+ GCC_PREFIX_HEADER = "Target Support Files/IQKeyboardManagerSwift/IQKeyboardManagerSwift-prefix.pch";
+ GENERATE_INFOPLIST_FILE = NO;
+ INFOPLIST_FILE = "Target Support Files/IQKeyboardManagerSwift/IQKeyboardManagerSwift-Info.plist";
+ INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
+ IPHONEOS_DEPLOYMENT_TARGET = 13.0;
+ LD_RUNPATH_SEARCH_PATHS = (
+ "$(inherited)",
+ "@executable_path/Frameworks",
+ "@loader_path/Frameworks",
+ );
+ MODULEMAP_FILE = "Target Support Files/IQKeyboardManagerSwift/IQKeyboardManagerSwift.modulemap";
+ PRODUCT_MODULE_NAME = IQKeyboardManagerSwift;
+ PRODUCT_NAME = IQKeyboardManagerSwift;
+ SDKROOT = iphoneos;
+ SKIP_INSTALL = YES;
+ SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) ";
+ SWIFT_INSTALL_OBJC_HEADER = YES;
+ SWIFT_VERSION = 5.9;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ VERSIONING_SYSTEM = "apple-generic";
+ VERSION_INFO_PREFIX = "";
+ };
+ name = Debug;
+ };
+ E06F70F13B606F0979741BCAFE1F1003 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = B8AAC0C869D75F02354272FCD12F2C24 /* Toast-Swift.debug.xcconfig */;
+ buildSettings = {
+ CLANG_ENABLE_OBJC_WEAK = NO;
+ "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
+ "CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
+ CURRENT_PROJECT_VERSION = 1;
+ DEFINES_MODULE = YES;
+ DYLIB_COMPATIBILITY_VERSION = 1;
+ DYLIB_CURRENT_VERSION = 1;
+ DYLIB_INSTALL_NAME_BASE = "@rpath";
+ ENABLE_MODULE_VERIFIER = NO;
+ ENABLE_USER_SCRIPT_SANDBOXING = NO;
+ GCC_PREFIX_HEADER = "Target Support Files/Toast-Swift/Toast-Swift-prefix.pch";
+ GENERATE_INFOPLIST_FILE = NO;
+ INFOPLIST_FILE = "Target Support Files/Toast-Swift/Toast-Swift-Info.plist";
+ INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
+ IPHONEOS_DEPLOYMENT_TARGET = 12.0;
+ LD_RUNPATH_SEARCH_PATHS = (
+ "$(inherited)",
+ "@executable_path/Frameworks",
+ "@loader_path/Frameworks",
+ );
+ MODULEMAP_FILE = "Target Support Files/Toast-Swift/Toast-Swift.modulemap";
+ PRODUCT_MODULE_NAME = Toast_Swift;
+ PRODUCT_NAME = Toast_Swift;
+ SDKROOT = iphoneos;
+ SKIP_INSTALL = YES;
+ SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) ";
+ SWIFT_INSTALL_OBJC_HEADER = YES;
+ SWIFT_VERSION = 5.0;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ VERSIONING_SYSTEM = "apple-generic";
+ VERSION_INFO_PREFIX = "";
+ };
+ name = Debug;
+ };
+ F02F22B53FD0017D62316E2895734F47 /* Release */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = E84B50B0E6C401F03CFBB289CADC11C7 /* Toast-Swift.release.xcconfig */;
+ buildSettings = {
+ CODE_SIGNING_ALLOWED = NO;
+ CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/Toast-Swift";
+ IBSC_MODULE = Toast_Swift;
+ INFOPLIST_FILE = "Target Support Files/Toast-Swift/ResourceBundle-Toast-Swift-Toast-Swift-Info.plist";
+ IPHONEOS_DEPLOYMENT_TARGET = 12.0;
+ PRODUCT_NAME = "Toast-Swift";
+ SDKROOT = iphoneos;
+ SKIP_INSTALL = YES;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ WRAPPER_EXTENSION = bundle;
+ };
+ name = Release;
+ };
+ FF4B3A6A9C0722F9F2CC0C97776703AE /* Release */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = 05C92DF614B75B78526637B00FED4FDB /* IQKeyboardManagerSwift.release.xcconfig */;
+ buildSettings = {
+ CODE_SIGNING_ALLOWED = NO;
+ CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/IQKeyboardManagerSwift";
+ IBSC_MODULE = IQKeyboardManagerSwift;
+ INFOPLIST_FILE = "Target Support Files/IQKeyboardManagerSwift/ResourceBundle-IQKeyboardManagerSwift-IQKeyboardManagerSwift-Info.plist";
+ IPHONEOS_DEPLOYMENT_TARGET = 13.0;
+ PRODUCT_NAME = IQKeyboardManagerSwift;
+ SDKROOT = iphoneos;
+ SKIP_INSTALL = YES;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ WRAPPER_EXTENSION = bundle;
+ };
+ name = Release;
+ };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+ 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 8DE5143C03248BB6CD542DE3963D6F3A /* Debug */,
+ 9E406C6AAF85E580207CD97B0044DEAB /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ 51448EA139E840FA83FCECC113A519FE /* Build configuration list for PBXNativeTarget "IQKeyboardManagerSwift" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ C19176D272F6631EEA7F05F8A38697C7 /* Debug */,
+ 89B8688B66C09BA698AA1E786EA8FCEE /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ 80CE967CAA1D35721519F892BAF7A19B /* Build configuration list for PBXNativeTarget "SnapKit" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 9D0D7572FEDA4CC9E75E7387846AFE57 /* Debug */,
+ BAD20131EC29650C6737E66854A3A9FD /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ 87EC2E578DA4ADCE9FBEA443B93BFBAA /* Build configuration list for PBXNativeTarget "SnapKit-SnapKit_Privacy" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 9FB030696C344EA34BACA774AF681ECE /* Debug */,
+ BF7068E92DCD137023ACAEAC8761D324 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ 9C146D0EDFB76FE1156D655A897B6E94 /* Build configuration list for PBXNativeTarget "Toast-Swift" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ E06F70F13B606F0979741BCAFE1F1003 /* Debug */,
+ 7E48D17D0469F73801BBDAF1F20755F2 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ BBDCAD9CCBFFC44C15124718110FB1B7 /* Build configuration list for PBXNativeTarget "IQKeyboardManagerSwift-IQKeyboardManagerSwift" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ BD6198E203E31476009B64B0A8DA3959 /* Debug */,
+ FF4B3A6A9C0722F9F2CC0C97776703AE /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ F7C9CDC4F854038F0AC418E3CF33C95E /* Build configuration list for PBXNativeTarget "Toast-Swift-Toast-Swift" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 9115AF5B1EDA9D1305C1F7A785025165 /* Debug */,
+ F02F22B53FD0017D62316E2895734F47 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ FD8F4491AE56B90FFA30649FF29EFED4 /* Build configuration list for PBXNativeTarget "Pods-Example" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ BB204C289D98AE5EF60E9B2664ADCD85 /* Debug */,
+ 24951B438C625992FFCD104B95B81612 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+/* End XCConfigurationList section */
+ };
+ rootObject = BFDFE7DC352907FC980B868725387E98 /* Project object */;
+}
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<Scheme
+ LastUpgradeVersion = "1600"
+ version = "1.3">
+ <BuildAction
+ parallelizeBuildables = "YES"
+ buildImplicitDependencies = "YES">
+ <BuildActionEntries>
+ <BuildActionEntry
+ buildForTesting = "YES"
+ buildForRunning = "YES"
+ buildForProfiling = "YES"
+ buildForArchiving = "YES"
+ buildForAnalyzing = "YES">
+ <BuildableReference
+ BuildableIdentifier = "primary"
+ BlueprintIdentifier = "982A68D37F5DCBC1FC1FDC0BB2F0EB8E"
+ BuildableName = "IQKeyboardManagerSwift.bundle"
+ BlueprintName = "IQKeyboardManagerSwift-IQKeyboardManagerSwift"
+ ReferencedContainer = "container:Pods.xcodeproj">
+ </BuildableReference>
+ </BuildActionEntry>
+ </BuildActionEntries>
+ </BuildAction>
+ <TestAction
+ buildConfiguration = "Debug"
+ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
+ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
+ shouldUseLaunchSchemeArgsEnv = "YES">
+ <Testables>
+ </Testables>
+ </TestAction>
+ <LaunchAction
+ buildConfiguration = "Debug"
+ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
+ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
+ launchStyle = "0"
+ useCustomWorkingDirectory = "NO"
+ ignoresPersistentStateOnLaunch = "NO"
+ debugDocumentVersioning = "YES"
+ debugServiceExtension = "internal"
+ allowLocationSimulation = "YES">
+ </LaunchAction>
+ <ProfileAction
+ buildConfiguration = "Release"
+ shouldUseLaunchSchemeArgsEnv = "YES"
+ savedToolIdentifier = ""
+ useCustomWorkingDirectory = "NO"
+ debugDocumentVersioning = "YES">
+ </ProfileAction>
+ <AnalyzeAction
+ buildConfiguration = "Debug">
+ </AnalyzeAction>
+ <ArchiveAction
+ buildConfiguration = "Release"
+ revealArchiveInOrganizer = "YES">
+ </ArchiveAction>
+</Scheme>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<Scheme
+ LastUpgradeVersion = "1600"
+ version = "1.3">
+ <BuildAction
+ parallelizeBuildables = "YES"
+ buildImplicitDependencies = "YES">
+ <BuildActionEntries>
+ <BuildActionEntry
+ buildForTesting = "YES"
+ buildForRunning = "YES"
+ buildForProfiling = "YES"
+ buildForArchiving = "YES"
+ buildForAnalyzing = "YES">
+ <BuildableReference
+ BuildableIdentifier = "primary"
+ BlueprintIdentifier = "B490E7485944099E16C9CBD79119D1D4"
+ BuildableName = "IQKeyboardManagerSwift.framework"
+ BlueprintName = "IQKeyboardManagerSwift"
+ ReferencedContainer = "container:Pods.xcodeproj">
+ </BuildableReference>
+ </BuildActionEntry>
+ </BuildActionEntries>
+ </BuildAction>
+ <TestAction
+ buildConfiguration = "Debug"
+ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
+ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
+ shouldUseLaunchSchemeArgsEnv = "YES">
+ <Testables>
+ </Testables>
+ </TestAction>
+ <LaunchAction
+ buildConfiguration = "Debug"
+ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
+ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
+ launchStyle = "0"
+ useCustomWorkingDirectory = "NO"
+ ignoresPersistentStateOnLaunch = "NO"
+ debugDocumentVersioning = "YES"
+ debugServiceExtension = "internal"
+ allowLocationSimulation = "YES">
+ </LaunchAction>
+ <ProfileAction
+ buildConfiguration = "Release"
+ shouldUseLaunchSchemeArgsEnv = "YES"
+ savedToolIdentifier = ""
+ useCustomWorkingDirectory = "NO"
+ debugDocumentVersioning = "YES">
+ </ProfileAction>
+ <AnalyzeAction
+ buildConfiguration = "Debug">
+ </AnalyzeAction>
+ <ArchiveAction
+ buildConfiguration = "Release"
+ revealArchiveInOrganizer = "YES">
+ </ArchiveAction>
+</Scheme>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<Scheme
+ LastUpgradeVersion = "1600"
+ version = "1.3">
+ <BuildAction
+ parallelizeBuildables = "YES"
+ buildImplicitDependencies = "YES">
+ <BuildActionEntries>
+ <BuildActionEntry
+ buildForTesting = "YES"
+ buildForRunning = "YES"
+ buildForProfiling = "YES"
+ buildForArchiving = "YES"
+ buildForAnalyzing = "YES">
+ <BuildableReference
+ BuildableIdentifier = "primary"
+ BlueprintIdentifier = "0AEE99A309977BD12A049FF48AF9BA4B"
+ BuildableName = "Pods_Example.framework"
+ BlueprintName = "Pods-Example"
+ ReferencedContainer = "container:Pods.xcodeproj">
+ </BuildableReference>
+ </BuildActionEntry>
+ </BuildActionEntries>
+ </BuildAction>
+ <TestAction
+ buildConfiguration = "Debug"
+ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
+ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
+ shouldUseLaunchSchemeArgsEnv = "YES">
+ <Testables>
+ </Testables>
+ </TestAction>
+ <LaunchAction
+ buildConfiguration = "Debug"
+ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
+ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
+ launchStyle = "0"
+ useCustomWorkingDirectory = "NO"
+ ignoresPersistentStateOnLaunch = "NO"
+ debugDocumentVersioning = "YES"
+ debugServiceExtension = "internal"
+ allowLocationSimulation = "YES">
+ </LaunchAction>
+ <ProfileAction
+ buildConfiguration = "Release"
+ shouldUseLaunchSchemeArgsEnv = "YES"
+ savedToolIdentifier = ""
+ useCustomWorkingDirectory = "NO"
+ debugDocumentVersioning = "YES">
+ </ProfileAction>
+ <AnalyzeAction
+ buildConfiguration = "Debug">
+ </AnalyzeAction>
+ <ArchiveAction
+ buildConfiguration = "Release"
+ revealArchiveInOrganizer = "YES">
+ </ArchiveAction>
+</Scheme>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<Scheme
+ LastUpgradeVersion = "1600"
+ version = "1.3">
+ <BuildAction
+ parallelizeBuildables = "YES"
+ buildImplicitDependencies = "YES">
+ <BuildActionEntries>
+ <BuildActionEntry
+ buildForTesting = "YES"
+ buildForRunning = "YES"
+ buildForProfiling = "YES"
+ buildForArchiving = "YES"
+ buildForAnalyzing = "YES">
+ <BuildableReference
+ BuildableIdentifier = "primary"
+ BlueprintIdentifier = "8A8DB685241263AFDF5E6B20FE67B93A"
+ BuildableName = "SnapKit_Privacy.bundle"
+ BlueprintName = "SnapKit-SnapKit_Privacy"
+ ReferencedContainer = "container:Pods.xcodeproj">
+ </BuildableReference>
+ </BuildActionEntry>
+ </BuildActionEntries>
+ </BuildAction>
+ <TestAction
+ buildConfiguration = "Debug"
+ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
+ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
+ shouldUseLaunchSchemeArgsEnv = "YES">
+ <Testables>
+ </Testables>
+ </TestAction>
+ <LaunchAction
+ buildConfiguration = "Debug"
+ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
+ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
+ launchStyle = "0"
+ useCustomWorkingDirectory = "NO"
+ ignoresPersistentStateOnLaunch = "NO"
+ debugDocumentVersioning = "YES"
+ debugServiceExtension = "internal"
+ allowLocationSimulation = "YES">
+ </LaunchAction>
+ <ProfileAction
+ buildConfiguration = "Release"
+ shouldUseLaunchSchemeArgsEnv = "YES"
+ savedToolIdentifier = ""
+ useCustomWorkingDirectory = "NO"
+ debugDocumentVersioning = "YES">
+ </ProfileAction>
+ <AnalyzeAction
+ buildConfiguration = "Debug">
+ </AnalyzeAction>
+ <ArchiveAction
+ buildConfiguration = "Release"
+ revealArchiveInOrganizer = "YES">
+ </ArchiveAction>
+</Scheme>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<Scheme
+ LastUpgradeVersion = "1600"
+ version = "1.3">
+ <BuildAction
+ parallelizeBuildables = "YES"
+ buildImplicitDependencies = "YES">
+ <BuildActionEntries>
+ <BuildActionEntry
+ buildForTesting = "YES"
+ buildForRunning = "YES"
+ buildForProfiling = "YES"
+ buildForArchiving = "YES"
+ buildForAnalyzing = "YES">
+ <BuildableReference
+ BuildableIdentifier = "primary"
+ BlueprintIdentifier = "19622742EBA51E823D6DAE3F8CDBFAD4"
+ BuildableName = "SnapKit.framework"
+ BlueprintName = "SnapKit"
+ ReferencedContainer = "container:Pods.xcodeproj">
+ </BuildableReference>
+ </BuildActionEntry>
+ </BuildActionEntries>
+ </BuildAction>
+ <TestAction
+ buildConfiguration = "Debug"
+ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
+ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
+ shouldUseLaunchSchemeArgsEnv = "YES">
+ <Testables>
+ </Testables>
+ </TestAction>
+ <LaunchAction
+ buildConfiguration = "Debug"
+ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
+ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
+ launchStyle = "0"
+ useCustomWorkingDirectory = "NO"
+ ignoresPersistentStateOnLaunch = "NO"
+ debugDocumentVersioning = "YES"
+ debugServiceExtension = "internal"
+ allowLocationSimulation = "YES">
+ </LaunchAction>
+ <ProfileAction
+ buildConfiguration = "Release"
+ shouldUseLaunchSchemeArgsEnv = "YES"
+ savedToolIdentifier = ""
+ useCustomWorkingDirectory = "NO"
+ debugDocumentVersioning = "YES">
+ </ProfileAction>
+ <AnalyzeAction
+ buildConfiguration = "Debug">
+ </AnalyzeAction>
+ <ArchiveAction
+ buildConfiguration = "Release"
+ revealArchiveInOrganizer = "YES">
+ </ArchiveAction>
+</Scheme>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<Scheme
+ LastUpgradeVersion = "1600"
+ version = "1.3">
+ <BuildAction
+ parallelizeBuildables = "YES"
+ buildImplicitDependencies = "YES">
+ <BuildActionEntries>
+ <BuildActionEntry
+ buildForTesting = "YES"
+ buildForRunning = "YES"
+ buildForProfiling = "YES"
+ buildForArchiving = "YES"
+ buildForAnalyzing = "YES">
+ <BuildableReference
+ BuildableIdentifier = "primary"
+ BlueprintIdentifier = "C344E85893FCDEE5B70436E0A4A3472B"
+ BuildableName = "Toast-Swift.bundle"
+ BlueprintName = "Toast-Swift-Toast-Swift"
+ ReferencedContainer = "container:Pods.xcodeproj">
+ </BuildableReference>
+ </BuildActionEntry>
+ </BuildActionEntries>
+ </BuildAction>
+ <TestAction
+ buildConfiguration = "Debug"
+ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
+ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
+ shouldUseLaunchSchemeArgsEnv = "YES">
+ <Testables>
+ </Testables>
+ </TestAction>
+ <LaunchAction
+ buildConfiguration = "Debug"
+ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
+ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
+ launchStyle = "0"
+ useCustomWorkingDirectory = "NO"
+ ignoresPersistentStateOnLaunch = "NO"
+ debugDocumentVersioning = "YES"
+ debugServiceExtension = "internal"
+ allowLocationSimulation = "YES">
+ </LaunchAction>
+ <ProfileAction
+ buildConfiguration = "Release"
+ shouldUseLaunchSchemeArgsEnv = "YES"
+ savedToolIdentifier = ""
+ useCustomWorkingDirectory = "NO"
+ debugDocumentVersioning = "YES">
+ </ProfileAction>
+ <AnalyzeAction
+ buildConfiguration = "Debug">
+ </AnalyzeAction>
+ <ArchiveAction
+ buildConfiguration = "Release"
+ revealArchiveInOrganizer = "YES">
+ </ArchiveAction>
+</Scheme>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<Scheme
+ LastUpgradeVersion = "1600"
+ version = "1.3">
+ <BuildAction
+ parallelizeBuildables = "YES"
+ buildImplicitDependencies = "YES">
+ <BuildActionEntries>
+ <BuildActionEntry
+ buildForTesting = "YES"
+ buildForRunning = "YES"
+ buildForProfiling = "YES"
+ buildForArchiving = "YES"
+ buildForAnalyzing = "YES">
+ <BuildableReference
+ BuildableIdentifier = "primary"
+ BlueprintIdentifier = "B990BD87169C76A3ED3FE8A9258D91A3"
+ BuildableName = "Toast_Swift.framework"
+ BlueprintName = "Toast-Swift"
+ ReferencedContainer = "container:Pods.xcodeproj">
+ </BuildableReference>
+ </BuildActionEntry>
+ </BuildActionEntries>
+ </BuildAction>
+ <TestAction
+ buildConfiguration = "Debug"
+ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
+ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
+ shouldUseLaunchSchemeArgsEnv = "YES">
+ <Testables>
+ </Testables>
+ </TestAction>
+ <LaunchAction
+ buildConfiguration = "Debug"
+ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
+ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
+ launchStyle = "0"
+ useCustomWorkingDirectory = "NO"
+ ignoresPersistentStateOnLaunch = "NO"
+ debugDocumentVersioning = "YES"
+ debugServiceExtension = "internal"
+ allowLocationSimulation = "YES">
+ </LaunchAction>
+ <ProfileAction
+ buildConfiguration = "Release"
+ shouldUseLaunchSchemeArgsEnv = "YES"
+ savedToolIdentifier = ""
+ useCustomWorkingDirectory = "NO"
+ debugDocumentVersioning = "YES">
+ </ProfileAction>
+ <AnalyzeAction
+ buildConfiguration = "Debug">
+ </AnalyzeAction>
+ <ArchiveAction
+ buildConfiguration = "Release"
+ revealArchiveInOrganizer = "YES">
+ </ArchiveAction>
+</Scheme>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>SchemeUserState</key>
+ <dict>
+ <key>IQKeyboardManagerSwift-IQKeyboardManagerSwift.xcscheme</key>
+ <dict>
+ <key>isShown</key>
+ <false/>
+ <key>orderHint</key>
+ <integer>2</integer>
+ </dict>
+ <key>IQKeyboardManagerSwift.xcscheme</key>
+ <dict>
+ <key>isShown</key>
+ <false/>
+ <key>orderHint</key>
+ <integer>1</integer>
+ </dict>
+ <key>Pods-Example.xcscheme</key>
+ <dict>
+ <key>isShown</key>
+ <false/>
+ <key>orderHint</key>
+ <integer>3</integer>
+ </dict>
+ <key>SnapKit-SnapKit_Privacy.xcscheme</key>
+ <dict>
+ <key>isShown</key>
+ <false/>
+ <key>orderHint</key>
+ <integer>5</integer>
+ </dict>
+ <key>SnapKit.xcscheme</key>
+ <dict>
+ <key>isShown</key>
+ <false/>
+ <key>orderHint</key>
+ <integer>4</integer>
+ </dict>
+ <key>Toast-Swift-Toast-Swift.xcscheme</key>
+ <dict>
+ <key>isShown</key>
+ <false/>
+ <key>orderHint</key>
+ <integer>7</integer>
+ </dict>
+ <key>Toast-Swift.xcscheme</key>
+ <dict>
+ <key>isShown</key>
+ <false/>
+ <key>orderHint</key>
+ <integer>6</integer>
+ </dict>
+ </dict>
+ <key>SuppressBuildableAutocreation</key>
+ <dict/>
+</dict>
+</plist>
--- /dev/null
+Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
--- /dev/null
+<img src="https://snapkit.github.io/SnapKit/images/banner.jpg" alt="" />
+
+SnapKit is a DSL to make Auto Layout easy on both iOS and OS X.
+
+[](https://travis-ci.org/SnapKit/SnapKit)
+[](https://github.com/SnapKit/SnapKit)
+[](https://cocoapods.org/pods/SnapKit)
+[](https://github.com/Carthage/Carthage)
+
+#### ⚠️ **To use with Swift 4.x please ensure you are using >= 4.0.0** ⚠️
+#### ⚠️ **To use with Swift 5.x please ensure you are using >= 5.0.0** ⚠️
+
+## Contents
+
+- [Requirements](#requirements)
+- [Migration Guides](#migration-guides)
+- [Communication](#communication)
+- [Installation](#installation)
+- [Usage](#usage)
+- [Credits](#credits)
+- [License](#license)
+
+## Requirements
+
+- iOS 12.0+ / Mac OS X 10.13+ / tvOS 10.0+
+- Xcode 10.0+
+- Swift 4.0+
+
+## Migration Guides
+
+- [SnapKit 3.0 Migration Guide](Documentation/SnapKit%203.0%20Migration%20Guide.md)
+
+## Communication
+
+- If you **need help**, use [Stack Overflow](http://stackoverflow.com/questions/tagged/snapkit). (Tag 'snapkit')
+- If you'd like to **ask a general question**, use [Stack Overflow](http://stackoverflow.com/questions/tagged/snapkit).
+- If you **found a bug**, open an issue.
+- If you **have a feature request**, open an issue.
+- If you **want to contribute**, submit a pull request.
+
+
+## Installation
+
+### CocoaPods
+
+[CocoaPods](http://cocoapods.org) is a dependency manager for Cocoa projects. You can install it with the following command:
+
+```bash
+$ gem install cocoapods
+```
+
+> CocoaPods 1.1.0+ is required to build SnapKit 4.0.0+.
+
+To integrate SnapKit into your Xcode project using CocoaPods, specify it in your `Podfile`:
+
+```ruby
+source 'https://github.com/CocoaPods/Specs.git'
+platform :ios, '10.0'
+use_frameworks!
+
+target '<Your Target Name>' do
+ pod 'SnapKit', '~> 5.7.0'
+end
+```
+
+Then, run the following command:
+
+```bash
+$ pod install
+```
+
+### Carthage
+
+[Carthage](https://github.com/Carthage/Carthage) is a decentralized dependency manager that builds your dependencies and provides you with binary frameworks.
+
+You can install Carthage with [Homebrew](http://brew.sh/) using the following command:
+
+```bash
+$ brew update
+$ brew install carthage
+```
+
+To integrate SnapKit into your Xcode project using Carthage, specify it in your `Cartfile`:
+
+```ogdl
+github "SnapKit/SnapKit" ~> 5.0.0
+```
+
+Run `carthage update` to build the framework and drag the built `SnapKit.framework` into your Xcode project.
+
+### Swift Package Manager
+
+[Swift Package Manager](https://swift.org/package-manager/) is a tool for managing the distribution of Swift code. It’s integrated with the Swift build system to automate the process of downloading, compiling, and linking dependencies.
+
+> Xcode 11+ is required to build SnapKit using Swift Package Manager.
+
+To integrate SnapKit into your Xcode project using Swift Package Manager, add it to the dependencies value of your `Package.swift`:
+
+```swift
+dependencies: [
+ .package(url: "https://github.com/SnapKit/SnapKit.git", .upToNextMajor(from: "5.0.1"))
+]
+```
+
+### Manually
+
+If you prefer not to use either of the aforementioned dependency managers, you can integrate SnapKit into your project manually.
+
+---
+
+## Usage
+
+### Quick Start
+
+```swift
+import SnapKit
+
+class MyViewController: UIViewController {
+
+ lazy var box = UIView()
+
+ override func viewDidLoad() {
+ super.viewDidLoad()
+
+ self.view.addSubview(box)
+ box.backgroundColor = .green
+ box.snp.makeConstraints { (make) -> Void in
+ make.width.height.equalTo(50)
+ make.center.equalTo(self.view)
+ }
+ }
+
+}
+```
+
+### Playground
+You can try SnapKit in Playground.
+
+**Note:**
+
+> To try SnapKit in playground, open `SnapKit.xcworkspace` and build SnapKit.framework for any simulator first.
+
+### Resources
+
+- [Documentation](https://snapkit.github.io/SnapKit/docs/)
+- [F.A.Q.](https://snapkit.github.io/SnapKit/faq/)
+
+## Credits
+
+- Robert Payne ([@robertjpayne](https://twitter.com/robertjpayne))
+- Many other contributors
+
+## License
+
+SnapKit is released under the MIT license. See LICENSE for details.
--- /dev/null
+//
+// SnapKit
+//
+// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+#if canImport(UIKit)
+ import UIKit
+#else
+ import AppKit
+#endif
+
+public final class Constraint {
+
+ internal let sourceLocation: (String, UInt)
+ internal let label: String?
+
+ private let from: ConstraintItem
+ private let to: ConstraintItem
+ private let relation: ConstraintRelation
+ private let multiplier: ConstraintMultiplierTarget
+ private var constant: ConstraintConstantTarget {
+ didSet {
+ self.updateConstantAndPriorityIfNeeded()
+ }
+ }
+ private var priority: ConstraintPriorityTarget {
+ didSet {
+ self.updateConstantAndPriorityIfNeeded()
+ }
+ }
+ public var layoutConstraints: [LayoutConstraint]
+
+ public var isActive: Bool {
+ set {
+ if newValue {
+ activate()
+ }
+ else {
+ deactivate()
+ }
+ }
+
+ get {
+ for layoutConstraint in self.layoutConstraints {
+ if layoutConstraint.isActive {
+ return true
+ }
+ }
+ return false
+ }
+ }
+
+ // MARK: Initialization
+
+ internal init(from: ConstraintItem,
+ to: ConstraintItem,
+ relation: ConstraintRelation,
+ sourceLocation: (String, UInt),
+ label: String?,
+ multiplier: ConstraintMultiplierTarget,
+ constant: ConstraintConstantTarget,
+ priority: ConstraintPriorityTarget) {
+ self.from = from
+ self.to = to
+ self.relation = relation
+ self.sourceLocation = sourceLocation
+ self.label = label
+ self.multiplier = multiplier
+ self.constant = constant
+ self.priority = priority
+ self.layoutConstraints = []
+
+ // get attributes
+ let layoutFromAttributes = self.from.attributes.layoutAttributes
+ let layoutToAttributes = self.to.attributes.layoutAttributes
+
+ // get layout from
+ let layoutFrom = self.from.layoutConstraintItem!
+
+ // get relation
+ let layoutRelation = self.relation.layoutRelation
+
+ for layoutFromAttribute in layoutFromAttributes {
+ // get layout to attribute
+ let layoutToAttribute: LayoutAttribute
+ #if canImport(UIKit)
+ if layoutToAttributes.count > 0 {
+ if self.from.attributes == .edges && self.to.attributes == .margins {
+ switch layoutFromAttribute {
+ case .left:
+ layoutToAttribute = .leftMargin
+ case .right:
+ layoutToAttribute = .rightMargin
+ case .top:
+ layoutToAttribute = .topMargin
+ case .bottom:
+ layoutToAttribute = .bottomMargin
+ default:
+ fatalError()
+ }
+ } else if self.from.attributes == .margins && self.to.attributes == .edges {
+ switch layoutFromAttribute {
+ case .leftMargin:
+ layoutToAttribute = .left
+ case .rightMargin:
+ layoutToAttribute = .right
+ case .topMargin:
+ layoutToAttribute = .top
+ case .bottomMargin:
+ layoutToAttribute = .bottom
+ default:
+ fatalError()
+ }
+ } else if self.from.attributes == .directionalEdges && self.to.attributes == .directionalMargins {
+ switch layoutFromAttribute {
+ case .leading:
+ layoutToAttribute = .leadingMargin
+ case .trailing:
+ layoutToAttribute = .trailingMargin
+ case .top:
+ layoutToAttribute = .topMargin
+ case .bottom:
+ layoutToAttribute = .bottomMargin
+ default:
+ fatalError()
+ }
+ } else if self.from.attributes == .directionalMargins && self.to.attributes == .directionalEdges {
+ switch layoutFromAttribute {
+ case .leadingMargin:
+ layoutToAttribute = .leading
+ case .trailingMargin:
+ layoutToAttribute = .trailing
+ case .topMargin:
+ layoutToAttribute = .top
+ case .bottomMargin:
+ layoutToAttribute = .bottom
+ default:
+ fatalError()
+ }
+ } else if self.from.attributes == self.to.attributes {
+ layoutToAttribute = layoutFromAttribute
+ } else {
+ layoutToAttribute = layoutToAttributes[0]
+ }
+ } else {
+ if self.to.target == nil && (layoutFromAttribute == .centerX || layoutFromAttribute == .centerY) {
+ layoutToAttribute = layoutFromAttribute == .centerX ? .left : .top
+ } else {
+ layoutToAttribute = layoutFromAttribute
+ }
+ }
+ #else
+ if self.from.attributes == self.to.attributes {
+ layoutToAttribute = layoutFromAttribute
+ } else if layoutToAttributes.count > 0 {
+ layoutToAttribute = layoutToAttributes[0]
+ } else {
+ layoutToAttribute = layoutFromAttribute
+ }
+ #endif
+
+ // get layout constant
+ let layoutConstant: CGFloat = self.constant.constraintConstantTargetValueFor(layoutAttribute: layoutToAttribute)
+
+ // get layout to
+ var layoutTo: AnyObject? = self.to.target
+
+ // use superview if possible
+ if layoutTo == nil && layoutToAttribute != .width && layoutToAttribute != .height {
+ layoutTo = layoutFrom.superview
+ }
+
+ // create layout constraint
+ let layoutConstraint = LayoutConstraint(
+ item: layoutFrom,
+ attribute: layoutFromAttribute,
+ relatedBy: layoutRelation,
+ toItem: layoutTo,
+ attribute: layoutToAttribute,
+ multiplier: self.multiplier.constraintMultiplierTargetValue,
+ constant: layoutConstant
+ )
+
+ // set label
+ layoutConstraint.label = self.label
+
+ // set priority
+ layoutConstraint.priority = LayoutPriority(rawValue: self.priority.constraintPriorityTargetValue)
+
+ // set constraint
+ layoutConstraint.constraint = self
+
+ // append
+ self.layoutConstraints.append(layoutConstraint)
+ }
+ }
+
+ // MARK: Public
+
+ @available(*, deprecated, renamed:"activate()")
+ public func install() {
+ self.activate()
+ }
+
+ @available(*, deprecated, renamed:"deactivate()")
+ public func uninstall() {
+ self.deactivate()
+ }
+
+ public func activate() {
+ self.activateIfNeeded()
+ }
+
+ public func deactivate() {
+ self.deactivateIfNeeded()
+ }
+
+ @discardableResult
+ public func update(offset: ConstraintOffsetTarget) -> Constraint {
+ self.constant = offset.constraintOffsetTargetValue
+ return self
+ }
+
+ @discardableResult
+ public func update(inset: ConstraintInsetTarget) -> Constraint {
+ self.constant = inset.constraintInsetTargetValue
+ return self
+ }
+
+ #if canImport(UIKit)
+ @discardableResult
+ @available(iOS 11.0, tvOS 11.0, *)
+ public func update(inset: ConstraintDirectionalInsetTarget) -> Constraint {
+ self.constant = inset.constraintDirectionalInsetTargetValue
+ return self
+ }
+ #endif
+
+ @discardableResult
+ public func update(priority: ConstraintPriorityTarget) -> Constraint {
+ self.priority = priority.constraintPriorityTargetValue
+ return self
+ }
+
+ @discardableResult
+ public func update(priority: ConstraintPriority) -> Constraint {
+ self.priority = priority.value
+ return self
+ }
+
+ @available(*, deprecated, renamed:"update(offset:)")
+ public func updateOffset(amount: ConstraintOffsetTarget) -> Void { self.update(offset: amount) }
+
+ @available(*, deprecated, renamed:"update(inset:)")
+ public func updateInsets(amount: ConstraintInsetTarget) -> Void { self.update(inset: amount) }
+
+ @available(*, deprecated, renamed:"update(priority:)")
+ public func updatePriority(amount: ConstraintPriorityTarget) -> Void { self.update(priority: amount) }
+
+ @available(*, deprecated, message:"Use update(priority: ConstraintPriorityTarget) instead.")
+ public func updatePriorityRequired() -> Void {}
+
+ @available(*, deprecated, message:"Use update(priority: ConstraintPriorityTarget) instead.")
+ public func updatePriorityHigh() -> Void { fatalError("Must be implemented by Concrete subclass.") }
+
+ @available(*, deprecated, message:"Use update(priority: ConstraintPriorityTarget) instead.")
+ public func updatePriorityMedium() -> Void { fatalError("Must be implemented by Concrete subclass.") }
+
+ @available(*, deprecated, message:"Use update(priority: ConstraintPriorityTarget) instead.")
+ public func updatePriorityLow() -> Void { fatalError("Must be implemented by Concrete subclass.") }
+
+ // MARK: Internal
+
+ internal func updateConstantAndPriorityIfNeeded() {
+ for layoutConstraint in self.layoutConstraints {
+ let attribute = (layoutConstraint.secondAttribute == .notAnAttribute) ? layoutConstraint.firstAttribute : layoutConstraint.secondAttribute
+ layoutConstraint.constant = self.constant.constraintConstantTargetValueFor(layoutAttribute: attribute)
+
+ let requiredPriority = ConstraintPriority.required.value
+ if (layoutConstraint.priority.rawValue < requiredPriority), (self.priority.constraintPriorityTargetValue != requiredPriority) {
+ layoutConstraint.priority = LayoutPriority(rawValue: self.priority.constraintPriorityTargetValue)
+ }
+ }
+ }
+
+ internal func activateIfNeeded(updatingExisting: Bool = false) {
+ guard let item = self.from.layoutConstraintItem else {
+ print("WARNING: SnapKit failed to get from item from constraint. Activate will be a no-op.")
+ return
+ }
+ let layoutConstraints = self.layoutConstraints
+
+ if updatingExisting {
+ var existingLayoutConstraints: [LayoutConstraint] = []
+ for constraint in item.constraints {
+ existingLayoutConstraints += constraint.layoutConstraints
+ }
+
+ for layoutConstraint in layoutConstraints {
+ let existingLayoutConstraint = existingLayoutConstraints.first { $0 == layoutConstraint }
+ guard let updateLayoutConstraint = existingLayoutConstraint else {
+ fatalError("Updated constraint could not find existing matching constraint to update: \(layoutConstraint)")
+ }
+
+ let updateLayoutAttribute = (updateLayoutConstraint.secondAttribute == .notAnAttribute) ? updateLayoutConstraint.firstAttribute : updateLayoutConstraint.secondAttribute
+ updateLayoutConstraint.constant = self.constant.constraintConstantTargetValueFor(layoutAttribute: updateLayoutAttribute)
+ }
+ } else {
+ NSLayoutConstraint.activate(layoutConstraints)
+ item.add(constraints: [self])
+ }
+ }
+
+ internal func deactivateIfNeeded() {
+ guard let item = self.from.layoutConstraintItem else {
+ print("WARNING: SnapKit failed to get from item from constraint. Deactivate will be a no-op.")
+ return
+ }
+ let layoutConstraints = self.layoutConstraints
+ NSLayoutConstraint.deactivate(layoutConstraints)
+ item.remove(constraints: [self])
+ }
+}
--- /dev/null
+//
+// SnapKit
+//
+// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+#if canImport(UIKit)
+ import UIKit
+#else
+ import AppKit
+#endif
+
+
+internal struct ConstraintAttributes : OptionSet, ExpressibleByIntegerLiteral {
+
+ typealias IntegerLiteralType = UInt
+
+ internal init(rawValue: UInt) {
+ self.rawValue = rawValue
+ }
+ internal init(_ rawValue: UInt) {
+ self.init(rawValue: rawValue)
+ }
+ internal init(nilLiteral: ()) {
+ self.rawValue = 0
+ }
+ internal init(integerLiteral rawValue: IntegerLiteralType) {
+ self.init(rawValue: rawValue)
+ }
+
+ internal private(set) var rawValue: UInt
+ internal static var allZeros: ConstraintAttributes { return 0 }
+ internal static func convertFromNilLiteral() -> ConstraintAttributes { return 0 }
+ internal var boolValue: Bool { return self.rawValue != 0 }
+
+ internal func toRaw() -> UInt { return self.rawValue }
+ internal static func fromRaw(_ raw: UInt) -> ConstraintAttributes? { return self.init(raw) }
+ internal static func fromMask(_ raw: UInt) -> ConstraintAttributes { return self.init(raw) }
+
+ // normal
+
+ internal static let none: ConstraintAttributes = 0
+ internal static let left: ConstraintAttributes = ConstraintAttributes(UInt(1) << 0)
+ internal static let top: ConstraintAttributes = ConstraintAttributes(UInt(1) << 1)
+ internal static let right: ConstraintAttributes = ConstraintAttributes(UInt(1) << 2)
+ internal static let bottom: ConstraintAttributes = ConstraintAttributes(UInt(1) << 3)
+ internal static let leading: ConstraintAttributes = ConstraintAttributes(UInt(1) << 4)
+ internal static let trailing: ConstraintAttributes = ConstraintAttributes(UInt(1) << 5)
+ internal static let width: ConstraintAttributes = ConstraintAttributes(UInt(1) << 6)
+ internal static let height: ConstraintAttributes = ConstraintAttributes(UInt(1) << 7)
+ internal static let centerX: ConstraintAttributes = ConstraintAttributes(UInt(1) << 8)
+ internal static let centerY: ConstraintAttributes = ConstraintAttributes(UInt(1) << 9)
+ internal static let lastBaseline: ConstraintAttributes = ConstraintAttributes(UInt(1) << 10)
+
+ @available(iOS 8.0, OSX 10.11, *)
+ internal static let firstBaseline: ConstraintAttributes = ConstraintAttributes(UInt(1) << 11)
+
+ @available(iOS 8.0, *)
+ internal static let leftMargin: ConstraintAttributes = ConstraintAttributes(UInt(1) << 12)
+
+ @available(iOS 8.0, *)
+ internal static let rightMargin: ConstraintAttributes = ConstraintAttributes(UInt(1) << 13)
+
+ @available(iOS 8.0, *)
+ internal static let topMargin: ConstraintAttributes = ConstraintAttributes(UInt(1) << 14)
+
+ @available(iOS 8.0, *)
+ internal static let bottomMargin: ConstraintAttributes = ConstraintAttributes(UInt(1) << 15)
+
+ @available(iOS 8.0, *)
+ internal static let leadingMargin: ConstraintAttributes = ConstraintAttributes(UInt(1) << 16)
+
+ @available(iOS 8.0, *)
+ internal static let trailingMargin: ConstraintAttributes = ConstraintAttributes(UInt(1) << 17)
+
+ @available(iOS 8.0, *)
+ internal static let centerXWithinMargins: ConstraintAttributes = ConstraintAttributes(UInt(1) << 18)
+
+ @available(iOS 8.0, *)
+ internal static let centerYWithinMargins: ConstraintAttributes = ConstraintAttributes(UInt(1) << 19)
+
+ // aggregates
+
+ internal static let edges: ConstraintAttributes = [.horizontalEdges, .verticalEdges]
+ internal static let horizontalEdges: ConstraintAttributes = [.left, .right]
+ internal static let verticalEdges: ConstraintAttributes = [.top, .bottom]
+ internal static let directionalEdges: ConstraintAttributes = [.directionalHorizontalEdges, .directionalVerticalEdges]
+ internal static let directionalHorizontalEdges: ConstraintAttributes = [.leading, .trailing]
+ internal static let directionalVerticalEdges: ConstraintAttributes = [.top, .bottom]
+ internal static let size: ConstraintAttributes = [.width, .height]
+ internal static let center: ConstraintAttributes = [.centerX, .centerY]
+
+ @available(iOS 8.0, *)
+ internal static let margins: ConstraintAttributes = [.leftMargin, .topMargin, .rightMargin, .bottomMargin]
+
+ @available(iOS 8.0, *)
+ internal static let directionalMargins: ConstraintAttributes = [.leadingMargin, .topMargin, .trailingMargin, .bottomMargin]
+
+ @available(iOS 8.0, *)
+ internal static let centerWithinMargins: ConstraintAttributes = [.centerXWithinMargins, .centerYWithinMargins]
+
+ internal var layoutAttributes:[LayoutAttribute] {
+ var attrs = [LayoutAttribute]()
+ if (self.contains(ConstraintAttributes.left)) {
+ attrs.append(.left)
+ }
+ if (self.contains(ConstraintAttributes.top)) {
+ attrs.append(.top)
+ }
+ if (self.contains(ConstraintAttributes.right)) {
+ attrs.append(.right)
+ }
+ if (self.contains(ConstraintAttributes.bottom)) {
+ attrs.append(.bottom)
+ }
+ if (self.contains(ConstraintAttributes.leading)) {
+ attrs.append(.leading)
+ }
+ if (self.contains(ConstraintAttributes.trailing)) {
+ attrs.append(.trailing)
+ }
+ if (self.contains(ConstraintAttributes.width)) {
+ attrs.append(.width)
+ }
+ if (self.contains(ConstraintAttributes.height)) {
+ attrs.append(.height)
+ }
+ if (self.contains(ConstraintAttributes.centerX)) {
+ attrs.append(.centerX)
+ }
+ if (self.contains(ConstraintAttributes.centerY)) {
+ attrs.append(.centerY)
+ }
+ if (self.contains(ConstraintAttributes.lastBaseline)) {
+ attrs.append(.lastBaseline)
+ }
+
+ #if canImport(UIKit)
+ if (self.contains(ConstraintAttributes.firstBaseline)) {
+ attrs.append(.firstBaseline)
+ }
+ if (self.contains(ConstraintAttributes.leftMargin)) {
+ attrs.append(.leftMargin)
+ }
+ if (self.contains(ConstraintAttributes.rightMargin)) {
+ attrs.append(.rightMargin)
+ }
+ if (self.contains(ConstraintAttributes.topMargin)) {
+ attrs.append(.topMargin)
+ }
+ if (self.contains(ConstraintAttributes.bottomMargin)) {
+ attrs.append(.bottomMargin)
+ }
+ if (self.contains(ConstraintAttributes.leadingMargin)) {
+ attrs.append(.leadingMargin)
+ }
+ if (self.contains(ConstraintAttributes.trailingMargin)) {
+ attrs.append(.trailingMargin)
+ }
+ if (self.contains(ConstraintAttributes.centerXWithinMargins)) {
+ attrs.append(.centerXWithinMargins)
+ }
+ if (self.contains(ConstraintAttributes.centerYWithinMargins)) {
+ attrs.append(.centerYWithinMargins)
+ }
+ #endif
+
+ return attrs
+ }
+}
+
+internal func + (left: ConstraintAttributes, right: ConstraintAttributes) -> ConstraintAttributes {
+ return left.union(right)
+}
+
+internal func +=(left: inout ConstraintAttributes, right: ConstraintAttributes) {
+ left.formUnion(right)
+}
+
+internal func -=(left: inout ConstraintAttributes, right: ConstraintAttributes) {
+ left.subtract(right)
+}
+
+internal func ==(left: ConstraintAttributes, right: ConstraintAttributes) -> Bool {
+ return left.rawValue == right.rawValue
+}
--- /dev/null
+//
+// SnapKit
+//
+// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+#if canImport(UIKit)
+ import UIKit
+ public typealias ConstraintInterfaceLayoutDirection = UIUserInterfaceLayoutDirection
+#else
+ import AppKit
+ public typealias ConstraintInterfaceLayoutDirection = NSUserInterfaceLayoutDirection
+#endif
+
+
+public struct ConstraintConfig {
+
+ public static var interfaceLayoutDirection: ConstraintInterfaceLayoutDirection = .leftToRight
+
+}
--- /dev/null
+//
+// SnapKit
+//
+// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+#if canImport(UIKit)
+ import UIKit
+#else
+ import AppKit
+#endif
+
+
+public protocol ConstraintConstantTarget {
+}
+
+extension CGPoint: ConstraintConstantTarget {
+}
+
+extension CGSize: ConstraintConstantTarget {
+}
+
+extension ConstraintInsets: ConstraintConstantTarget {
+}
+
+#if canImport(UIKit)
+@available(iOS 11.0, tvOS 11.0, *)
+extension ConstraintDirectionalInsets: ConstraintConstantTarget {
+}
+#endif
+
+extension ConstraintConstantTarget {
+
+ internal func constraintConstantTargetValueFor(layoutAttribute: LayoutAttribute) -> CGFloat {
+ if let value = self as? CGFloat {
+ return value
+ }
+
+ if let value = self as? Float {
+ return CGFloat(value)
+ }
+
+ if let value = self as? Double {
+ return CGFloat(value)
+ }
+
+ if let value = self as? Int {
+ return CGFloat(value)
+ }
+
+ if let value = self as? UInt {
+ return CGFloat(value)
+ }
+
+ if let value = self as? CGSize {
+ if layoutAttribute == .width {
+ return value.width
+ } else if layoutAttribute == .height {
+ return value.height
+ } else {
+ return 0.0
+ }
+ }
+
+ if let value = self as? CGPoint {
+ #if canImport(UIKit)
+ switch layoutAttribute {
+ case .left, .right, .leading, .trailing, .centerX, .leftMargin, .rightMargin, .leadingMargin, .trailingMargin, .centerXWithinMargins:
+ return value.x
+ case .top, .bottom, .centerY, .topMargin, .bottomMargin, .centerYWithinMargins, .lastBaseline, .firstBaseline:
+ return value.y
+ case .width, .height, .notAnAttribute:
+ return 0.0
+ #if swift(>=5.0)
+ @unknown default:
+ return 0.0
+ #endif
+ }
+ #else
+ switch layoutAttribute {
+ case .left, .right, .leading, .trailing, .centerX:
+ return value.x
+ case .top, .bottom, .centerY, .lastBaseline, .firstBaseline:
+ return value.y
+ case .width, .height, .notAnAttribute:
+ return 0.0
+ #if swift(>=5.0)
+ @unknown default:
+ return 0.0
+ #endif
+ }
+ #endif
+ }
+
+ if let value = self as? ConstraintInsets {
+ #if canImport(UIKit)
+ switch layoutAttribute {
+ case .left, .leftMargin:
+ return value.left
+ case .top, .topMargin, .firstBaseline:
+ return value.top
+ case .right, .rightMargin:
+ return -value.right
+ case .bottom, .bottomMargin, .lastBaseline:
+ return -value.bottom
+ case .leading, .leadingMargin:
+ return (ConstraintConfig.interfaceLayoutDirection == .leftToRight) ? value.left : value.right
+ case .trailing, .trailingMargin:
+ return (ConstraintConfig.interfaceLayoutDirection == .leftToRight) ? -value.right : -value.left
+ case .centerX, .centerXWithinMargins:
+ return (value.left - value.right) / 2
+ case .centerY, .centerYWithinMargins:
+ return (value.top - value.bottom) / 2
+ case .width:
+ return -(value.left + value.right)
+ case .height:
+ return -(value.top + value.bottom)
+ case .notAnAttribute:
+ return 0.0
+ #if swift(>=5.0)
+ @unknown default:
+ return 0.0
+ #endif
+ }
+ #else
+ switch layoutAttribute {
+ case .left:
+ return value.left
+ case .top, .firstBaseline:
+ return value.top
+ case .right:
+ return -value.right
+ case .bottom, .lastBaseline:
+ return -value.bottom
+ case .leading:
+ return (ConstraintConfig.interfaceLayoutDirection == .leftToRight) ? value.left : value.right
+ case .trailing:
+ return (ConstraintConfig.interfaceLayoutDirection == .leftToRight) ? -value.right : -value.left
+ case .centerX:
+ return (value.left - value.right) / 2
+ case .centerY:
+ return (value.top - value.bottom) / 2
+ case .width:
+ return -(value.left + value.right)
+ case .height:
+ return -(value.top + value.bottom)
+ case .notAnAttribute:
+ return 0.0
+ #if swift(>=5.0)
+ @unknown default:
+ return 0.0
+ #endif
+ }
+ #endif
+ }
+
+ #if canImport(UIKit)
+ if #available(iOS 11.0, tvOS 11.0, *), let value = self as? ConstraintDirectionalInsets {
+ switch layoutAttribute {
+ case .left, .leftMargin:
+ return (ConstraintConfig.interfaceLayoutDirection == .leftToRight) ? value.leading : value.trailing
+ case .top, .topMargin, .firstBaseline:
+ return value.top
+ case .right, .rightMargin:
+ return (ConstraintConfig.interfaceLayoutDirection == .leftToRight) ? -value.trailing : -value.leading
+ case .bottom, .bottomMargin, .lastBaseline:
+ return -value.bottom
+ case .leading, .leadingMargin:
+ return value.leading
+ case .trailing, .trailingMargin:
+ return -value.trailing
+ case .centerX, .centerXWithinMargins:
+ return (value.leading - value.trailing) / 2
+ case .centerY, .centerYWithinMargins:
+ return (value.top - value.bottom) / 2
+ case .width:
+ return -(value.leading + value.trailing)
+ case .height:
+ return -(value.top + value.bottom)
+ case .notAnAttribute:
+ return 0.0
+ #if swift(>=5.0)
+ @unknown default:
+ return 0.0
+ #else
+ default:
+ return 0.0
+ #endif
+ }
+ }
+ #endif
+
+ return 0.0
+ }
+
+}
--- /dev/null
+//
+// SnapKit
+//
+// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+#if canImport(UIKit)
+ import UIKit
+#else
+ import AppKit
+#endif
+
+
+public protocol ConstraintDSL {
+
+ var target: AnyObject? { get }
+
+ func setLabel(_ value: String?)
+ func label() -> String?
+
+}
+extension ConstraintDSL {
+
+ public func setLabel(_ value: String?) {
+ objc_setAssociatedObject(self.target as Any, &labelKey, value, .OBJC_ASSOCIATION_COPY_NONATOMIC)
+ }
+ public func label() -> String? {
+ return objc_getAssociatedObject(self.target as Any, &labelKey) as? String
+ }
+
+}
+private var labelKey: UInt8 = 0
+
+
+public protocol ConstraintBasicAttributesDSL : ConstraintDSL {
+}
+extension ConstraintBasicAttributesDSL {
+
+ // MARK: Basics
+
+ public var left: ConstraintItem {
+ return ConstraintItem(target: self.target, attributes: ConstraintAttributes.left)
+ }
+
+ public var top: ConstraintItem {
+ return ConstraintItem(target: self.target, attributes: ConstraintAttributes.top)
+ }
+
+ public var right: ConstraintItem {
+ return ConstraintItem(target: self.target, attributes: ConstraintAttributes.right)
+ }
+
+ public var bottom: ConstraintItem {
+ return ConstraintItem(target: self.target, attributes: ConstraintAttributes.bottom)
+ }
+
+ public var leading: ConstraintItem {
+ return ConstraintItem(target: self.target, attributes: ConstraintAttributes.leading)
+ }
+
+ public var trailing: ConstraintItem {
+ return ConstraintItem(target: self.target, attributes: ConstraintAttributes.trailing)
+ }
+
+ public var width: ConstraintItem {
+ return ConstraintItem(target: self.target, attributes: ConstraintAttributes.width)
+ }
+
+ public var height: ConstraintItem {
+ return ConstraintItem(target: self.target, attributes: ConstraintAttributes.height)
+ }
+
+ public var centerX: ConstraintItem {
+ return ConstraintItem(target: self.target, attributes: ConstraintAttributes.centerX)
+ }
+
+ public var centerY: ConstraintItem {
+ return ConstraintItem(target: self.target, attributes: ConstraintAttributes.centerY)
+ }
+
+ public var edges: ConstraintItem {
+ return ConstraintItem(target: self.target, attributes: ConstraintAttributes.edges)
+ }
+
+ public var directionalEdges: ConstraintItem {
+ return ConstraintItem(target: self.target, attributes: ConstraintAttributes.directionalEdges)
+ }
+
+ public var horizontalEdges: ConstraintItem {
+ return ConstraintItem(target: self.target, attributes: ConstraintAttributes.horizontalEdges)
+ }
+
+ public var verticalEdges: ConstraintItem {
+ return ConstraintItem(target: self.target, attributes: ConstraintAttributes.verticalEdges)
+ }
+
+ public var directionalHorizontalEdges: ConstraintItem {
+ return ConstraintItem(target: self.target, attributes: ConstraintAttributes.directionalHorizontalEdges)
+ }
+
+ public var directionalVerticalEdges: ConstraintItem {
+ return ConstraintItem(target: self.target, attributes: ConstraintAttributes.directionalVerticalEdges)
+ }
+
+ public var size: ConstraintItem {
+ return ConstraintItem(target: self.target, attributes: ConstraintAttributes.size)
+ }
+
+ public var center: ConstraintItem {
+ return ConstraintItem(target: self.target, attributes: ConstraintAttributes.center)
+ }
+
+}
+
+public protocol ConstraintAttributesDSL : ConstraintBasicAttributesDSL {
+}
+extension ConstraintAttributesDSL {
+
+ // MARK: Baselines
+ @available(*, deprecated, renamed:"lastBaseline")
+ public var baseline: ConstraintItem {
+ return ConstraintItem(target: self.target, attributes: ConstraintAttributes.lastBaseline)
+ }
+
+ @available(iOS 8.0, OSX 10.11, *)
+ public var lastBaseline: ConstraintItem {
+ return ConstraintItem(target: self.target, attributes: ConstraintAttributes.lastBaseline)
+ }
+
+ @available(iOS 8.0, OSX 10.11, *)
+ public var firstBaseline: ConstraintItem {
+ return ConstraintItem(target: self.target, attributes: ConstraintAttributes.firstBaseline)
+ }
+
+ // MARK: Margins
+
+ @available(iOS 8.0, *)
+ public var leftMargin: ConstraintItem {
+ return ConstraintItem(target: self.target, attributes: ConstraintAttributes.leftMargin)
+ }
+
+ @available(iOS 8.0, *)
+ public var topMargin: ConstraintItem {
+ return ConstraintItem(target: self.target, attributes: ConstraintAttributes.topMargin)
+ }
+
+ @available(iOS 8.0, *)
+ public var rightMargin: ConstraintItem {
+ return ConstraintItem(target: self.target, attributes: ConstraintAttributes.rightMargin)
+ }
+
+ @available(iOS 8.0, *)
+ public var bottomMargin: ConstraintItem {
+ return ConstraintItem(target: self.target, attributes: ConstraintAttributes.bottomMargin)
+ }
+
+ @available(iOS 8.0, *)
+ public var leadingMargin: ConstraintItem {
+ return ConstraintItem(target: self.target, attributes: ConstraintAttributes.leadingMargin)
+ }
+
+ @available(iOS 8.0, *)
+ public var trailingMargin: ConstraintItem {
+ return ConstraintItem(target: self.target, attributes: ConstraintAttributes.trailingMargin)
+ }
+
+ @available(iOS 8.0, *)
+ public var centerXWithinMargins: ConstraintItem {
+ return ConstraintItem(target: self.target, attributes: ConstraintAttributes.centerXWithinMargins)
+ }
+
+ @available(iOS 8.0, *)
+ public var centerYWithinMargins: ConstraintItem {
+ return ConstraintItem(target: self.target, attributes: ConstraintAttributes.centerYWithinMargins)
+ }
+
+ @available(iOS 8.0, *)
+ public var margins: ConstraintItem {
+ return ConstraintItem(target: self.target, attributes: ConstraintAttributes.margins)
+ }
+
+ @available(iOS 8.0, *)
+ public var directionalMargins: ConstraintItem {
+ return ConstraintItem(target: self.target, attributes: ConstraintAttributes.directionalMargins)
+ }
+
+ @available(iOS 8.0, *)
+ public var centerWithinMargins: ConstraintItem {
+ return ConstraintItem(target: self.target, attributes: ConstraintAttributes.centerWithinMargins)
+ }
+
+}
--- /dev/null
+//
+// SnapKit
+//
+// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+#if canImport(UIKit)
+ import UIKit
+#else
+ import AppKit
+#endif
+
+
+public class ConstraintDescription {
+
+ internal let item: LayoutConstraintItem
+ internal var attributes: ConstraintAttributes
+ internal var relation: ConstraintRelation? = nil
+ internal var sourceLocation: (String, UInt)? = nil
+ internal var label: String? = nil
+ internal var related: ConstraintItem? = nil
+ internal var multiplier: ConstraintMultiplierTarget = 1.0
+ internal var constant: ConstraintConstantTarget = 0.0
+ internal var priority: ConstraintPriorityTarget = 1000.0
+ internal lazy var constraint: Constraint? = {
+ guard let relation = self.relation,
+ let related = self.related,
+ let sourceLocation = self.sourceLocation else {
+ return nil
+ }
+ let from = ConstraintItem(target: self.item, attributes: self.attributes)
+
+ return Constraint(
+ from: from,
+ to: related,
+ relation: relation,
+ sourceLocation: sourceLocation,
+ label: self.label,
+ multiplier: self.multiplier,
+ constant: self.constant,
+ priority: self.priority
+ )
+ }()
+
+ // MARK: Initialization
+
+ internal init(item: LayoutConstraintItem, attributes: ConstraintAttributes) {
+ self.item = item
+ self.attributes = attributes
+ }
+
+}
--- /dev/null
+//
+// SnapKit
+//
+// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+#if canImport(UIKit)
+import UIKit
+#else
+import AppKit
+#endif
+
+#if canImport(UIKit)
+public protocol ConstraintDirectionalInsetTarget: ConstraintConstantTarget {
+}
+
+@available(iOS 11.0, tvOS 11.0, *)
+extension ConstraintDirectionalInsets: ConstraintDirectionalInsetTarget {
+}
+
+extension ConstraintDirectionalInsetTarget {
+
+ @available(iOS 11.0, tvOS 11.0, *)
+ internal var constraintDirectionalInsetTargetValue: ConstraintDirectionalInsets {
+ if let amount = self as? ConstraintDirectionalInsets {
+ return amount
+ } else {
+ return ConstraintDirectionalInsets(top: 0, leading: 0, bottom: 0, trailing: 0)
+ }
+ }
+}
+#endif
--- /dev/null
+//
+// SnapKit
+//
+// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+#if canImport(UIKit)
+ import UIKit
+#else
+ import AppKit
+#endif
+
+
+#if canImport(UIKit)
+ @available(iOS 11.0, tvOS 11.0, *)
+ public typealias ConstraintDirectionalInsets = NSDirectionalEdgeInsets
+#endif
--- /dev/null
+//
+// SnapKit
+//
+// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+#if canImport(UIKit)
+ import UIKit
+#else
+ import AppKit
+#endif
+
+
+public protocol ConstraintInsetTarget: ConstraintConstantTarget {
+}
+
+extension Int: ConstraintInsetTarget {
+}
+
+extension UInt: ConstraintInsetTarget {
+}
+
+extension Float: ConstraintInsetTarget {
+}
+
+extension Double: ConstraintInsetTarget {
+}
+
+extension CGFloat: ConstraintInsetTarget {
+}
+
+extension ConstraintInsets: ConstraintInsetTarget {
+}
+
+extension ConstraintInsetTarget {
+
+ internal var constraintInsetTargetValue: ConstraintInsets {
+ if let amount = self as? ConstraintInsets {
+ return amount
+ } else if let amount = self as? Float {
+ return ConstraintInsets(top: CGFloat(amount), left: CGFloat(amount), bottom: CGFloat(amount), right: CGFloat(amount))
+ } else if let amount = self as? Double {
+ return ConstraintInsets(top: CGFloat(amount), left: CGFloat(amount), bottom: CGFloat(amount), right: CGFloat(amount))
+ } else if let amount = self as? CGFloat {
+ return ConstraintInsets(top: amount, left: amount, bottom: amount, right: amount)
+ } else if let amount = self as? Int {
+ return ConstraintInsets(top: CGFloat(amount), left: CGFloat(amount), bottom: CGFloat(amount), right: CGFloat(amount))
+ } else if let amount = self as? UInt {
+ return ConstraintInsets(top: CGFloat(amount), left: CGFloat(amount), bottom: CGFloat(amount), right: CGFloat(amount))
+ } else {
+ return ConstraintInsets(top: 0, left: 0, bottom: 0, right: 0)
+ }
+ }
+
+}
--- /dev/null
+//
+// SnapKit
+//
+// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+#if canImport(UIKit)
+ import UIKit
+#else
+ import AppKit
+#endif
+
+
+#if canImport(UIKit)
+ public typealias ConstraintInsets = UIEdgeInsets
+#else
+ public typealias ConstraintInsets = NSEdgeInsets
+#endif
--- /dev/null
+//
+// SnapKit
+//
+// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+#if canImport(UIKit)
+ import UIKit
+#else
+ import AppKit
+#endif
+
+
+public final class ConstraintItem {
+
+ internal weak var target: AnyObject?
+ internal let attributes: ConstraintAttributes
+
+ internal init(target: AnyObject?, attributes: ConstraintAttributes) {
+ self.target = target
+ self.attributes = attributes
+ }
+
+ internal var layoutConstraintItem: LayoutConstraintItem? {
+ return self.target as? LayoutConstraintItem
+ }
+
+}
+
+public func ==(lhs: ConstraintItem, rhs: ConstraintItem) -> Bool {
+ // pointer equality
+ guard lhs !== rhs else {
+ return true
+ }
+
+ // must both have valid targets and identical attributes
+ guard let target1 = lhs.target,
+ let target2 = rhs.target,
+ target1 === target2 && lhs.attributes == rhs.attributes else {
+ return false
+ }
+
+ return true
+}
--- /dev/null
+//
+// SnapKit
+//
+// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+#if canImport(UIKit)
+ import UIKit
+#endif
+
+
+@available(iOS 9.0, OSX 10.11, *)
+public extension ConstraintLayoutGuide {
+
+ var snp: ConstraintLayoutGuideDSL {
+ return ConstraintLayoutGuideDSL(guide: self)
+ }
+
+}
--- /dev/null
+//
+// SnapKit
+//
+// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+#if canImport(UIKit)
+ import UIKit
+#else
+ import AppKit
+#endif
+
+
+#if canImport(UIKit)
+ @available(iOS 9.0, *)
+ public typealias ConstraintLayoutGuide = UILayoutGuide
+#else
+ @available(OSX 10.11, *)
+ public typealias ConstraintLayoutGuide = NSLayoutGuide
+#endif
--- /dev/null
+//
+// SnapKit
+//
+// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+#if canImport(UIKit)
+ import UIKit
+#else
+ import AppKit
+#endif
+
+
+@available(iOS 9.0, OSX 10.11, *)
+public struct ConstraintLayoutGuideDSL: ConstraintAttributesDSL {
+
+ @discardableResult
+ public func prepareConstraints(_ closure: (_ make: ConstraintMaker) -> Void) -> [Constraint] {
+ return ConstraintMaker.prepareConstraints(item: self.guide, closure: closure)
+ }
+
+ public func makeConstraints(_ closure: (_ make: ConstraintMaker) -> Void) {
+ ConstraintMaker.makeConstraints(item: self.guide, closure: closure)
+ }
+
+ public func remakeConstraints(_ closure: (_ make: ConstraintMaker) -> Void) {
+ ConstraintMaker.remakeConstraints(item: self.guide, closure: closure)
+ }
+
+ public func updateConstraints(_ closure: (_ make: ConstraintMaker) -> Void) {
+ ConstraintMaker.updateConstraints(item: self.guide, closure: closure)
+ }
+
+ public func removeConstraints() {
+ ConstraintMaker.removeConstraints(item: self.guide)
+ }
+
+ public var target: AnyObject? {
+ return self.guide
+ }
+
+ internal let guide: ConstraintLayoutGuide
+
+ internal init(guide: ConstraintLayoutGuide) {
+ self.guide = guide
+
+ }
+
+}
--- /dev/null
+//
+// SnapKit
+//
+// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+#if canImport(UIKit)
+ import UIKit
+#else
+ import AppKit
+#endif
+
+
+#if canImport(UIKit)
+ @available(iOS 8.0, *)
+ public typealias ConstraintLayoutSupport = UILayoutSupport
+#else
+ public class ConstraintLayoutSupport {}
+#endif
--- /dev/null
+//
+// SnapKit
+//
+// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+#if canImport(UIKit)
+ import UIKit
+#else
+ import AppKit
+#endif
+
+
+@available(iOS 8.0, *)
+public struct ConstraintLayoutSupportDSL: ConstraintDSL {
+
+ public var target: AnyObject? {
+ return self.support
+ }
+
+ internal let support: ConstraintLayoutSupport
+
+ internal init(support: ConstraintLayoutSupport) {
+ self.support = support
+
+ }
+
+ public var top: ConstraintItem {
+ return ConstraintItem(target: self.target, attributes: ConstraintAttributes.top)
+ }
+
+ public var bottom: ConstraintItem {
+ return ConstraintItem(target: self.target, attributes: ConstraintAttributes.bottom)
+ }
+
+ public var height: ConstraintItem {
+ return ConstraintItem(target: self.target, attributes: ConstraintAttributes.height)
+ }
+}
--- /dev/null
+//
+// SnapKit
+//
+// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+#if canImport(UIKit)
+ import UIKit
+#else
+ import AppKit
+#endif
+
+public class ConstraintMaker {
+
+ public var left: ConstraintMakerExtendable {
+ return self.makeExtendableWithAttributes(.left)
+ }
+
+ public var top: ConstraintMakerExtendable {
+ return self.makeExtendableWithAttributes(.top)
+ }
+
+ public var bottom: ConstraintMakerExtendable {
+ return self.makeExtendableWithAttributes(.bottom)
+ }
+
+ public var right: ConstraintMakerExtendable {
+ return self.makeExtendableWithAttributes(.right)
+ }
+
+ public var leading: ConstraintMakerExtendable {
+ return self.makeExtendableWithAttributes(.leading)
+ }
+
+ public var trailing: ConstraintMakerExtendable {
+ return self.makeExtendableWithAttributes(.trailing)
+ }
+
+ public var width: ConstraintMakerExtendable {
+ return self.makeExtendableWithAttributes(.width)
+ }
+
+ public var height: ConstraintMakerExtendable {
+ return self.makeExtendableWithAttributes(.height)
+ }
+
+ public var centerX: ConstraintMakerExtendable {
+ return self.makeExtendableWithAttributes(.centerX)
+ }
+
+ public var centerY: ConstraintMakerExtendable {
+ return self.makeExtendableWithAttributes(.centerY)
+ }
+
+ @available(*, deprecated, renamed:"lastBaseline")
+ public var baseline: ConstraintMakerExtendable {
+ return self.makeExtendableWithAttributes(.lastBaseline)
+ }
+
+ public var lastBaseline: ConstraintMakerExtendable {
+ return self.makeExtendableWithAttributes(.lastBaseline)
+ }
+
+ @available(iOS 8.0, OSX 10.11, *)
+ public var firstBaseline: ConstraintMakerExtendable {
+ return self.makeExtendableWithAttributes(.firstBaseline)
+ }
+
+ @available(iOS 8.0, *)
+ public var leftMargin: ConstraintMakerExtendable {
+ return self.makeExtendableWithAttributes(.leftMargin)
+ }
+
+ @available(iOS 8.0, *)
+ public var rightMargin: ConstraintMakerExtendable {
+ return self.makeExtendableWithAttributes(.rightMargin)
+ }
+
+ @available(iOS 8.0, *)
+ public var topMargin: ConstraintMakerExtendable {
+ return self.makeExtendableWithAttributes(.topMargin)
+ }
+
+ @available(iOS 8.0, *)
+ public var bottomMargin: ConstraintMakerExtendable {
+ return self.makeExtendableWithAttributes(.bottomMargin)
+ }
+
+ @available(iOS 8.0, *)
+ public var leadingMargin: ConstraintMakerExtendable {
+ return self.makeExtendableWithAttributes(.leadingMargin)
+ }
+
+ @available(iOS 8.0, *)
+ public var trailingMargin: ConstraintMakerExtendable {
+ return self.makeExtendableWithAttributes(.trailingMargin)
+ }
+
+ @available(iOS 8.0, *)
+ public var centerXWithinMargins: ConstraintMakerExtendable {
+ return self.makeExtendableWithAttributes(.centerXWithinMargins)
+ }
+
+ @available(iOS 8.0, *)
+ public var centerYWithinMargins: ConstraintMakerExtendable {
+ return self.makeExtendableWithAttributes(.centerYWithinMargins)
+ }
+
+ public var edges: ConstraintMakerExtendable {
+ return self.makeExtendableWithAttributes(.edges)
+ }
+ public var horizontalEdges: ConstraintMakerExtendable {
+ return self.makeExtendableWithAttributes(.horizontalEdges)
+ }
+ public var verticalEdges: ConstraintMakerExtendable {
+ return self.makeExtendableWithAttributes(.verticalEdges)
+ }
+ public var directionalEdges: ConstraintMakerExtendable {
+ return self.makeExtendableWithAttributes(.directionalEdges)
+ }
+ public var directionalHorizontalEdges: ConstraintMakerExtendable {
+ return self.makeExtendableWithAttributes(.directionalHorizontalEdges)
+ }
+ public var directionalVerticalEdges: ConstraintMakerExtendable {
+ return self.makeExtendableWithAttributes(.directionalVerticalEdges)
+ }
+ public var size: ConstraintMakerExtendable {
+ return self.makeExtendableWithAttributes(.size)
+ }
+ public var center: ConstraintMakerExtendable {
+ return self.makeExtendableWithAttributes(.center)
+ }
+
+ @available(iOS 8.0, *)
+ public var margins: ConstraintMakerExtendable {
+ return self.makeExtendableWithAttributes(.margins)
+ }
+
+ @available(iOS 8.0, *)
+ public var directionalMargins: ConstraintMakerExtendable {
+ return self.makeExtendableWithAttributes(.directionalMargins)
+ }
+
+ @available(iOS 8.0, *)
+ public var centerWithinMargins: ConstraintMakerExtendable {
+ return self.makeExtendableWithAttributes(.centerWithinMargins)
+ }
+
+ public let item: LayoutConstraintItem
+ private var descriptions = [ConstraintDescription]()
+
+ internal init(item: LayoutConstraintItem) {
+ self.item = item
+ self.item.prepare()
+ }
+
+ internal func makeExtendableWithAttributes(_ attributes: ConstraintAttributes) -> ConstraintMakerExtendable {
+ let description = ConstraintDescription(item: self.item, attributes: attributes)
+ self.descriptions.append(description)
+ return ConstraintMakerExtendable(description)
+ }
+
+ internal static func prepareConstraints(item: LayoutConstraintItem, closure: (_ make: ConstraintMaker) -> Void) -> [Constraint] {
+ let maker = ConstraintMaker(item: item)
+ closure(maker)
+ var constraints: [Constraint] = []
+ for description in maker.descriptions {
+ guard let constraint = description.constraint else {
+ continue
+ }
+ constraints.append(constraint)
+ }
+ return constraints
+ }
+
+ internal static func makeConstraints(item: LayoutConstraintItem, closure: (_ make: ConstraintMaker) -> Void) {
+ let constraints = prepareConstraints(item: item, closure: closure)
+ for constraint in constraints {
+ constraint.activateIfNeeded(updatingExisting: false)
+ }
+ }
+
+ internal static func remakeConstraints(item: LayoutConstraintItem, closure: (_ make: ConstraintMaker) -> Void) {
+ self.removeConstraints(item: item)
+ self.makeConstraints(item: item, closure: closure)
+ }
+
+ internal static func updateConstraints(item: LayoutConstraintItem, closure: (_ make: ConstraintMaker) -> Void) {
+ guard item.constraints.count > 0 else {
+ self.makeConstraints(item: item, closure: closure)
+ return
+ }
+
+ let constraints = prepareConstraints(item: item, closure: closure)
+ for constraint in constraints {
+ constraint.activateIfNeeded(updatingExisting: true)
+ }
+ }
+
+ internal static func removeConstraints(item: LayoutConstraintItem) {
+ let constraints = item.constraints
+ for constraint in constraints {
+ constraint.deactivateIfNeeded()
+ }
+ }
+
+}
--- /dev/null
+//
+// SnapKit
+//
+// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+#if canImport(UIKit)
+ import UIKit
+#else
+ import AppKit
+#endif
+
+
+public class ConstraintMakerEditable: ConstraintMakerPrioritizable {
+
+ @discardableResult
+ public func multipliedBy(_ amount: ConstraintMultiplierTarget) -> ConstraintMakerEditable {
+ self.description.multiplier = amount
+ return self
+ }
+
+ @discardableResult
+ public func dividedBy(_ amount: ConstraintMultiplierTarget) -> ConstraintMakerEditable {
+ return self.multipliedBy(1.0 / amount.constraintMultiplierTargetValue)
+ }
+
+ @discardableResult
+ public func offset(_ amount: ConstraintOffsetTarget) -> ConstraintMakerEditable {
+ self.description.constant = amount.constraintOffsetTargetValue
+ return self
+ }
+
+ @discardableResult
+ public func inset(_ amount: ConstraintInsetTarget) -> ConstraintMakerEditable {
+ self.description.constant = amount.constraintInsetTargetValue
+ return self
+ }
+
+ #if canImport(UIKit)
+ @discardableResult
+ @available(iOS 11.0, tvOS 11.0, *)
+ public func inset(_ amount: ConstraintDirectionalInsetTarget) -> ConstraintMakerEditable {
+ self.description.constant = amount.constraintDirectionalInsetTargetValue
+ return self
+ }
+ #endif
+}
--- /dev/null
+//
+// SnapKit
+//
+// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+#if canImport(UIKit)
+ import UIKit
+#else
+ import AppKit
+#endif
+
+
+public class ConstraintMakerExtendable: ConstraintMakerRelatable {
+
+ public var left: ConstraintMakerExtendable {
+ self.description.attributes += .left
+ return self
+ }
+
+ public var top: ConstraintMakerExtendable {
+ self.description.attributes += .top
+ return self
+ }
+
+ public var bottom: ConstraintMakerExtendable {
+ self.description.attributes += .bottom
+ return self
+ }
+
+ public var right: ConstraintMakerExtendable {
+ self.description.attributes += .right
+ return self
+ }
+
+ public var leading: ConstraintMakerExtendable {
+ self.description.attributes += .leading
+ return self
+ }
+
+ public var trailing: ConstraintMakerExtendable {
+ self.description.attributes += .trailing
+ return self
+ }
+
+ public var width: ConstraintMakerExtendable {
+ self.description.attributes += .width
+ return self
+ }
+
+ public var height: ConstraintMakerExtendable {
+ self.description.attributes += .height
+ return self
+ }
+
+ public var centerX: ConstraintMakerExtendable {
+ self.description.attributes += .centerX
+ return self
+ }
+
+ public var centerY: ConstraintMakerExtendable {
+ self.description.attributes += .centerY
+ return self
+ }
+
+ @available(*, deprecated, renamed:"lastBaseline")
+ public var baseline: ConstraintMakerExtendable {
+ self.description.attributes += .lastBaseline
+ return self
+ }
+
+ public var lastBaseline: ConstraintMakerExtendable {
+ self.description.attributes += .lastBaseline
+ return self
+ }
+
+ @available(iOS 8.0, OSX 10.11, *)
+ public var firstBaseline: ConstraintMakerExtendable {
+ self.description.attributes += .firstBaseline
+ return self
+ }
+
+ @available(iOS 8.0, *)
+ public var leftMargin: ConstraintMakerExtendable {
+ self.description.attributes += .leftMargin
+ return self
+ }
+
+ @available(iOS 8.0, *)
+ public var rightMargin: ConstraintMakerExtendable {
+ self.description.attributes += .rightMargin
+ return self
+ }
+
+ @available(iOS 8.0, *)
+ public var topMargin: ConstraintMakerExtendable {
+ self.description.attributes += .topMargin
+ return self
+ }
+
+ @available(iOS 8.0, *)
+ public var bottomMargin: ConstraintMakerExtendable {
+ self.description.attributes += .bottomMargin
+ return self
+ }
+
+ @available(iOS 8.0, *)
+ public var leadingMargin: ConstraintMakerExtendable {
+ self.description.attributes += .leadingMargin
+ return self
+ }
+
+ @available(iOS 8.0, *)
+ public var trailingMargin: ConstraintMakerExtendable {
+ self.description.attributes += .trailingMargin
+ return self
+ }
+
+ @available(iOS 8.0, *)
+ public var centerXWithinMargins: ConstraintMakerExtendable {
+ self.description.attributes += .centerXWithinMargins
+ return self
+ }
+
+ @available(iOS 8.0, *)
+ public var centerYWithinMargins: ConstraintMakerExtendable {
+ self.description.attributes += .centerYWithinMargins
+ return self
+ }
+
+ public var edges: ConstraintMakerExtendable {
+ self.description.attributes += .edges
+ return self
+ }
+ public var horizontalEdges: ConstraintMakerExtendable {
+ self.description.attributes += .horizontalEdges
+ return self
+ }
+ public var verticalEdges: ConstraintMakerExtendable {
+ self.description.attributes += .verticalEdges
+ return self
+ }
+ public var directionalEdges: ConstraintMakerExtendable {
+ self.description.attributes += .directionalEdges
+ return self
+ }
+ public var directionalHorizontalEdges: ConstraintMakerExtendable {
+ self.description.attributes += .directionalHorizontalEdges
+ return self
+ }
+ public var directionalVerticalEdges: ConstraintMakerExtendable {
+ self.description.attributes += .directionalVerticalEdges
+ return self
+ }
+ public var size: ConstraintMakerExtendable {
+ self.description.attributes += .size
+ return self
+ }
+
+ @available(iOS 8.0, *)
+ public var margins: ConstraintMakerExtendable {
+ self.description.attributes += .margins
+ return self
+ }
+
+ @available(iOS 8.0, *)
+ public var directionalMargins: ConstraintMakerExtendable {
+ self.description.attributes += .directionalMargins
+ return self
+ }
+
+ @available(iOS 8.0, *)
+ public var centerWithinMargins: ConstraintMakerExtendable {
+ self.description.attributes += .centerWithinMargins
+ return self
+ }
+
+}
--- /dev/null
+//
+// SnapKit
+//
+// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+#if canImport(UIKit)
+ import UIKit
+#else
+ import AppKit
+#endif
+
+
+public class ConstraintMakerFinalizable {
+
+ internal let description: ConstraintDescription
+
+ internal init(_ description: ConstraintDescription) {
+ self.description = description
+ }
+
+ @discardableResult
+ public func labeled(_ label: String) -> ConstraintMakerFinalizable {
+ self.description.label = label
+ return self
+ }
+
+ public var constraint: Constraint {
+ return self.description.constraint!
+ }
+
+}
--- /dev/null
+//
+// SnapKit
+//
+// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+#if canImport(UIKit)
+ import UIKit
+#else
+ import AppKit
+#endif
+
+@available(*, deprecated, message:"Use ConstraintMakerPrioritizable instead.")
+public typealias ConstraintMakerPriortizable = ConstraintMakerPrioritizable
+
+public class ConstraintMakerPrioritizable: ConstraintMakerFinalizable {
+
+ @discardableResult
+ public func priority(_ amount: ConstraintPriority) -> ConstraintMakerFinalizable {
+ self.description.priority = amount.value
+ return self
+ }
+
+ @discardableResult
+ public func priority(_ amount: ConstraintPriorityTarget) -> ConstraintMakerFinalizable {
+ self.description.priority = amount
+ return self
+ }
+
+ @available(*, deprecated, message:"Use priority(.required) instead.")
+ @discardableResult
+ public func priorityRequired() -> ConstraintMakerFinalizable {
+ return self.priority(.required)
+ }
+
+ @available(*, deprecated, message:"Use priority(.high) instead.")
+ @discardableResult
+ public func priorityHigh() -> ConstraintMakerFinalizable {
+ return self.priority(.high)
+ }
+
+ @available(*, deprecated, message:"Use priority(.medium) instead.")
+ @discardableResult
+ public func priorityMedium() -> ConstraintMakerFinalizable {
+ return self.priority(.medium)
+ }
+
+ @available(*, deprecated, message:"Use priority(.low) instead.")
+ @discardableResult
+ public func priorityLow() -> ConstraintMakerFinalizable {
+ return self.priority(.low)
+ }
+}
--- /dev/null
+//
+// SnapKit
+//
+// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+#if canImport(UIKit)
+ import UIKit
+#else
+ import AppKit
+#endif
+
+
+extension ConstraintMakerRelatable {
+
+ @discardableResult
+ public func equalToSuperview<T: ConstraintRelatableTarget>(_ closure: (ConstraintView) -> T, _ file: String = #file, line: UInt = #line) -> ConstraintMakerEditable {
+ guard let other = self.description.item.superview else {
+ fatalError("Expected superview but found nil when attempting make constraint `equalToSuperview`.")
+ }
+ return self.relatedTo(closure(other), relation: .equal, file: file, line: line)
+ }
+
+ @discardableResult
+ public func lessThanOrEqualToSuperview<T: ConstraintRelatableTarget>(_ closure: (ConstraintView) -> T, _ file: String = #file, line: UInt = #line) -> ConstraintMakerEditable {
+ guard let other = self.description.item.superview else {
+ fatalError("Expected superview but found nil when attempting make constraint `lessThanOrEqualToSuperview`.")
+ }
+ return self.relatedTo(closure(other), relation: .lessThanOrEqual, file: file, line: line)
+ }
+
+ @discardableResult
+ public func greaterThanOrEqualToSuperview<T: ConstraintRelatableTarget>(_ closure: (ConstraintView) -> T, _ file: String = #file, line: UInt = #line) -> ConstraintMakerEditable {
+ guard let other = self.description.item.superview else {
+ fatalError("Expected superview but found nil when attempting make constraint `greaterThanOrEqualToSuperview`.")
+ }
+ return self.relatedTo(closure(other), relation: .greaterThanOrEqual, file: file, line: line)
+ }
+
+}
--- /dev/null
+//
+// SnapKit
+//
+// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+#if canImport(UIKit)
+ import UIKit
+#else
+ import AppKit
+#endif
+
+
+public class ConstraintMakerRelatable {
+
+ internal let description: ConstraintDescription
+
+ internal init(_ description: ConstraintDescription) {
+ self.description = description
+ }
+
+ internal func relatedTo(_ other: ConstraintRelatableTarget, relation: ConstraintRelation, file: String, line: UInt) -> ConstraintMakerEditable {
+ let related: ConstraintItem
+ let constant: ConstraintConstantTarget
+
+ if let other = other as? ConstraintItem {
+ guard other.attributes == ConstraintAttributes.none ||
+ other.attributes.layoutAttributes.count <= 1 ||
+ other.attributes.layoutAttributes == self.description.attributes.layoutAttributes ||
+ other.attributes == .edges && self.description.attributes == .margins ||
+ other.attributes == .margins && self.description.attributes == .edges ||
+ other.attributes == .directionalEdges && self.description.attributes == .directionalMargins ||
+ other.attributes == .directionalMargins && self.description.attributes == .directionalEdges else {
+ fatalError("Cannot constraint to multiple non identical attributes. (\(file), \(line))");
+ }
+
+ related = other
+ constant = 0.0
+ } else if let other = other as? ConstraintView {
+ related = ConstraintItem(target: other, attributes: ConstraintAttributes.none)
+ constant = 0.0
+ } else if let other = other as? ConstraintConstantTarget {
+ related = ConstraintItem(target: nil, attributes: ConstraintAttributes.none)
+ constant = other
+ } else if #available(iOS 9.0, OSX 10.11, *), let other = other as? ConstraintLayoutGuide {
+ related = ConstraintItem(target: other, attributes: ConstraintAttributes.none)
+ constant = 0.0
+ } else {
+ fatalError("Invalid constraint. (\(file), \(line))")
+ }
+
+ let editable = ConstraintMakerEditable(self.description)
+ editable.description.sourceLocation = (file, line)
+ editable.description.relation = relation
+ editable.description.related = related
+ editable.description.constant = constant
+ return editable
+ }
+
+ @discardableResult
+ public func equalTo(_ other: ConstraintRelatableTarget, _ file: String = #file, _ line: UInt = #line) -> ConstraintMakerEditable {
+ return self.relatedTo(other, relation: .equal, file: file, line: line)
+ }
+
+ @discardableResult
+ public func equalToSuperview(_ file: String = #file, _ line: UInt = #line) -> ConstraintMakerEditable {
+ guard let other = self.description.item.superview else {
+ fatalError("Expected superview but found nil when attempting make constraint `equalToSuperview`.")
+ }
+ return self.relatedTo(other, relation: .equal, file: file, line: line)
+ }
+
+ @discardableResult
+ public func lessThanOrEqualTo(_ other: ConstraintRelatableTarget, _ file: String = #file, _ line: UInt = #line) -> ConstraintMakerEditable {
+ return self.relatedTo(other, relation: .lessThanOrEqual, file: file, line: line)
+ }
+
+ @discardableResult
+ public func lessThanOrEqualToSuperview(_ file: String = #file, _ line: UInt = #line) -> ConstraintMakerEditable {
+ guard let other = self.description.item.superview else {
+ fatalError("Expected superview but found nil when attempting make constraint `lessThanOrEqualToSuperview`.")
+ }
+ return self.relatedTo(other, relation: .lessThanOrEqual, file: file, line: line)
+ }
+
+ @discardableResult
+ public func greaterThanOrEqualTo(_ other: ConstraintRelatableTarget, _ file: String = #file, line: UInt = #line) -> ConstraintMakerEditable {
+ return self.relatedTo(other, relation: .greaterThanOrEqual, file: file, line: line)
+ }
+
+ @discardableResult
+ public func greaterThanOrEqualToSuperview(_ file: String = #file, line: UInt = #line) -> ConstraintMakerEditable {
+ guard let other = self.description.item.superview else {
+ fatalError("Expected superview but found nil when attempting make constraint `greaterThanOrEqualToSuperview`.")
+ }
+ return self.relatedTo(other, relation: .greaterThanOrEqual, file: file, line: line)
+ }
+}
--- /dev/null
+//
+// SnapKit
+//
+// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+#if canImport(UIKit)
+ import UIKit
+#else
+ import AppKit
+#endif
+
+
+public protocol ConstraintMultiplierTarget {
+
+ var constraintMultiplierTargetValue: CGFloat { get }
+
+}
+
+extension Int: ConstraintMultiplierTarget {
+
+ public var constraintMultiplierTargetValue: CGFloat {
+ return CGFloat(self)
+ }
+
+}
+
+extension UInt: ConstraintMultiplierTarget {
+
+ public var constraintMultiplierTargetValue: CGFloat {
+ return CGFloat(self)
+ }
+
+}
+
+extension Float: ConstraintMultiplierTarget {
+
+ public var constraintMultiplierTargetValue: CGFloat {
+ return CGFloat(self)
+ }
+
+}
+
+extension Double: ConstraintMultiplierTarget {
+
+ public var constraintMultiplierTargetValue: CGFloat {
+ return CGFloat(self)
+ }
+
+}
+
+extension CGFloat: ConstraintMultiplierTarget {
+
+ public var constraintMultiplierTargetValue: CGFloat {
+ return self
+ }
+
+}
--- /dev/null
+//
+// SnapKit
+//
+// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+#if canImport(UIKit)
+ import UIKit
+#else
+ import AppKit
+#endif
+
+
+public protocol ConstraintOffsetTarget: ConstraintConstantTarget {
+}
+
+extension Int: ConstraintOffsetTarget {
+}
+
+extension UInt: ConstraintOffsetTarget {
+}
+
+extension Float: ConstraintOffsetTarget {
+}
+
+extension Double: ConstraintOffsetTarget {
+}
+
+extension CGFloat: ConstraintOffsetTarget {
+}
+
+extension ConstraintOffsetTarget {
+
+ internal var constraintOffsetTargetValue: CGFloat {
+ let offset: CGFloat
+ if let amount = self as? Float {
+ offset = CGFloat(amount)
+ } else if let amount = self as? Double {
+ offset = CGFloat(amount)
+ } else if let amount = self as? CGFloat {
+ offset = CGFloat(amount)
+ } else if let amount = self as? Int {
+ offset = CGFloat(amount)
+ } else if let amount = self as? UInt {
+ offset = CGFloat(amount)
+ } else {
+ offset = 0.0
+ }
+ return offset
+ }
+
+}
--- /dev/null
+//
+// SnapKit
+//
+// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+#if canImport(UIKit)
+ import UIKit
+#else
+ import AppKit
+#endif
+
+public struct ConstraintPriority : ExpressibleByFloatLiteral, Equatable, Strideable {
+ public typealias FloatLiteralType = Float
+
+ public let value: Float
+
+ public init(floatLiteral value: Float) {
+ self.value = value
+ }
+
+ public init(_ value: Float) {
+ self.value = value
+ }
+
+ public static var required: ConstraintPriority {
+ return 1000.0
+ }
+
+ public static var high: ConstraintPriority {
+ return 750.0
+ }
+
+ public static var medium: ConstraintPriority {
+ #if os(OSX)
+ return 501.0
+ #else
+ return 500.0
+ #endif
+
+ }
+
+ public static var low: ConstraintPriority {
+ return 250.0
+ }
+
+ public static func ==(lhs: ConstraintPriority, rhs: ConstraintPriority) -> Bool {
+ return lhs.value == rhs.value
+ }
+
+ // MARK: Strideable
+
+ public func advanced(by n: FloatLiteralType) -> ConstraintPriority {
+ return ConstraintPriority(floatLiteral: value + n)
+ }
+
+ public func distance(to other: ConstraintPriority) -> FloatLiteralType {
+ return other.value - value
+ }
+}
--- /dev/null
+//
+// SnapKit
+//
+// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+#if canImport(UIKit)
+ import UIKit
+#else
+ import AppKit
+#endif
+
+
+public protocol ConstraintPriorityTarget {
+
+ var constraintPriorityTargetValue: Float { get }
+
+}
+
+extension Int: ConstraintPriorityTarget {
+
+ public var constraintPriorityTargetValue: Float {
+ return Float(self)
+ }
+
+}
+
+extension UInt: ConstraintPriorityTarget {
+
+ public var constraintPriorityTargetValue: Float {
+ return Float(self)
+ }
+
+}
+
+extension Float: ConstraintPriorityTarget {
+
+ public var constraintPriorityTargetValue: Float {
+ return self
+ }
+
+}
+
+extension Double: ConstraintPriorityTarget {
+
+ public var constraintPriorityTargetValue: Float {
+ return Float(self)
+ }
+
+}
+
+extension CGFloat: ConstraintPriorityTarget {
+
+ public var constraintPriorityTargetValue: Float {
+ return Float(self)
+ }
+
+}
+
+#if canImport(UIKit)
+extension UILayoutPriority: ConstraintPriorityTarget {
+
+ public var constraintPriorityTargetValue: Float {
+ return self.rawValue
+ }
+
+}
+#endif
--- /dev/null
+//
+// SnapKit
+//
+// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+#if canImport(UIKit)
+ import UIKit
+#else
+ import AppKit
+#endif
+
+
+public protocol ConstraintRelatableTarget {
+}
+
+extension Int: ConstraintRelatableTarget {
+}
+
+extension UInt: ConstraintRelatableTarget {
+}
+
+extension Float: ConstraintRelatableTarget {
+}
+
+extension Double: ConstraintRelatableTarget {
+}
+
+extension CGFloat: ConstraintRelatableTarget {
+}
+
+extension CGSize: ConstraintRelatableTarget {
+}
+
+extension CGPoint: ConstraintRelatableTarget {
+}
+
+extension ConstraintInsets: ConstraintRelatableTarget {
+}
+
+#if canImport(UIKit)
+@available(iOS 11.0, tvOS 11.0, *)
+extension ConstraintDirectionalInsets: ConstraintRelatableTarget {
+}
+#endif
+
+extension ConstraintItem: ConstraintRelatableTarget {
+}
+
+extension ConstraintView: ConstraintRelatableTarget {
+}
+
+@available(iOS 9.0, OSX 10.11, *)
+extension ConstraintLayoutGuide: ConstraintRelatableTarget {
+}
--- /dev/null
+//
+// SnapKit
+//
+// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+#if canImport(UIKit)
+ import UIKit
+#else
+ import AppKit
+#endif
+
+
+internal enum ConstraintRelation : Int {
+ case equal = 1
+ case lessThanOrEqual
+ case greaterThanOrEqual
+
+ internal var layoutRelation: LayoutRelation {
+ get {
+ switch(self) {
+ case .equal:
+ return .equal
+ case .lessThanOrEqual:
+ return .lessThanOrEqual
+ case .greaterThanOrEqual:
+ return .greaterThanOrEqual
+ }
+ }
+ }
+}
--- /dev/null
+//
+// SnapKit
+//
+// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+#if canImport(UIKit)
+ import UIKit
+#else
+ import AppKit
+#endif
+
+
+public extension ConstraintView {
+
+ @available(*, deprecated, renamed:"snp.left")
+ var snp_left: ConstraintItem { return self.snp.left }
+
+ @available(*, deprecated, renamed:"snp.top")
+ var snp_top: ConstraintItem { return self.snp.top }
+
+ @available(*, deprecated, renamed:"snp.right")
+ var snp_right: ConstraintItem { return self.snp.right }
+
+ @available(*, deprecated, renamed:"snp.bottom")
+ var snp_bottom: ConstraintItem { return self.snp.bottom }
+
+ @available(*, deprecated, renamed:"snp.leading")
+ var snp_leading: ConstraintItem { return self.snp.leading }
+
+ @available(*, deprecated, renamed:"snp.trailing")
+ var snp_trailing: ConstraintItem { return self.snp.trailing }
+
+ @available(*, deprecated, renamed:"snp.width")
+ var snp_width: ConstraintItem { return self.snp.width }
+
+ @available(*, deprecated, renamed:"snp.height")
+ var snp_height: ConstraintItem { return self.snp.height }
+
+ @available(*, deprecated, renamed:"snp.centerX")
+ var snp_centerX: ConstraintItem { return self.snp.centerX }
+
+ @available(*, deprecated, renamed:"snp.centerY")
+ var snp_centerY: ConstraintItem { return self.snp.centerY }
+
+ @available(*, deprecated, renamed:"snp.baseline")
+ var snp_baseline: ConstraintItem { return self.snp.baseline }
+
+ @available(*, deprecated, renamed:"snp.lastBaseline")
+ @available(iOS 8.0, OSX 10.11, *)
+ var snp_lastBaseline: ConstraintItem { return self.snp.lastBaseline }
+
+ @available(iOS, deprecated, renamed:"snp.firstBaseline")
+ @available(iOS 8.0, OSX 10.11, *)
+ var snp_firstBaseline: ConstraintItem { return self.snp.firstBaseline }
+
+ @available(iOS, deprecated, renamed:"snp.leftMargin")
+ @available(iOS 8.0, *)
+ var snp_leftMargin: ConstraintItem { return self.snp.leftMargin }
+
+ @available(iOS, deprecated, renamed:"snp.topMargin")
+ @available(iOS 8.0, *)
+ var snp_topMargin: ConstraintItem { return self.snp.topMargin }
+
+ @available(iOS, deprecated, renamed:"snp.rightMargin")
+ @available(iOS 8.0, *)
+ var snp_rightMargin: ConstraintItem { return self.snp.rightMargin }
+
+ @available(iOS, deprecated, renamed:"snp.bottomMargin")
+ @available(iOS 8.0, *)
+ var snp_bottomMargin: ConstraintItem { return self.snp.bottomMargin }
+
+ @available(iOS, deprecated, renamed:"snp.leadingMargin")
+ @available(iOS 8.0, *)
+ var snp_leadingMargin: ConstraintItem { return self.snp.leadingMargin }
+
+ @available(iOS, deprecated, renamed:"snp.trailingMargin")
+ @available(iOS 8.0, *)
+ var snp_trailingMargin: ConstraintItem { return self.snp.trailingMargin }
+
+ @available(iOS, deprecated, renamed:"snp.centerXWithinMargins")
+ @available(iOS 8.0, *)
+ var snp_centerXWithinMargins: ConstraintItem { return self.snp.centerXWithinMargins }
+
+ @available(iOS, deprecated, renamed:"snp.centerYWithinMargins")
+ @available(iOS 8.0, *)
+ var snp_centerYWithinMargins: ConstraintItem { return self.snp.centerYWithinMargins }
+
+ @available(*, deprecated, renamed:"snp.edges")
+ var snp_edges: ConstraintItem { return self.snp.edges }
+
+ @available(*, deprecated, renamed:"snp.size")
+ var snp_size: ConstraintItem { return self.snp.size }
+
+ @available(*, deprecated, renamed:"snp.center")
+ var snp_center: ConstraintItem { return self.snp.center }
+
+ @available(iOS, deprecated, renamed:"snp.margins")
+ @available(iOS 8.0, *)
+ var snp_margins: ConstraintItem { return self.snp.margins }
+
+ @available(iOS, deprecated, renamed:"snp.centerWithinMargins")
+ @available(iOS 8.0, *)
+ var snp_centerWithinMargins: ConstraintItem { return self.snp.centerWithinMargins }
+
+ @available(*, deprecated, renamed:"snp.prepareConstraints(_:)")
+ func snp_prepareConstraints(_ closure: (_ make: ConstraintMaker) -> Void) -> [Constraint] {
+ return self.snp.prepareConstraints(closure)
+ }
+
+ @available(*, deprecated, renamed:"snp.makeConstraints(_:)")
+ func snp_makeConstraints(_ closure: (_ make: ConstraintMaker) -> Void) {
+ self.snp.makeConstraints(closure)
+ }
+
+ @available(*, deprecated, renamed:"snp.remakeConstraints(_:)")
+ func snp_remakeConstraints(_ closure: (_ make: ConstraintMaker) -> Void) {
+ self.snp.remakeConstraints(closure)
+ }
+
+ @available(*, deprecated, renamed:"snp.updateConstraints(_:)")
+ func snp_updateConstraints(_ closure: (_ make: ConstraintMaker) -> Void) {
+ self.snp.updateConstraints(closure)
+ }
+
+ @available(*, deprecated, renamed:"snp.removeConstraints()")
+ func snp_removeConstraints() {
+ self.snp.removeConstraints()
+ }
+
+ var snp: ConstraintViewDSL {
+ return ConstraintViewDSL(view: self)
+ }
+
+}
--- /dev/null
+//
+// SnapKit
+//
+// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+#if canImport(UIKit)
+ import UIKit
+#else
+ import AppKit
+#endif
+
+
+#if canImport(UIKit)
+ public typealias ConstraintView = UIView
+#else
+ public typealias ConstraintView = NSView
+#endif
--- /dev/null
+//
+// SnapKit
+//
+// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+#if canImport(UIKit)
+ import UIKit
+#else
+ import AppKit
+#endif
+
+
+public struct ConstraintViewDSL: ConstraintAttributesDSL {
+
+ @discardableResult
+ public func prepareConstraints(_ closure: (_ make: ConstraintMaker) -> Void) -> [Constraint] {
+ return ConstraintMaker.prepareConstraints(item: self.view, closure: closure)
+ }
+
+ public func makeConstraints(_ closure: (_ make: ConstraintMaker) -> Void) {
+ ConstraintMaker.makeConstraints(item: self.view, closure: closure)
+ }
+
+ public func remakeConstraints(_ closure: (_ make: ConstraintMaker) -> Void) {
+ ConstraintMaker.remakeConstraints(item: self.view, closure: closure)
+ }
+
+ public func updateConstraints(_ closure: (_ make: ConstraintMaker) -> Void) {
+ ConstraintMaker.updateConstraints(item: self.view, closure: closure)
+ }
+
+ public func removeConstraints() {
+ ConstraintMaker.removeConstraints(item: self.view)
+ }
+
+ public var contentHuggingHorizontalPriority: Float {
+ get {
+ return self.view.contentHuggingPriority(for: .horizontal).rawValue
+ }
+ nonmutating set {
+ self.view.setContentHuggingPriority(LayoutPriority(rawValue: newValue), for: .horizontal)
+ }
+ }
+
+ public var contentHuggingVerticalPriority: Float {
+ get {
+ return self.view.contentHuggingPriority(for: .vertical).rawValue
+ }
+ nonmutating set {
+ self.view.setContentHuggingPriority(LayoutPriority(rawValue: newValue), for: .vertical)
+ }
+ }
+
+ public var contentCompressionResistanceHorizontalPriority: Float {
+ get {
+ return self.view.contentCompressionResistancePriority(for: .horizontal).rawValue
+ }
+ nonmutating set {
+ self.view.setContentCompressionResistancePriority(LayoutPriority(rawValue: newValue), for: .horizontal)
+ }
+ }
+
+ public var contentCompressionResistanceVerticalPriority: Float {
+ get {
+ return self.view.contentCompressionResistancePriority(for: .vertical).rawValue
+ }
+ nonmutating set {
+ self.view.setContentCompressionResistancePriority(LayoutPriority(rawValue: newValue), for: .vertical)
+ }
+ }
+
+ public var target: AnyObject? {
+ return self.view
+ }
+
+ internal let view: ConstraintView
+
+ internal init(view: ConstraintView) {
+ self.view = view
+
+ }
+
+}
--- /dev/null
+//
+// SnapKit
+//
+// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+#if canImport(UIKit)
+ import UIKit
+#else
+ import AppKit
+#endif
+
+public extension LayoutConstraint {
+
+ override var description: String {
+ var description = "<"
+
+ description += descriptionForObject(self)
+
+ if let firstItem = conditionalOptional(from: self.firstItem) {
+ description += " \(descriptionForObject(firstItem))"
+ }
+
+ if self.firstAttribute != .notAnAttribute {
+ description += ".\(descriptionForAttribute(self.firstAttribute))"
+ }
+
+ description += " \(descriptionForRelation(self.relation))"
+
+ if let secondItem = self.secondItem {
+ description += " \(descriptionForObject(secondItem))"
+ }
+
+ if self.secondAttribute != .notAnAttribute {
+ description += ".\(descriptionForAttribute(self.secondAttribute))"
+ }
+
+ if self.multiplier != 1.0 {
+ description += " * \(self.multiplier)"
+ }
+
+ if self.secondAttribute == .notAnAttribute {
+ description += " \(self.constant)"
+ } else {
+ if self.constant > 0.0 {
+ description += " + \(self.constant)"
+ } else if self.constant < 0.0 {
+ description += " - \(abs(self.constant))"
+ }
+ }
+
+ if self.priority.rawValue != 1000.0 {
+ description += " ^\(self.priority)"
+ }
+
+ description += ">"
+
+ return description
+ }
+
+}
+
+private func descriptionForRelation(_ relation: LayoutRelation) -> String {
+ switch relation {
+ case .equal: return "=="
+ case .greaterThanOrEqual: return ">="
+ case .lessThanOrEqual: return "<="
+ #if swift(>=5.0)
+ @unknown default: return "unknown"
+ #endif
+ }
+}
+
+private func descriptionForAttribute(_ attribute: LayoutAttribute) -> String {
+ #if canImport(UIKit)
+ switch attribute {
+ case .notAnAttribute: return "notAnAttribute"
+ case .top: return "top"
+ case .left: return "left"
+ case .bottom: return "bottom"
+ case .right: return "right"
+ case .leading: return "leading"
+ case .trailing: return "trailing"
+ case .width: return "width"
+ case .height: return "height"
+ case .centerX: return "centerX"
+ case .centerY: return "centerY"
+ case .lastBaseline: return "lastBaseline"
+ case .firstBaseline: return "firstBaseline"
+ case .topMargin: return "topMargin"
+ case .leftMargin: return "leftMargin"
+ case .bottomMargin: return "bottomMargin"
+ case .rightMargin: return "rightMargin"
+ case .leadingMargin: return "leadingMargin"
+ case .trailingMargin: return "trailingMargin"
+ case .centerXWithinMargins: return "centerXWithinMargins"
+ case .centerYWithinMargins: return "centerYWithinMargins"
+ #if swift(>=5.0)
+ @unknown default: return "unknown"
+ #endif
+ }
+ #else
+ switch attribute {
+ case .notAnAttribute: return "notAnAttribute"
+ case .top: return "top"
+ case .left: return "left"
+ case .bottom: return "bottom"
+ case .right: return "right"
+ case .leading: return "leading"
+ case .trailing: return "trailing"
+ case .width: return "width"
+ case .height: return "height"
+ case .centerX: return "centerX"
+ case .centerY: return "centerY"
+ case .lastBaseline: return "lastBaseline"
+ case .firstBaseline: return "firstBaseline"
+ #if swift(>=5.0)
+ @unknown default: return "unknown"
+ #endif
+ }
+ #endif
+}
+
+private func conditionalOptional<T>(from object: Optional<T>) -> Optional<T> {
+ return object
+}
+
+private func conditionalOptional<T>(from object: T) -> Optional<T> {
+ return Optional.some(object)
+}
+
+private func descriptionForObject(_ object: AnyObject) -> String {
+ let pointerDescription = String(format: "%p", UInt(bitPattern: ObjectIdentifier(object)))
+ var desc = ""
+
+ desc += type(of: object).description()
+
+ if let object = object as? ConstraintView {
+ desc += ":\(object.snp.label() ?? pointerDescription)"
+ } else if let object = object as? LayoutConstraint {
+ desc += ":\(object.label ?? pointerDescription)"
+ } else {
+ desc += ":\(pointerDescription)"
+ }
+
+ if let object = object as? LayoutConstraint, let file = object.constraint?.sourceLocation.0, let line = object.constraint?.sourceLocation.1 {
+ desc += "@\((file as NSString).lastPathComponent)#\(line)"
+ }
+
+ desc += ""
+ return desc
+}
--- /dev/null
+//
+// SnapKit
+//
+// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+#if canImport(UIKit)
+ import UIKit
+#else
+ import AppKit
+#endif
+
+
+public class LayoutConstraint : NSLayoutConstraint {
+
+ public var label: String? {
+ get {
+ return self.identifier
+ }
+ set {
+ self.identifier = newValue
+ }
+ }
+
+ internal weak var constraint: Constraint? = nil
+
+}
+
+internal func ==(lhs: LayoutConstraint, rhs: LayoutConstraint) -> Bool {
+ // If firstItem or secondItem on either constraint has a dangling pointer
+ // this comparison can cause a crash. The solution for this is to ensure
+ // your layout code hold strong references to things like Views, LayoutGuides
+ // and LayoutAnchors as SnapKit will not keep strong references to any of these.
+ guard lhs.firstAttribute == rhs.firstAttribute &&
+ lhs.secondAttribute == rhs.secondAttribute &&
+ lhs.relation == rhs.relation &&
+ lhs.priority == rhs.priority &&
+ lhs.multiplier == rhs.multiplier &&
+ lhs.secondItem === rhs.secondItem &&
+ lhs.firstItem === rhs.firstItem else {
+ return false
+ }
+ return true
+}
--- /dev/null
+//
+// SnapKit
+//
+// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+#if canImport(UIKit)
+ import UIKit
+#else
+ import AppKit
+#endif
+
+
+public protocol LayoutConstraintItem: AnyObject {
+}
+
+@available(iOS 9.0, OSX 10.11, *)
+extension ConstraintLayoutGuide : LayoutConstraintItem {
+}
+
+extension ConstraintView : LayoutConstraintItem {
+}
+
+
+extension LayoutConstraintItem {
+
+ internal func prepare() {
+ if let view = self as? ConstraintView {
+ view.translatesAutoresizingMaskIntoConstraints = false
+ }
+ }
+
+ internal var superview: ConstraintView? {
+ if let view = self as? ConstraintView {
+ return view.superview
+ }
+
+ if #available(iOS 9.0, OSX 10.11, *), let guide = self as? ConstraintLayoutGuide {
+ return guide.owningView
+ }
+
+ return nil
+ }
+ internal var constraints: [Constraint] {
+ return self.constraintsSet.allObjects as! [Constraint]
+ }
+
+ internal func add(constraints: [Constraint]) {
+ let constraintsSet = self.constraintsSet
+ for constraint in constraints {
+ constraintsSet.add(constraint)
+ }
+ }
+
+ internal func remove(constraints: [Constraint]) {
+ let constraintsSet = self.constraintsSet
+ for constraint in constraints {
+ constraintsSet.remove(constraint)
+ }
+ }
+
+ private var constraintsSet: NSMutableSet {
+ let constraintsSet: NSMutableSet
+
+ if let existing = objc_getAssociatedObject(self, &constraintsKey) as? NSMutableSet {
+ constraintsSet = existing
+ } else {
+ constraintsSet = NSMutableSet()
+ objc_setAssociatedObject(self, &constraintsKey, constraintsSet, .OBJC_ASSOCIATION_RETAIN_NONATOMIC)
+ }
+ return constraintsSet
+
+ }
+
+}
+private var constraintsKey: UInt8 = 0
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>NSPrivacyTracking</key>
+ <false/>
+ <key>NSPrivacyAccessedAPITypes</key>
+ <array/>
+ <key>NSPrivacyCollectedDataTypes</key>
+ <array/>
+ <key>NSPrivacyTrackingDomains</key>
+ <array/>
+</dict>
+</plist>
--- /dev/null
+//
+// SnapKit
+//
+// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+import Foundation
+
+#if canImport(UIKit)
+ import UIKit
+#if swift(>=4.2)
+ typealias LayoutRelation = NSLayoutConstraint.Relation
+ typealias LayoutAttribute = NSLayoutConstraint.Attribute
+#else
+ typealias LayoutRelation = NSLayoutRelation
+ typealias LayoutAttribute = NSLayoutAttribute
+#endif
+ typealias LayoutPriority = UILayoutPriority
+#else
+ import AppKit
+ typealias LayoutRelation = NSLayoutConstraint.Relation
+ typealias LayoutAttribute = NSLayoutConstraint.Attribute
+ typealias LayoutPriority = NSLayoutConstraint.Priority
+#endif
+
--- /dev/null
+//
+// SnapKit
+//
+// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+#if canImport(UIKit)
+ import UIKit
+#endif
+
+
+@available(iOS 8.0, *)
+public extension ConstraintLayoutSupport {
+
+ var snp: ConstraintLayoutSupportDSL {
+ return ConstraintLayoutSupportDSL(support: self)
+ }
+
+}
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleDevelopmentRegion</key>
+ <string>${PODS_DEVELOPMENT_LANGUAGE}</string>
+ <key>CFBundleExecutable</key>
+ <string>${EXECUTABLE_NAME}</string>
+ <key>CFBundleIdentifier</key>
+ <string>${PRODUCT_BUNDLE_IDENTIFIER}</string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundleName</key>
+ <string>${PRODUCT_NAME}</string>
+ <key>CFBundlePackageType</key>
+ <string>FMWK</string>
+ <key>CFBundleShortVersionString</key>
+ <string>7.1.1</string>
+ <key>CFBundleSignature</key>
+ <string>????</string>
+ <key>CFBundleVersion</key>
+ <string>${CURRENT_PROJECT_VERSION}</string>
+ <key>NSPrincipalClass</key>
+ <string></string>
+</dict>
+</plist>
--- /dev/null
+#import <Foundation/Foundation.h>
+@interface PodsDummy_IQKeyboardManagerSwift : NSObject
+@end
+@implementation PodsDummy_IQKeyboardManagerSwift
+@end
--- /dev/null
+#ifdef __OBJC__
+#import <UIKit/UIKit.h>
+#else
+#ifndef FOUNDATION_EXPORT
+#if defined(__cplusplus)
+#define FOUNDATION_EXPORT extern "C"
+#else
+#define FOUNDATION_EXPORT extern
+#endif
+#endif
+#endif
+
--- /dev/null
+#ifdef __OBJC__
+#import <UIKit/UIKit.h>
+#else
+#ifndef FOUNDATION_EXPORT
+#if defined(__cplusplus)
+#define FOUNDATION_EXPORT extern "C"
+#else
+#define FOUNDATION_EXPORT extern
+#endif
+#endif
+#endif
+
+
+FOUNDATION_EXPORT double IQKeyboardManagerSwiftVersionNumber;
+FOUNDATION_EXPORT const unsigned char IQKeyboardManagerSwiftVersionString[];
+
--- /dev/null
+CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
+CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardManagerSwift
+GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
+LIBRARY_SEARCH_PATHS = $(inherited) "${TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift $(SDKROOT)/usr/lib/swift
+OTHER_LDFLAGS = $(inherited) -l"swiftCoreGraphics" -framework "CoreGraphics" -framework "Foundation" -framework "QuartzCore" -framework "UIKit"
+OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
+PODS_BUILD_DIR = ${BUILD_DIR}
+PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
+PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE}
+PODS_ROOT = ${SRCROOT}
+PODS_TARGET_SRCROOT = ${PODS_ROOT}/IQKeyboardManagerSwift
+PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
+PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
+SKIP_INSTALL = YES
+USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
--- /dev/null
+framework module IQKeyboardManagerSwift {
+ umbrella header "IQKeyboardManagerSwift-umbrella.h"
+
+ export *
+ module * { export * }
+}
--- /dev/null
+CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
+CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardManagerSwift
+GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
+LIBRARY_SEARCH_PATHS = $(inherited) "${TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift $(SDKROOT)/usr/lib/swift
+OTHER_LDFLAGS = $(inherited) -l"swiftCoreGraphics" -framework "CoreGraphics" -framework "Foundation" -framework "QuartzCore" -framework "UIKit"
+OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
+PODS_BUILD_DIR = ${BUILD_DIR}
+PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
+PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE}
+PODS_ROOT = ${SRCROOT}
+PODS_TARGET_SRCROOT = ${PODS_ROOT}/IQKeyboardManagerSwift
+PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
+PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
+SKIP_INSTALL = YES
+USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleDevelopmentRegion</key>
+ <string>${PODS_DEVELOPMENT_LANGUAGE}</string>
+ <key>CFBundleIdentifier</key>
+ <string>${PRODUCT_BUNDLE_IDENTIFIER}</string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundleName</key>
+ <string>${PRODUCT_NAME}</string>
+ <key>CFBundlePackageType</key>
+ <string>BNDL</string>
+ <key>CFBundleShortVersionString</key>
+ <string>7.1.1</string>
+ <key>CFBundleSignature</key>
+ <string>????</string>
+ <key>CFBundleVersion</key>
+ <string>1</string>
+ <key>NSPrincipalClass</key>
+ <string></string>
+</dict>
+</plist>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleDevelopmentRegion</key>
+ <string>${PODS_DEVELOPMENT_LANGUAGE}</string>
+ <key>CFBundleExecutable</key>
+ <string>${EXECUTABLE_NAME}</string>
+ <key>CFBundleIdentifier</key>
+ <string>${PRODUCT_BUNDLE_IDENTIFIER}</string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundleName</key>
+ <string>${PRODUCT_NAME}</string>
+ <key>CFBundlePackageType</key>
+ <string>FMWK</string>
+ <key>CFBundleShortVersionString</key>
+ <string>1.0.0</string>
+ <key>CFBundleSignature</key>
+ <string>????</string>
+ <key>CFBundleVersion</key>
+ <string>${CURRENT_PROJECT_VERSION}</string>
+ <key>NSPrincipalClass</key>
+ <string></string>
+</dict>
+</plist>
--- /dev/null
+# Acknowledgements
+This application makes use of the following third party libraries:
+
+## IQKeyboardManagerSwift
+
+MIT License
+
+Copyright (c) 2013-2023 Iftekhar Qurashi
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+
+## SnapKit
+
+Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+
+## Toast-Swift
+
+Copyright (c) 2015-2024 Charles Scalesse.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Generated by CocoaPods - https://cocoapods.org
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>PreferenceSpecifiers</key>
+ <array>
+ <dict>
+ <key>FooterText</key>
+ <string>This application makes use of the following third party libraries:</string>
+ <key>Title</key>
+ <string>Acknowledgements</string>
+ <key>Type</key>
+ <string>PSGroupSpecifier</string>
+ </dict>
+ <dict>
+ <key>FooterText</key>
+ <string>MIT License
+
+Copyright (c) 2013-2023 Iftekhar Qurashi
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+</string>
+ <key>License</key>
+ <string>MIT</string>
+ <key>Title</key>
+ <string>IQKeyboardManagerSwift</string>
+ <key>Type</key>
+ <string>PSGroupSpecifier</string>
+ </dict>
+ <dict>
+ <key>FooterText</key>
+ <string>Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+</string>
+ <key>License</key>
+ <string>MIT</string>
+ <key>Title</key>
+ <string>SnapKit</string>
+ <key>Type</key>
+ <string>PSGroupSpecifier</string>
+ </dict>
+ <dict>
+ <key>FooterText</key>
+ <string>Copyright (c) 2015-2024 Charles Scalesse.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+</string>
+ <key>License</key>
+ <string>MIT</string>
+ <key>Title</key>
+ <string>Toast-Swift</string>
+ <key>Type</key>
+ <string>PSGroupSpecifier</string>
+ </dict>
+ <dict>
+ <key>FooterText</key>
+ <string>Generated by CocoaPods - https://cocoapods.org</string>
+ <key>Title</key>
+ <string></string>
+ <key>Type</key>
+ <string>PSGroupSpecifier</string>
+ </dict>
+ </array>
+ <key>StringsTable</key>
+ <string>Acknowledgements</string>
+ <key>Title</key>
+ <string>Acknowledgements</string>
+</dict>
+</plist>
--- /dev/null
+#import <Foundation/Foundation.h>
+@interface PodsDummy_Pods_Example : NSObject
+@end
+@implementation PodsDummy_Pods_Example
+@end
--- /dev/null
+${PODS_ROOT}/Target Support Files/Pods-Example/Pods-Example-frameworks.sh
+${BUILT_PRODUCTS_DIR}/IQKeyboardManagerSwift/IQKeyboardManagerSwift.framework
+${BUILT_PRODUCTS_DIR}/SnapKit/SnapKit.framework
+${BUILT_PRODUCTS_DIR}/Toast-Swift/Toast_Swift.framework
\ No newline at end of file
--- /dev/null
+${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/IQKeyboardManagerSwift.framework
+${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SnapKit.framework
+${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Toast_Swift.framework
\ No newline at end of file
--- /dev/null
+${PODS_ROOT}/Target Support Files/Pods-Example/Pods-Example-frameworks.sh
+${BUILT_PRODUCTS_DIR}/IQKeyboardManagerSwift/IQKeyboardManagerSwift.framework
+${BUILT_PRODUCTS_DIR}/SnapKit/SnapKit.framework
+${BUILT_PRODUCTS_DIR}/Toast-Swift/Toast_Swift.framework
\ No newline at end of file
--- /dev/null
+${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/IQKeyboardManagerSwift.framework
+${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SnapKit.framework
+${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Toast_Swift.framework
\ No newline at end of file
--- /dev/null
+#!/bin/sh
+set -e
+set -u
+set -o pipefail
+
+function on_error {
+ echo "$(realpath -mq "${0}"):$1: error: Unexpected failure"
+}
+trap 'on_error $LINENO' ERR
+
+if [ -z ${FRAMEWORKS_FOLDER_PATH+x} ]; then
+ # If FRAMEWORKS_FOLDER_PATH is not set, then there's nowhere for us to copy
+ # frameworks to, so exit 0 (signalling the script phase was successful).
+ exit 0
+fi
+
+echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
+mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
+
+COCOAPODS_PARALLEL_CODE_SIGN="${COCOAPODS_PARALLEL_CODE_SIGN:-false}"
+SWIFT_STDLIB_PATH="${TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}"
+BCSYMBOLMAP_DIR="BCSymbolMaps"
+
+
+# This protects against multiple targets copying the same framework dependency at the same time. The solution
+# was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html
+RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????")
+
+# Copies and strips a vendored framework
+install_framework()
+{
+ if [ -r "${BUILT_PRODUCTS_DIR}/$1" ]; then
+ local source="${BUILT_PRODUCTS_DIR}/$1"
+ elif [ -r "${BUILT_PRODUCTS_DIR}/$(basename "$1")" ]; then
+ local source="${BUILT_PRODUCTS_DIR}/$(basename "$1")"
+ elif [ -r "$1" ]; then
+ local source="$1"
+ fi
+
+ local destination="${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
+
+ if [ -L "${source}" ]; then
+ echo "Symlinked..."
+ source="$(readlink -f "${source}")"
+ fi
+
+ if [ -d "${source}/${BCSYMBOLMAP_DIR}" ]; then
+ # Locate and install any .bcsymbolmaps if present, and remove them from the .framework before the framework is copied
+ find "${source}/${BCSYMBOLMAP_DIR}" -name "*.bcsymbolmap"|while read f; do
+ echo "Installing $f"
+ install_bcsymbolmap "$f" "$destination"
+ rm "$f"
+ done
+ rmdir "${source}/${BCSYMBOLMAP_DIR}"
+ fi
+
+ # Use filter instead of exclude so missing patterns don't throw errors.
+ echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\""
+ rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}"
+
+ local basename
+ basename="$(basename -s .framework "$1")"
+ binary="${destination}/${basename}.framework/${basename}"
+
+ if ! [ -r "$binary" ]; then
+ binary="${destination}/${basename}"
+ elif [ -L "${binary}" ]; then
+ echo "Destination binary is symlinked..."
+ dirname="$(dirname "${binary}")"
+ binary="${dirname}/$(readlink "${binary}")"
+ fi
+
+ # Strip invalid architectures so "fat" simulator / device frameworks work on device
+ if [[ "$(file "$binary")" == *"dynamically linked shared library"* ]]; then
+ strip_invalid_archs "$binary"
+ fi
+
+ # Resign the code if required by the build settings to avoid unstable apps
+ code_sign_if_enabled "${destination}/$(basename "$1")"
+
+ # Embed linked Swift runtime libraries. No longer necessary as of Xcode 7.
+ if [ "${XCODE_VERSION_MAJOR}" -lt 7 ]; then
+ local swift_runtime_libs
+ swift_runtime_libs=$(xcrun otool -LX "$binary" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u)
+ for lib in $swift_runtime_libs; do
+ echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\""
+ rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}"
+ code_sign_if_enabled "${destination}/${lib}"
+ done
+ fi
+}
+# Copies and strips a vendored dSYM
+install_dsym() {
+ local source="$1"
+ warn_missing_arch=${2:-true}
+ if [ -r "$source" ]; then
+ # Copy the dSYM into the targets temp dir.
+ echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${DERIVED_FILES_DIR}\""
+ rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${DERIVED_FILES_DIR}"
+
+ local basename
+ basename="$(basename -s .dSYM "$source")"
+ binary_name="$(ls "$source/Contents/Resources/DWARF")"
+ binary="${DERIVED_FILES_DIR}/${basename}.dSYM/Contents/Resources/DWARF/${binary_name}"
+
+ # Strip invalid architectures from the dSYM.
+ if [[ "$(file "$binary")" == *"Mach-O "*"dSYM companion"* ]]; then
+ strip_invalid_archs "$binary" "$warn_missing_arch"
+ fi
+ if [[ $STRIP_BINARY_RETVAL == 0 ]]; then
+ # Move the stripped file into its final destination.
+ echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${DERIVED_FILES_DIR}/${basename}.framework.dSYM\" \"${DWARF_DSYM_FOLDER_PATH}\""
+ rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${DERIVED_FILES_DIR}/${basename}.dSYM" "${DWARF_DSYM_FOLDER_PATH}"
+ else
+ # The dSYM was not stripped at all, in this case touch a fake folder so the input/output paths from Xcode do not reexecute this script because the file is missing.
+ mkdir -p "${DWARF_DSYM_FOLDER_PATH}"
+ touch "${DWARF_DSYM_FOLDER_PATH}/${basename}.dSYM"
+ fi
+ fi
+}
+
+# Used as a return value for each invocation of `strip_invalid_archs` function.
+STRIP_BINARY_RETVAL=0
+
+# Strip invalid architectures
+strip_invalid_archs() {
+ binary="$1"
+ warn_missing_arch=${2:-true}
+ # Get architectures for current target binary
+ binary_archs="$(lipo -info "$binary" | rev | cut -d ':' -f1 | awk '{$1=$1;print}' | rev)"
+ # Intersect them with the architectures we are building for
+ intersected_archs="$(echo ${ARCHS[@]} ${binary_archs[@]} | tr ' ' '\n' | sort | uniq -d)"
+ # If there are no archs supported by this binary then warn the user
+ if [[ -z "$intersected_archs" ]]; then
+ if [[ "$warn_missing_arch" == "true" ]]; then
+ echo "warning: [CP] Vendored binary '$binary' contains architectures ($binary_archs) none of which match the current build architectures ($ARCHS)."
+ fi
+ STRIP_BINARY_RETVAL=1
+ return
+ fi
+ stripped=""
+ for arch in $binary_archs; do
+ if ! [[ "${ARCHS}" == *"$arch"* ]]; then
+ # Strip non-valid architectures in-place
+ lipo -remove "$arch" -output "$binary" "$binary"
+ stripped="$stripped $arch"
+ fi
+ done
+ if [[ "$stripped" ]]; then
+ echo "Stripped $binary of architectures:$stripped"
+ fi
+ STRIP_BINARY_RETVAL=0
+}
+
+# Copies the bcsymbolmap files of a vendored framework
+install_bcsymbolmap() {
+ local bcsymbolmap_path="$1"
+ local destination="${BUILT_PRODUCTS_DIR}"
+ echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${bcsymbolmap_path}" "${destination}""
+ rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${bcsymbolmap_path}" "${destination}"
+}
+
+# Signs a framework with the provided identity
+code_sign_if_enabled() {
+ if [ -n "${EXPANDED_CODE_SIGN_IDENTITY:-}" -a "${CODE_SIGNING_REQUIRED:-}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then
+ # Use the current code_sign_identity
+ echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}"
+ local code_sign_cmd="/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS:-} --preserve-metadata=identifier,entitlements '$1'"
+
+ if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then
+ code_sign_cmd="$code_sign_cmd &"
+ fi
+ echo "$code_sign_cmd"
+ eval "$code_sign_cmd"
+ fi
+}
+
+if [[ "$CONFIGURATION" == "Debug" ]]; then
+ install_framework "${BUILT_PRODUCTS_DIR}/IQKeyboardManagerSwift/IQKeyboardManagerSwift.framework"
+ install_framework "${BUILT_PRODUCTS_DIR}/SnapKit/SnapKit.framework"
+ install_framework "${BUILT_PRODUCTS_DIR}/Toast-Swift/Toast_Swift.framework"
+fi
+if [[ "$CONFIGURATION" == "Release" ]]; then
+ install_framework "${BUILT_PRODUCTS_DIR}/IQKeyboardManagerSwift/IQKeyboardManagerSwift.framework"
+ install_framework "${BUILT_PRODUCTS_DIR}/SnapKit/SnapKit.framework"
+ install_framework "${BUILT_PRODUCTS_DIR}/Toast-Swift/Toast_Swift.framework"
+fi
+if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then
+ wait
+fi
--- /dev/null
+#ifdef __OBJC__
+#import <UIKit/UIKit.h>
+#else
+#ifndef FOUNDATION_EXPORT
+#if defined(__cplusplus)
+#define FOUNDATION_EXPORT extern "C"
+#else
+#define FOUNDATION_EXPORT extern
+#endif
+#endif
+#endif
+
+
+FOUNDATION_EXPORT double Pods_ExampleVersionNumber;
+FOUNDATION_EXPORT const unsigned char Pods_ExampleVersionString[];
+
--- /dev/null
+ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES
+CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
+FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardManagerSwift" "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit" "${PODS_CONFIGURATION_BUILD_DIR}/Toast-Swift"
+GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
+HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardManagerSwift/IQKeyboardManagerSwift.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit/SnapKit.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Toast-Swift/Toast_Swift.framework/Headers"
+LD_RUNPATH_SEARCH_PATHS = $(inherited) /usr/lib/swift '@executable_path/Frameworks' '@loader_path/Frameworks'
+LIBRARY_SEARCH_PATHS = $(inherited) "${TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift $(SDKROOT)/usr/lib/swift
+OTHER_LDFLAGS = $(inherited) -l"swiftCoreGraphics" -framework "CoreGraphics" -framework "Foundation" -framework "IQKeyboardManagerSwift" -framework "QuartzCore" -framework "SnapKit" -framework "Toast_Swift" -framework "UIKit"
+OTHER_MODULE_VERIFIER_FLAGS = $(inherited) "-F${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardManagerSwift" "-F${PODS_CONFIGURATION_BUILD_DIR}/SnapKit" "-F${PODS_CONFIGURATION_BUILD_DIR}/Toast-Swift"
+OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
+PODS_BUILD_DIR = ${BUILD_DIR}
+PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
+PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
+PODS_ROOT = ${SRCROOT}/Pods
+PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
+USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
--- /dev/null
+framework module Pods_Example {
+ umbrella header "Pods-Example-umbrella.h"
+
+ export *
+ module * { export * }
+}
--- /dev/null
+ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES
+CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
+FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardManagerSwift" "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit" "${PODS_CONFIGURATION_BUILD_DIR}/Toast-Swift"
+GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
+HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardManagerSwift/IQKeyboardManagerSwift.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit/SnapKit.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Toast-Swift/Toast_Swift.framework/Headers"
+LD_RUNPATH_SEARCH_PATHS = $(inherited) /usr/lib/swift '@executable_path/Frameworks' '@loader_path/Frameworks'
+LIBRARY_SEARCH_PATHS = $(inherited) "${TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift $(SDKROOT)/usr/lib/swift
+OTHER_LDFLAGS = $(inherited) -l"swiftCoreGraphics" -framework "CoreGraphics" -framework "Foundation" -framework "IQKeyboardManagerSwift" -framework "QuartzCore" -framework "SnapKit" -framework "Toast_Swift" -framework "UIKit"
+OTHER_MODULE_VERIFIER_FLAGS = $(inherited) "-F${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardManagerSwift" "-F${PODS_CONFIGURATION_BUILD_DIR}/SnapKit" "-F${PODS_CONFIGURATION_BUILD_DIR}/Toast-Swift"
+OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
+PODS_BUILD_DIR = ${BUILD_DIR}
+PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
+PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
+PODS_ROOT = ${SRCROOT}/Pods
+PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
+USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleDevelopmentRegion</key>
+ <string>${PODS_DEVELOPMENT_LANGUAGE}</string>
+ <key>CFBundleIdentifier</key>
+ <string>${PRODUCT_BUNDLE_IDENTIFIER}</string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundleName</key>
+ <string>${PRODUCT_NAME}</string>
+ <key>CFBundlePackageType</key>
+ <string>BNDL</string>
+ <key>CFBundleShortVersionString</key>
+ <string>5.7.1</string>
+ <key>CFBundleSignature</key>
+ <string>????</string>
+ <key>CFBundleVersion</key>
+ <string>1</string>
+ <key>NSPrincipalClass</key>
+ <string></string>
+</dict>
+</plist>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleDevelopmentRegion</key>
+ <string>${PODS_DEVELOPMENT_LANGUAGE}</string>
+ <key>CFBundleExecutable</key>
+ <string>${EXECUTABLE_NAME}</string>
+ <key>CFBundleIdentifier</key>
+ <string>${PRODUCT_BUNDLE_IDENTIFIER}</string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundleName</key>
+ <string>${PRODUCT_NAME}</string>
+ <key>CFBundlePackageType</key>
+ <string>FMWK</string>
+ <key>CFBundleShortVersionString</key>
+ <string>5.7.1</string>
+ <key>CFBundleSignature</key>
+ <string>????</string>
+ <key>CFBundleVersion</key>
+ <string>${CURRENT_PROJECT_VERSION}</string>
+ <key>NSPrincipalClass</key>
+ <string></string>
+</dict>
+</plist>
--- /dev/null
+#import <Foundation/Foundation.h>
+@interface PodsDummy_SnapKit : NSObject
+@end
+@implementation PodsDummy_SnapKit
+@end
--- /dev/null
+#ifdef __OBJC__
+#import <UIKit/UIKit.h>
+#else
+#ifndef FOUNDATION_EXPORT
+#if defined(__cplusplus)
+#define FOUNDATION_EXPORT extern "C"
+#else
+#define FOUNDATION_EXPORT extern
+#endif
+#endif
+#endif
+
--- /dev/null
+#ifdef __OBJC__
+#import <UIKit/UIKit.h>
+#else
+#ifndef FOUNDATION_EXPORT
+#if defined(__cplusplus)
+#define FOUNDATION_EXPORT extern "C"
+#else
+#define FOUNDATION_EXPORT extern
+#endif
+#endif
+#endif
+
+
+FOUNDATION_EXPORT double SnapKitVersionNumber;
+FOUNDATION_EXPORT const unsigned char SnapKitVersionString[];
+
--- /dev/null
+CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
+CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/SnapKit
+GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
+LIBRARY_SEARCH_PATHS = $(inherited) "${TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift $(SDKROOT)/usr/lib/swift
+OTHER_LDFLAGS = $(inherited) -l"swiftCoreGraphics"
+OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
+PODS_BUILD_DIR = ${BUILD_DIR}
+PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
+PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE}
+PODS_ROOT = ${SRCROOT}
+PODS_TARGET_SRCROOT = ${PODS_ROOT}/SnapKit
+PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
+PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
+SKIP_INSTALL = YES
+USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
--- /dev/null
+framework module SnapKit {
+ umbrella header "SnapKit-umbrella.h"
+
+ export *
+ module * { export * }
+}
--- /dev/null
+CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
+CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/SnapKit
+GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
+LIBRARY_SEARCH_PATHS = $(inherited) "${TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift $(SDKROOT)/usr/lib/swift
+OTHER_LDFLAGS = $(inherited) -l"swiftCoreGraphics"
+OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
+PODS_BUILD_DIR = ${BUILD_DIR}
+PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
+PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE}
+PODS_ROOT = ${SRCROOT}
+PODS_TARGET_SRCROOT = ${PODS_ROOT}/SnapKit
+PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
+PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
+SKIP_INSTALL = YES
+USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleDevelopmentRegion</key>
+ <string>${PODS_DEVELOPMENT_LANGUAGE}</string>
+ <key>CFBundleIdentifier</key>
+ <string>${PRODUCT_BUNDLE_IDENTIFIER}</string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundleName</key>
+ <string>${PRODUCT_NAME}</string>
+ <key>CFBundlePackageType</key>
+ <string>BNDL</string>
+ <key>CFBundleShortVersionString</key>
+ <string>5.1.1</string>
+ <key>CFBundleSignature</key>
+ <string>????</string>
+ <key>CFBundleVersion</key>
+ <string>1</string>
+ <key>NSPrincipalClass</key>
+ <string></string>
+</dict>
+</plist>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleDevelopmentRegion</key>
+ <string>${PODS_DEVELOPMENT_LANGUAGE}</string>
+ <key>CFBundleExecutable</key>
+ <string>${EXECUTABLE_NAME}</string>
+ <key>CFBundleIdentifier</key>
+ <string>${PRODUCT_BUNDLE_IDENTIFIER}</string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundleName</key>
+ <string>${PRODUCT_NAME}</string>
+ <key>CFBundlePackageType</key>
+ <string>FMWK</string>
+ <key>CFBundleShortVersionString</key>
+ <string>5.1.1</string>
+ <key>CFBundleSignature</key>
+ <string>????</string>
+ <key>CFBundleVersion</key>
+ <string>${CURRENT_PROJECT_VERSION}</string>
+ <key>NSPrincipalClass</key>
+ <string></string>
+</dict>
+</plist>
--- /dev/null
+#import <Foundation/Foundation.h>
+@interface PodsDummy_Toast_Swift : NSObject
+@end
+@implementation PodsDummy_Toast_Swift
+@end
--- /dev/null
+#ifdef __OBJC__
+#import <UIKit/UIKit.h>
+#else
+#ifndef FOUNDATION_EXPORT
+#if defined(__cplusplus)
+#define FOUNDATION_EXPORT extern "C"
+#else
+#define FOUNDATION_EXPORT extern
+#endif
+#endif
+#endif
+
--- /dev/null
+#ifdef __OBJC__
+#import <UIKit/UIKit.h>
+#else
+#ifndef FOUNDATION_EXPORT
+#if defined(__cplusplus)
+#define FOUNDATION_EXPORT extern "C"
+#else
+#define FOUNDATION_EXPORT extern
+#endif
+#endif
+#endif
+
+
+FOUNDATION_EXPORT double Toast_SwiftVersionNumber;
+FOUNDATION_EXPORT const unsigned char Toast_SwiftVersionString[];
+
--- /dev/null
+CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
+CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Toast-Swift
+GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
+LIBRARY_SEARCH_PATHS = $(inherited) "${TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift
+OTHER_LDFLAGS = $(inherited) -framework "QuartzCore"
+OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
+PODS_BUILD_DIR = ${BUILD_DIR}
+PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
+PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE}
+PODS_ROOT = ${SRCROOT}
+PODS_TARGET_SRCROOT = ${PODS_ROOT}/Toast-Swift
+PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
+PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
+SKIP_INSTALL = YES
+USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
--- /dev/null
+framework module Toast_Swift {
+ umbrella header "Toast-Swift-umbrella.h"
+
+ export *
+ module * { export * }
+}
--- /dev/null
+CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
+CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Toast-Swift
+GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
+LIBRARY_SEARCH_PATHS = $(inherited) "${TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift
+OTHER_LDFLAGS = $(inherited) -framework "QuartzCore"
+OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
+PODS_BUILD_DIR = ${BUILD_DIR}
+PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
+PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE}
+PODS_ROOT = ${SRCROOT}
+PODS_TARGET_SRCROOT = ${PODS_ROOT}/Toast-Swift
+PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
+PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
+SKIP_INSTALL = YES
+USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
--- /dev/null
+Copyright (c) 2015-2024 Charles Scalesse.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
--- /dev/null
+Toast-Swift
+=============
+
+[](http://cocoadocs.org/docsets/Toast-Swift)
+[](https://github.com/Carthage/Carthage)
+
+Toast-Swift is a Swift extension that adds toast notifications to the `UIView` object class. It is intended to be simple, lightweight, and easy to use. Most toast notifications can be triggered with a single line of code.
+
+**Toast-Swift is a native Swift port of [Toast for iOS](https://github.com/scalessec/Toast "Toast for iOS").**
+
+Screenshots
+---------
+
+
+
+Basic Examples
+---------
+```swift
+// basic usage
+self.view.makeToast("This is a piece of toast")
+
+// toast with a specific duration and position
+self.view.makeToast("This is a piece of toast", duration: 3.0, position: .top)
+
+// toast presented with multiple options and with a completion closure
+self.view.makeToast("This is a piece of toast", duration: 2.0, point: CGPoint(x: 110.0, y: 110.0), title: "Toast Title", image: UIImage(named: "toast.png")) { didTap in
+ if didTap {
+ print("completion from tap")
+ } else {
+ print("completion without tap")
+ }
+}
+
+// display toast with an activity spinner
+self.view.makeToastActivity(.center)
+
+// display any view as toast
+self.view.showToast(myView)
+
+// immediately hides all toast views in self.view
+self.view.hideAllToasts()
+```
+
+But wait, there's more!
+---------
+```swift
+// create a new style
+var style = ToastStyle()
+
+// this is just one of many style options
+style.messageColor = .blue
+
+// present the toast with the new style
+self.view.makeToast("This is a piece of toast", duration: 3.0, position: .bottom, style: style)
+
+// or perhaps you want to use this style for all toasts going forward?
+// just set the shared style and there's no need to provide the style again
+ToastManager.shared.style = style
+self.view.makeToast("This is a piece of toast") // now uses the shared style
+
+// toggle "tap to dismiss" functionality
+ToastManager.shared.isTapToDismissEnabled = true
+
+// toggle queueing behavior
+ToastManager.shared.isQueueEnabled = true
+```
+
+See the demo project for more examples.
+
+
+Setup Instructions
+------------------
+
+[CocoaPods](http://cocoapods.org)
+------------------
+
+To integrate Toast-Swift into your Xcode project using CocoaPods, specify it in your `Podfile`:
+
+```ruby
+pod 'Toast-Swift', '~> 5.1.0'
+```
+
+and in your code add `import Toast_Swift`.
+
+[Carthage](https://github.com/Carthage/Carthage)
+------------------
+
+To integrate Toast-Swift into your Xcode project using Carthage, specify it in your `Cartfile`:
+
+```ogdl
+github "scalessec/Toast-Swift" ~> 5.1.0
+```
+
+Run `carthage update` to build the framework and drag the built `ToastSwiftFramework.framework` into your Xcode project.
+
+and in your code add `import ToastSwiftFramework`.
+
+[Swift Package Manager](https://swift.org/package-manager/)
+------------------
+
+When using Xcode 11 or later, you can install `Toast` by going to your Project settings > `Swift Packages` and add the repository by providing the GitHub URL. Alternatively, you can go to `File` > `Swift Packages` > `Add Package Dependencies...`
+
+Manually
+------------------
+
+1. Add `Toast.swift` to your project.
+2. Grab yourself a cold 🍺.
+
+Compatibility
+------------------
+* Version `5.x.x` requires Swift 5 and Xcode 10.2 or later.
+* Version `4.x.x` requires Swift 4.2 and Xcode 10.
+* Version `3.x.x` requires Swift 4 and Xcode 9.
+* Version `2.x.x` requires Swift 3 and Xcode 8.
+* Version `1.4.x` requires Swift 2.2 and Xcode 7.3.
+* Version `1.0.0` can be used with Swift 2.1 and earlier versions of Xcode.
+
+Privacy
+-----------
+Toast-Swift does not collect any data. A [privacy manifest](Toast/Resources/PrivacyInfo.xcprivacy) is provided with the library. See [Apple's documentation](https://developer.apple.com/documentation/bundleresources/privacy_manifest_files) for related details.
+
+MIT License
+-----------
+ Copyright (c) 2015-2024 Charles Scalesse.
+
+ Permission is hereby granted, free of charge, to any person obtaining a
+ copy of this software and associated documentation files (the
+ "Software"), to deal in the Software without restriction, including
+ without limitation the rights to use, copy, modify, merge, publish,
+ distribute, sublicense, and/or sell copies of the Software, and to
+ permit persons to whom the Software is furnished to do so, subject to
+ the following conditions:
+
+ The above copyright notice and this permission notice shall be included
+ in all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+ IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>NSPrivacyTracking</key>
+ <false/>
+ <key>NSPrivacyCollectedDataTypes</key>
+ <array/>
+ <key>NSPrivacyTrackingDomains</key>
+ <array/>
+ <key>NSPrivacyAccessedAPITypes</key>
+ <array/>
+</dict>
+</plist>
\ No newline at end of file
--- /dev/null
+//
+// Toast.swift
+// Toast-Swift
+//
+// Copyright (c) 2015-2024 Charles Scalesse.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a
+// copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be included
+// in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+import UIKit
+import ObjectiveC
+
+/**
+ Toast is a Swift extension that adds toast notifications to the `UIView` object class.
+ It is intended to be simple, lightweight, and easy to use. Most toast notifications
+ can be triggered with a single line of code.
+
+ The `makeToast` methods create a new view and then display it as toast.
+
+ The `showToast` methods display any view as toast.
+
+ */
+public extension UIView {
+
+ /**
+ Keys used for associated objects.
+ */
+ private struct ToastKeys {
+ static var timer = malloc(1)
+ static var duration = malloc(1)
+ static var point = malloc(1)
+ static var completion = malloc(1)
+ static var activeToasts = malloc(1)
+ static var activityView = malloc(1)
+ static var queue = malloc(1)
+ }
+
+ /**
+ Swift closures can't be directly associated with objects via the
+ Objective-C runtime, so the (ugly) solution is to wrap them in a
+ class that can be used with associated objects.
+ */
+ private class ToastCompletionWrapper {
+ let completion: ((Bool) -> Void)?
+
+ init(_ completion: ((Bool) -> Void)?) {
+ self.completion = completion
+ }
+ }
+
+ private enum ToastError: Error {
+ case missingParameters
+ }
+
+ private var activeToasts: NSMutableArray {
+ get {
+ if let activeToasts = objc_getAssociatedObject(self, &ToastKeys.activeToasts) as? NSMutableArray {
+ return activeToasts
+ } else {
+ let activeToasts = NSMutableArray()
+ objc_setAssociatedObject(self, &ToastKeys.activeToasts, activeToasts, .OBJC_ASSOCIATION_RETAIN_NONATOMIC)
+ return activeToasts
+ }
+ }
+ }
+
+ private var queue: NSMutableArray {
+ get {
+ if let queue = objc_getAssociatedObject(self, &ToastKeys.queue) as? NSMutableArray {
+ return queue
+ } else {
+ let queue = NSMutableArray()
+ objc_setAssociatedObject(self, &ToastKeys.queue, queue, .OBJC_ASSOCIATION_RETAIN_NONATOMIC)
+ return queue
+ }
+ }
+ }
+
+ // MARK: - Make Toast Methods
+
+ /**
+ Creates and presents a new toast view.
+
+ @param message The message to be displayed
+ @param duration The toast duration
+ @param position The toast's position
+ @param title The title
+ @param image The image
+ @param style The style. The shared style will be used when nil
+ @param completion The completion closure, executed after the toast view disappears.
+ didTap will be `true` if the toast view was dismissed from a tap.
+ */
+ func makeToast(_ message: String?, duration: TimeInterval = ToastManager.shared.duration, position: ToastPosition = ToastManager.shared.position, title: String? = nil, image: UIImage? = nil, style: ToastStyle = ToastManager.shared.style, completion: ((_ didTap: Bool) -> Void)? = nil) {
+ do {
+ let toast = try toastViewForMessage(message, title: title, image: image, style: style)
+ showToast(toast, duration: duration, position: position, completion: completion)
+ } catch ToastError.missingParameters {
+ print("Error: message, title, and image are all nil")
+ } catch {}
+ }
+
+ /**
+ Creates a new toast view and presents it at a given center point.
+
+ @param message The message to be displayed
+ @param duration The toast duration
+ @param point The toast's center point
+ @param title The title
+ @param image The image
+ @param style The style. The shared style will be used when nil
+ @param completion The completion closure, executed after the toast view disappears.
+ didTap will be `true` if the toast view was dismissed from a tap.
+ */
+ func makeToast(_ message: String?, duration: TimeInterval = ToastManager.shared.duration, point: CGPoint, title: String?, image: UIImage?, style: ToastStyle = ToastManager.shared.style, completion: ((_ didTap: Bool) -> Void)?) {
+ do {
+ let toast = try toastViewForMessage(message, title: title, image: image, style: style)
+ showToast(toast, duration: duration, point: point, completion: completion)
+ } catch ToastError.missingParameters {
+ print("Error: message, title, and image cannot all be nil")
+ } catch {}
+ }
+
+ // MARK: - Show Toast Methods
+
+ /**
+ Displays any view as toast at a provided position and duration. The completion closure
+ executes when the toast view completes. `didTap` will be `true` if the toast view was
+ dismissed from a tap.
+
+ @param toast The view to be displayed as toast
+ @param duration The notification duration
+ @param position The toast's position
+ @param completion The completion block, executed after the toast view disappears.
+ didTap will be `true` if the toast view was dismissed from a tap.
+ */
+ func showToast(_ toast: UIView, duration: TimeInterval = ToastManager.shared.duration, position: ToastPosition = ToastManager.shared.position, completion: ((_ didTap: Bool) -> Void)? = nil) {
+ let point = position.centerPoint(forToast: toast, inSuperview: self)
+ showToast(toast, duration: duration, point: point, completion: completion)
+ }
+
+ /**
+ Displays any view as toast at a provided center point and duration. The completion closure
+ executes when the toast view completes. `didTap` will be `true` if the toast view was
+ dismissed from a tap.
+
+ @param toast The view to be displayed as toast
+ @param duration The notification duration
+ @param point The toast's center point
+ @param completion The completion block, executed after the toast view disappears.
+ didTap will be `true` if the toast view was dismissed from a tap.
+ */
+ func showToast(_ toast: UIView, duration: TimeInterval = ToastManager.shared.duration, point: CGPoint, completion: ((_ didTap: Bool) -> Void)? = nil) {
+ objc_setAssociatedObject(toast, &ToastKeys.completion, ToastCompletionWrapper(completion), .OBJC_ASSOCIATION_RETAIN_NONATOMIC);
+
+ if ToastManager.shared.isQueueEnabled, activeToasts.count > 0 {
+ objc_setAssociatedObject(toast, &ToastKeys.duration, NSNumber(value: duration), .OBJC_ASSOCIATION_RETAIN_NONATOMIC);
+ objc_setAssociatedObject(toast, &ToastKeys.point, NSValue(cgPoint: point), .OBJC_ASSOCIATION_RETAIN_NONATOMIC);
+
+ queue.add(toast)
+ } else {
+ showToast(toast, duration: duration, point: point)
+ }
+ }
+
+ // MARK: - Hide Toast Methods
+
+ /**
+ Hides the active toast. If there are multiple toasts active in a view, this method
+ hides the oldest toast (the first of the toasts to have been presented).
+
+ @see `hideAllToasts()` to remove all active toasts from a view.
+
+ @warning This method has no effect on activity toasts. Use `hideToastActivity` to
+ hide activity toasts.
+
+ */
+ func hideToast() {
+ guard let activeToast = activeToasts.firstObject as? UIView else { return }
+ hideToast(activeToast)
+ }
+
+ /**
+ Hides an active toast.
+
+ @param toast The active toast view to dismiss. Any toast that is currently being displayed
+ on the screen is considered active.
+
+ @warning this does not clear a toast view that is currently waiting in the queue.
+ */
+ func hideToast(_ toast: UIView) {
+ guard activeToasts.contains(toast) else { return }
+ hideToast(toast, fromTap: false)
+ }
+
+ /**
+ Hides all toast views.
+
+ @param includeActivity If `true`, toast activity will also be hidden. Default is `false`.
+ @param clearQueue If `true`, removes all toast views from the queue. Default is `true`.
+ */
+ func hideAllToasts(includeActivity: Bool = false, clearQueue: Bool = true) {
+ if clearQueue {
+ clearToastQueue()
+ }
+
+ activeToasts.compactMap { $0 as? UIView }
+ .forEach { hideToast($0) }
+
+ if includeActivity {
+ hideToastActivity()
+ }
+ }
+
+ /**
+ Removes all toast views from the queue. This has no effect on toast views that are
+ active. Use `hideAllToasts(clearQueue:)` to hide the active toasts views and clear
+ the queue.
+ */
+ func clearToastQueue() {
+ queue.removeAllObjects()
+ }
+
+ // MARK: - Activity Methods
+
+ /**
+ Creates and displays a new toast activity indicator view at a specified position.
+
+ @warning Only one toast activity indicator view can be presented per superview. Subsequent
+ calls to `makeToastActivity(position:)` will be ignored until `hideToastActivity()` is called.
+
+ @warning `makeToastActivity(position:)` works independently of the `showToast` methods. Toast
+ activity views can be presented and dismissed while toast views are being displayed.
+ `makeToastActivity(position:)` has no effect on the queueing behavior of the `showToast` methods.
+
+ @param position The toast's position
+ */
+ func makeToastActivity(_ position: ToastPosition) {
+ // sanity
+ guard objc_getAssociatedObject(self, &ToastKeys.activityView) as? UIView == nil else { return }
+
+ let toast = createToastActivityView()
+ let point = position.centerPoint(forToast: toast, inSuperview: self)
+ makeToastActivity(toast, point: point)
+ }
+
+ /**
+ Creates and displays a new toast activity indicator view at a specified position.
+
+ @warning Only one toast activity indicator view can be presented per superview. Subsequent
+ calls to `makeToastActivity(position:)` will be ignored until `hideToastActivity()` is called.
+
+ @warning `makeToastActivity(position:)` works independently of the `showToast` methods. Toast
+ activity views can be presented and dismissed while toast views are being displayed.
+ `makeToastActivity(position:)` has no effect on the queueing behavior of the `showToast` methods.
+
+ @param point The toast's center point
+ */
+ func makeToastActivity(_ point: CGPoint) {
+ // sanity
+ guard objc_getAssociatedObject(self, &ToastKeys.activityView) as? UIView == nil else { return }
+
+ let toast = createToastActivityView()
+ makeToastActivity(toast, point: point)
+ }
+
+ /**
+ Dismisses the active toast activity indicator view.
+ */
+ func hideToastActivity() {
+ if let toast = objc_getAssociatedObject(self, &ToastKeys.activityView) as? UIView {
+ UIView.animate(withDuration: ToastManager.shared.style.fadeDuration, delay: 0.0, options: [.curveEaseIn, .beginFromCurrentState], animations: {
+ toast.alpha = 0.0
+ }) { _ in
+ toast.removeFromSuperview()
+ objc_setAssociatedObject(self, &ToastKeys.activityView, nil, .OBJC_ASSOCIATION_RETAIN_NONATOMIC)
+ }
+ }
+ }
+
+ // MARK: - Helper Methods
+
+ /**
+ Returns `true` if a toast view or toast activity view is actively being displayed.
+ */
+ func isShowingToast() -> Bool {
+ return activeToasts.count > 0 || objc_getAssociatedObject(self, &ToastKeys.activityView) != nil
+ }
+
+ // MARK: - Private Activity Methods
+
+ private func makeToastActivity(_ toast: UIView, point: CGPoint) {
+ toast.alpha = 0.0
+ toast.center = point
+
+ objc_setAssociatedObject(self, &ToastKeys.activityView, toast, .OBJC_ASSOCIATION_RETAIN_NONATOMIC)
+
+ self.addSubview(toast)
+
+ UIView.animate(withDuration: ToastManager.shared.style.fadeDuration, delay: 0.0, options: .curveEaseOut, animations: {
+ toast.alpha = 1.0
+ })
+ }
+
+ private func createToastActivityView() -> UIView {
+ let style = ToastManager.shared.style
+
+ let activityView = UIView(frame: CGRect(x: 0.0, y: 0.0, width: style.activitySize.width, height: style.activitySize.height))
+ activityView.backgroundColor = style.activityBackgroundColor
+ activityView.autoresizingMask = [.flexibleLeftMargin, .flexibleRightMargin, .flexibleTopMargin, .flexibleBottomMargin]
+ activityView.layer.cornerRadius = style.cornerRadius
+
+ if style.displayShadow {
+ activityView.layer.shadowColor = style.shadowColor.cgColor
+ activityView.layer.shadowOpacity = style.shadowOpacity
+ activityView.layer.shadowRadius = style.shadowRadius
+ activityView.layer.shadowOffset = style.shadowOffset
+ }
+
+ let activityIndicatorView = UIActivityIndicatorView(style: .whiteLarge)
+ activityIndicatorView.center = CGPoint(x: activityView.bounds.size.width / 2.0, y: activityView.bounds.size.height / 2.0)
+ activityView.addSubview(activityIndicatorView)
+ activityIndicatorView.color = style.activityIndicatorColor
+ activityIndicatorView.startAnimating()
+
+ return activityView
+ }
+
+ // MARK: - Private Show/Hide Methods
+
+ private func showToast(_ toast: UIView, duration: TimeInterval, point: CGPoint) {
+ toast.center = point
+ toast.alpha = 0.0
+
+ if ToastManager.shared.isTapToDismissEnabled {
+ let recognizer = UITapGestureRecognizer(target: self, action: #selector(UIView.handleToastTapped(_:)))
+ toast.addGestureRecognizer(recognizer)
+ toast.isUserInteractionEnabled = true
+ toast.isExclusiveTouch = true
+ }
+
+ activeToasts.add(toast)
+ self.addSubview(toast)
+
+ let timer = Timer(timeInterval: duration, target: self, selector: #selector(UIView.toastTimerDidFinish(_:)), userInfo: toast, repeats: false)
+ objc_setAssociatedObject(toast, &ToastKeys.timer, timer, .OBJC_ASSOCIATION_RETAIN_NONATOMIC)
+
+ UIView.animate(withDuration: ToastManager.shared.style.fadeDuration, delay: 0.0, options: [.curveEaseOut, .allowUserInteraction], animations: {
+ toast.alpha = 1.0
+ }) { _ in
+ guard let timer = objc_getAssociatedObject(toast, &ToastKeys.timer) as? Timer else { return }
+ RunLoop.main.add(timer, forMode: .common)
+ }
+
+ UIAccessibility.post(notification: .screenChanged, argument: toast)
+ }
+
+ private func hideToast(_ toast: UIView, fromTap: Bool) {
+ if let timer = objc_getAssociatedObject(toast, &ToastKeys.timer) as? Timer {
+ timer.invalidate()
+ }
+
+ UIView.animate(withDuration: ToastManager.shared.style.fadeDuration, delay: 0.0, options: [.curveEaseIn, .beginFromCurrentState], animations: {
+ toast.alpha = 0.0
+ }) { _ in
+ toast.removeFromSuperview()
+ self.activeToasts.remove(toast)
+
+ if let wrapper = objc_getAssociatedObject(toast, &ToastKeys.completion) as? ToastCompletionWrapper, let completion = wrapper.completion {
+ completion(fromTap)
+ }
+
+ if let nextToast = self.queue.firstObject as? UIView, let duration = objc_getAssociatedObject(nextToast, &ToastKeys.duration) as? NSNumber, let point = objc_getAssociatedObject(nextToast, &ToastKeys.point) as? NSValue {
+ self.queue.removeObject(at: 0)
+ self.showToast(nextToast, duration: duration.doubleValue, point: point.cgPointValue)
+ }
+ }
+ }
+
+ // MARK: - Events
+
+ @objc
+ private func handleToastTapped(_ recognizer: UITapGestureRecognizer) {
+ guard let toast = recognizer.view else { return }
+ hideToast(toast, fromTap: true)
+ }
+
+ @objc
+ private func toastTimerDidFinish(_ timer: Timer) {
+ guard let toast = timer.userInfo as? UIView else { return }
+ hideToast(toast)
+ }
+
+ // MARK: - Toast Construction
+
+ /**
+ Creates a new toast view with any combination of message, title, and image.
+ The look and feel is configured via the style. Unlike the `makeToast` methods,
+ this method does not present the toast view automatically. One of the `showToast`
+ methods must be used to present the resulting view.
+
+ @warning if message, title, and image are all nil, this method will throw
+ `ToastError.missingParameters`
+
+ @param message The message to be displayed
+ @param title The title
+ @param image The image
+ @param style The style. The shared style will be used when nil
+ @throws `ToastError.missingParameters` when message, title, and image are all nil
+ @return The newly created toast view
+ */
+ func toastViewForMessage(_ message: String?, title: String?, image: UIImage?, style: ToastStyle) throws -> UIView {
+ // sanity
+ guard message != nil || title != nil || image != nil else {
+ throw ToastError.missingParameters
+ }
+
+ var messageLabel: UILabel?
+ var titleLabel: UILabel?
+ var imageView: UIImageView?
+
+ let wrapperView = UIView()
+ wrapperView.backgroundColor = style.backgroundColor
+ wrapperView.autoresizingMask = [.flexibleLeftMargin, .flexibleRightMargin, .flexibleTopMargin, .flexibleBottomMargin]
+ wrapperView.layer.cornerRadius = style.cornerRadius
+
+ if style.displayShadow {
+ wrapperView.layer.shadowColor = style.shadowColor.cgColor
+ wrapperView.layer.shadowOpacity = style.shadowOpacity
+ wrapperView.layer.shadowRadius = style.shadowRadius
+ wrapperView.layer.shadowOffset = style.shadowOffset
+ }
+
+ if let image = image {
+ imageView = UIImageView(image: image)
+ imageView?.contentMode = .scaleAspectFit
+ imageView?.frame = CGRect(x: style.horizontalPadding, y: style.verticalPadding, width: style.imageSize.width, height: style.imageSize.height)
+ }
+
+ var imageRect = CGRect.zero
+
+ if let imageView = imageView {
+ imageRect.origin.x = style.horizontalPadding
+ imageRect.origin.y = style.verticalPadding
+ imageRect.size.width = imageView.bounds.size.width
+ imageRect.size.height = imageView.bounds.size.height
+ }
+
+ if let title = title {
+ titleLabel = UILabel()
+ titleLabel?.numberOfLines = style.titleNumberOfLines
+ titleLabel?.font = style.titleFont
+ titleLabel?.textAlignment = style.titleAlignment
+ titleLabel?.lineBreakMode = .byTruncatingTail
+ titleLabel?.textColor = style.titleColor
+ titleLabel?.backgroundColor = UIColor.clear
+ titleLabel?.text = title;
+
+ let maxTitleSize = CGSize(width: (self.bounds.size.width * style.maxWidthPercentage) - imageRect.size.width, height: self.bounds.size.height * style.maxHeightPercentage)
+ let titleSize = titleLabel?.sizeThatFits(maxTitleSize)
+ if let titleSize = titleSize {
+ titleLabel?.frame = CGRect(x: 0.0, y: 0.0, width: titleSize.width, height: titleSize.height)
+ }
+ }
+
+ if let message = message {
+ messageLabel = UILabel()
+ messageLabel?.text = message
+ messageLabel?.numberOfLines = style.messageNumberOfLines
+ messageLabel?.font = style.messageFont
+ messageLabel?.textAlignment = style.messageAlignment
+ messageLabel?.lineBreakMode = .byTruncatingTail;
+ messageLabel?.textColor = style.messageColor
+ messageLabel?.backgroundColor = UIColor.clear
+
+ let maxMessageSize = CGSize(width: (self.bounds.size.width * style.maxWidthPercentage) - imageRect.size.width, height: self.bounds.size.height * style.maxHeightPercentage)
+ let messageSize = messageLabel?.sizeThatFits(maxMessageSize)
+ if let messageSize = messageSize {
+ let actualWidth = min(messageSize.width, maxMessageSize.width)
+ let actualHeight = min(messageSize.height, maxMessageSize.height)
+ messageLabel?.frame = CGRect(x: 0.0, y: 0.0, width: actualWidth, height: actualHeight)
+ }
+ }
+
+ var titleRect = CGRect.zero
+
+ if let titleLabel = titleLabel {
+ titleRect.origin.x = imageRect.origin.x + imageRect.size.width + style.horizontalPadding
+ titleRect.origin.y = style.verticalPadding
+ titleRect.size.width = titleLabel.bounds.size.width
+ titleRect.size.height = titleLabel.bounds.size.height
+ }
+
+ var messageRect = CGRect.zero
+
+ if let messageLabel = messageLabel {
+ messageRect.origin.x = imageRect.origin.x + imageRect.size.width + style.horizontalPadding
+ messageRect.origin.y = titleRect.origin.y + titleRect.size.height + style.verticalPadding
+ messageRect.size.width = messageLabel.bounds.size.width
+ messageRect.size.height = messageLabel.bounds.size.height
+ }
+
+ let longerWidth = max(titleRect.size.width, messageRect.size.width)
+ let longerX = max(titleRect.origin.x, messageRect.origin.x)
+ let wrapperWidth = max((imageRect.size.width + (style.horizontalPadding * 2.0)), (longerX + longerWidth + style.horizontalPadding))
+
+ let textMaxY = messageRect.size.height <= 0.0 && titleRect.size.height > 0.0 ? titleRect.maxY : messageRect.maxY
+ let wrapperHeight = max((textMaxY + style.verticalPadding), (imageRect.size.height + (style.verticalPadding * 2.0)))
+
+ wrapperView.frame = CGRect(x: 0.0, y: 0.0, width: wrapperWidth, height: wrapperHeight)
+
+ if let titleLabel = titleLabel {
+ titleRect.size.width = longerWidth
+ titleLabel.frame = titleRect
+ wrapperView.addSubview(titleLabel)
+ }
+
+ if let messageLabel = messageLabel {
+ messageRect.size.width = longerWidth
+ messageLabel.frame = messageRect
+ wrapperView.addSubview(messageLabel)
+ }
+
+ if let imageView = imageView {
+ wrapperView.addSubview(imageView)
+ }
+
+ return wrapperView
+ }
+
+}
+
+// MARK: - Toast Style
+
+/**
+ `ToastStyle` instances define the look and feel for toast views created via the
+ `makeToast` methods as well for toast views created directly with
+ `toastViewForMessage(message:title:image:style:)`.
+
+ @warning `ToastStyle` offers relatively simple styling options for the default
+ toast view. If you require a toast view with more complex UI, it probably makes more
+ sense to create your own custom UIView subclass and present it with the `showToast`
+ methods.
+*/
+public struct ToastStyle {
+
+ public init() {}
+
+ /**
+ The background color. Default is `.black` at 80% opacity.
+ */
+ public var backgroundColor: UIColor = UIColor.black.withAlphaComponent(0.8)
+
+ /**
+ The title color. Default is `UIColor.whiteColor()`.
+ */
+ public var titleColor: UIColor = .white
+
+ /**
+ The message color. Default is `.white`.
+ */
+ public var messageColor: UIColor = .white
+
+ /**
+ A percentage value from 0.0 to 1.0, representing the maximum width of the toast
+ view relative to it's superview. Default is 0.8 (80% of the superview's width).
+ */
+ public var maxWidthPercentage: CGFloat = 0.8 {
+ didSet {
+ maxWidthPercentage = max(min(maxWidthPercentage, 1.0), 0.0)
+ }
+ }
+
+ /**
+ A percentage value from 0.0 to 1.0, representing the maximum height of the toast
+ view relative to it's superview. Default is 0.8 (80% of the superview's height).
+ */
+ public var maxHeightPercentage: CGFloat = 0.8 {
+ didSet {
+ maxHeightPercentage = max(min(maxHeightPercentage, 1.0), 0.0)
+ }
+ }
+
+ /**
+ The spacing from the horizontal edge of the toast view to the content. When an image
+ is present, this is also used as the padding between the image and the text.
+ Default is 10.0.
+
+ */
+ public var horizontalPadding: CGFloat = 10.0
+
+ /**
+ The spacing from the vertical edge of the toast view to the content. When a title
+ is present, this is also used as the padding between the title and the message.
+ Default is 10.0. On iOS11+, this value is added added to the `safeAreaInset.top`
+ and `safeAreaInsets.bottom`.
+ */
+ public var verticalPadding: CGFloat = 10.0
+
+ /**
+ The corner radius. Default is 10.0.
+ */
+ public var cornerRadius: CGFloat = 10.0;
+
+ /**
+ The title font. Default is `.boldSystemFont(16.0)`.
+ */
+ public var titleFont: UIFont = .boldSystemFont(ofSize: 16.0)
+
+ /**
+ The message font. Default is `.systemFont(ofSize: 16.0)`.
+ */
+ public var messageFont: UIFont = .systemFont(ofSize: 16.0)
+
+ /**
+ The title text alignment. Default is `NSTextAlignment.Left`.
+ */
+ public var titleAlignment: NSTextAlignment = .left
+
+ /**
+ The message text alignment. Default is `NSTextAlignment.Left`.
+ */
+ public var messageAlignment: NSTextAlignment = .left
+
+ /**
+ The maximum number of lines for the title. The default is 0 (no limit).
+ */
+ public var titleNumberOfLines = 0
+
+ /**
+ The maximum number of lines for the message. The default is 0 (no limit).
+ */
+ public var messageNumberOfLines = 0
+
+ /**
+ Enable or disable a shadow on the toast view. Default is `false`.
+ */
+ public var displayShadow = false
+
+ /**
+ The shadow color. Default is `.black`.
+ */
+ public var shadowColor: UIColor = .black
+
+ /**
+ A value from 0.0 to 1.0, representing the opacity of the shadow.
+ Default is 0.8 (80% opacity).
+ */
+ public var shadowOpacity: Float = 0.8 {
+ didSet {
+ shadowOpacity = max(min(shadowOpacity, 1.0), 0.0)
+ }
+ }
+
+ /**
+ The shadow radius. Default is 6.0.
+ */
+ public var shadowRadius: CGFloat = 6.0
+
+ /**
+ The shadow offset. The default is 4 x 4.
+ */
+ public var shadowOffset = CGSize(width: 4.0, height: 4.0)
+
+ /**
+ The image size. The default is 80 x 80.
+ */
+ public var imageSize = CGSize(width: 80.0, height: 80.0)
+
+ /**
+ The size of the toast activity view when `makeToastActivity(position:)` is called.
+ Default is 100 x 100.
+ */
+ public var activitySize = CGSize(width: 100.0, height: 100.0)
+
+ /**
+ The fade in/out animation duration. Default is 0.2.
+ */
+ public var fadeDuration: TimeInterval = 0.2
+
+ /**
+ Activity indicator color. Default is `.white`.
+ */
+ public var activityIndicatorColor: UIColor = .white
+
+ /**
+ Activity background color. Default is `.black` at 80% opacity.
+ */
+ public var activityBackgroundColor: UIColor = UIColor.black.withAlphaComponent(0.8)
+
+}
+
+// MARK: - Toast Manager
+
+/**
+ `ToastManager` provides general configuration options for all toast
+ notifications. Backed by a singleton instance.
+*/
+public class ToastManager {
+
+ /**
+ The `ToastManager` singleton instance.
+
+ */
+ public static let shared = ToastManager()
+
+ /**
+ The shared style. Used whenever toastViewForMessage(message:title:image:style:) is called
+ with with a nil style.
+
+ */
+ public var style = ToastStyle()
+
+ /**
+ Enables or disables tap to dismiss on toast views. Default is `true`.
+
+ */
+ public var isTapToDismissEnabled = true
+
+ /**
+ Enables or disables queueing behavior for toast views. When `true`,
+ toast views will appear one after the other. When `false`, multiple toast
+ views will appear at the same time (potentially overlapping depending
+ on their positions). This has no effect on the toast activity view,
+ which operates independently of normal toast views. Default is `false`.
+
+ */
+ public var isQueueEnabled = false
+
+ /**
+ The default duration. Used for the `makeToast` and
+ `showToast` methods that don't require an explicit duration.
+ Default is 3.0.
+
+ */
+ public var duration: TimeInterval = 3.0
+
+ /**
+ Sets the default position. Used for the `makeToast` and
+ `showToast` methods that don't require an explicit position.
+ Default is `ToastPosition.Bottom`.
+
+ */
+ public var position: ToastPosition = .bottom
+
+}
+
+// MARK: - ToastPosition
+
+public enum ToastPosition {
+ case top
+ case center
+ case bottom
+
+ fileprivate func centerPoint(forToast toast: UIView, inSuperview superview: UIView) -> CGPoint {
+ let topPadding: CGFloat = ToastManager.shared.style.verticalPadding + superview.csSafeAreaInsets.top
+ let bottomPadding: CGFloat = ToastManager.shared.style.verticalPadding + superview.csSafeAreaInsets.bottom
+
+ switch self {
+ case .top:
+ return CGPoint(x: superview.bounds.size.width / 2.0, y: (toast.frame.size.height / 2.0) + topPadding)
+ case .center:
+ return CGPoint(x: superview.bounds.size.width / 2.0, y: superview.bounds.size.height / 2.0)
+ case .bottom:
+ return CGPoint(x: superview.bounds.size.width / 2.0, y: (superview.bounds.size.height - (toast.frame.size.height / 2.0)) - bottomPadding)
+ }
+ }
+}
+
+// MARK: - Private UIView Extensions
+
+private extension UIView {
+
+ var csSafeAreaInsets: UIEdgeInsets {
+ if #available(iOS 11.0, *) {
+ return self.safeAreaInsets
+ } else {
+ return .zero
+ }
+ }
+
+}
--- /dev/null
+# source 'https://kkgithub.com/CocoaPods/Specs.git'
+source "https://gitee.com/mirrors/CocoaPods-Specs.git"
+platform :ios, '13.0'
+use_frameworks!
+
+
+workspace 'IOTBluetooth'
+project 'IOTBluetooth.xcodeproj'
+target 'Example' do
+ pod 'SnapKit', '~> 5.7.0'
+ pod 'Toast-Swift'
+ pod 'IQKeyboardManagerSwift'
+end