(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, !base.isHidden, 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: UITextInput.self) {
+ // 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 &&
+ !base.isHidden &&
+ 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 }
+}
diff --git a/document/MSVoiceChatSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/UIKitExtensions/IQUIViewController+Additions.swift b/document/MSVoiceChatSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/UIKitExtensions/IQUIViewController+Additions.swift
new file mode 100644
index 0000000..7bd0792
--- /dev/null
+++ b/document/MSVoiceChatSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/UIKitExtensions/IQUIViewController+Additions.swift
@@ -0,0 +1,48 @@
+//
+// 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
+ }
+}
diff --git a/document/MSVoiceChatSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/UIKitExtensions/UIImage+NextPrevious.swift b/document/MSVoiceChatSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/UIKitExtensions/UIImage+NextPrevious.swift
new file mode 100644
index 0000000..fe1d1a1
--- /dev/null
+++ b/document/MSVoiceChatSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/UIKitExtensions/UIImage+NextPrevious.swift
@@ -0,0 +1,60 @@
+//
+// 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()
+ }()
+}
diff --git a/document/MSVoiceChatSdk/Pods/IQKeyboardManagerSwift/LICENSE.md b/document/MSVoiceChatSdk/Pods/IQKeyboardManagerSwift/LICENSE.md
new file mode 100644
index 0000000..0c652ed
--- /dev/null
+++ b/document/MSVoiceChatSdk/Pods/IQKeyboardManagerSwift/LICENSE.md
@@ -0,0 +1,21 @@
+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.
diff --git a/document/MSVoiceChatSdk/Pods/IQKeyboardManagerSwift/README.md b/document/MSVoiceChatSdk/Pods/IQKeyboardManagerSwift/README.md
new file mode 100644
index 0000000..bae2ddb
--- /dev/null
+++ b/document/MSVoiceChatSdk/Pods/IQKeyboardManagerSwift/README.md
@@ -0,0 +1,217 @@
+
+
+
+IQKeyboardManager
+
+
+
+
+[](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) `**CODELESS**, Zero 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)
+
+## GIF animation
+[](http://youtu.be/6nhLw6hju2A)
+
+## Video
+
+
+
+## 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:
+
+
+
+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
diff --git a/document/MSVoiceChatSdk/Pods/Manifest.lock b/document/MSVoiceChatSdk/Pods/Manifest.lock
new file mode 100644
index 0000000..985a9ec
--- /dev/null
+++ b/document/MSVoiceChatSdk/Pods/Manifest.lock
@@ -0,0 +1,24 @@
+PODS:
+ - IQKeyboardManagerSwift (7.0.1)
+ - SnapKit (5.7.1)
+ - Toast-Swift (5.1.0)
+
+DEPENDENCIES:
+ - IQKeyboardManagerSwift
+ - SnapKit (~> 5.7.0)
+ - Toast-Swift
+
+SPEC REPOS:
+ https://gitee.com/mirrors/CocoaPods-Specs.git:
+ - IQKeyboardManagerSwift
+ - SnapKit
+ - Toast-Swift
+
+SPEC CHECKSUMS:
+ IQKeyboardManagerSwift: 7f6b1b1d1497855d2beea7f2f10ffcc6978525b1
+ SnapKit: d612e99e678a2d3b95bf60b0705ed0a35c03484a
+ Toast-Swift: dd369e68ee529f542c65bd0d0c6c50cd743cf6f2
+
+PODFILE CHECKSUM: 9895aef7274631d7896464b4e401f72df13e34f4
+
+COCOAPODS: 1.15.2
diff --git a/document/MSVoiceChatSdk/Pods/Pods.xcodeproj/project.pbxproj b/document/MSVoiceChatSdk/Pods/Pods.xcodeproj/project.pbxproj
new file mode 100644
index 0000000..4afed77
--- /dev/null
+++ b/document/MSVoiceChatSdk/Pods/Pods.xcodeproj/project.pbxproj
@@ -0,0 +1,1544 @@
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 56;
+ objects = {
+
+/* Begin PBXBuildFile section */
+ 0615219BFD2EBBE27FF41C2C8816791E /* IQTextFieldViewInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0816D0202E8F46EA9C2657E4EC8424F3 /* IQTextFieldViewInfo.swift */; };
+ 08822D4E49DB8618D27BAEDED7911733 /* IQKeyboardManager+Internal.swift in Sources */ = {isa = PBXBuildFile; fileRef = D76D361EFC283ED2EFC6CF7F8BD84213 /* IQKeyboardManager+Internal.swift */; };
+ 08C234F2981017EEF271582022F339F3 /* IQUIView+IQKeyboardToolbarDeprecated.swift in Sources */ = {isa = PBXBuildFile; fileRef = E394466448323B566659ED3C86466588 /* IQUIView+IQKeyboardToolbarDeprecated.swift */; };
+ 0A4DB572ACD97EC492C4E93A0FFB2E47 /* IQTextFieldViewListener.swift in Sources */ = {isa = PBXBuildFile; fileRef = 10AD92D3B68611554DCF5720DC0720D8 /* IQTextFieldViewListener.swift */; };
+ 0A5C290276F7453D9471E25BEA655842 /* ConstraintLayoutGuide.swift in Sources */ = {isa = PBXBuildFile; fileRef = 628C71717D78E4787E5207FA441B31FA /* ConstraintLayoutGuide.swift */; };
+ 0AD7A0DA8FF5880E3D8599062129AB12 /* ConstraintMakerEditable.swift in Sources */ = {isa = PBXBuildFile; fileRef = E5465A420948F0534DA3E383E108F925 /* ConstraintMakerEditable.swift */; };
+ 0D665B6767B345D8C70D7E029A2A48D8 /* ConstraintViewDSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = FE7CEBB9FF37125D33DFC72668395B8A /* ConstraintViewDSL.swift */; };
+ 0DA9A9D2F8960818017E26DA480FA143 /* ConstraintLayoutGuideDSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = 20DDA272B8E925FEF790776A224AEEC2 /* ConstraintLayoutGuideDSL.swift */; };
+ 103FE4EEFF1BE8BAD0FA047987AFED74 /* IQUIView+Hierarchy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 90A78351C7EFC4AB674E3681D6EF0514 /* IQUIView+Hierarchy.swift */; };
+ 13CC0CFB1C56F23BBC872801F983C1A3 /* ConstraintLayoutSupport.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8D10D8487CAE9288C4AB3982CA25D05 /* ConstraintLayoutSupport.swift */; };
+ 14063E1AF70EDDC9F33C8E08DCA0BEF3 /* IQPreviousNextView.swift in Sources */ = {isa = PBXBuildFile; fileRef = CF5C5E139984EBC98F8FE24FE15CEE79 /* IQPreviousNextView.swift */; };
+ 154362EFC8EC0F61F54E24B09266DEB1 /* IQKeyboardReturnKeyHandler+TextFieldDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1757056710D3EAF1ED55009B000F3D35 /* IQKeyboardReturnKeyHandler+TextFieldDelegate.swift */; };
+ 15F68E09ADCDB843B938C490059485BD /* ConstraintMakerRelatable+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 03B1A0778751E0826602861220F2DC66 /* ConstraintMakerRelatable+Extensions.swift */; };
+ 1C3881B0113D3219398154E16AA4413C /* IQKeyboardReturnKeyHandler+TextViewDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 300030D0A05F9B8C127FF428D70FAF2D /* IQKeyboardReturnKeyHandler+TextViewDelegate.swift */; };
+ 1E7E37C51375285EA22294CD2ADB3159 /* Debugging.swift in Sources */ = {isa = PBXBuildFile; fileRef = F0AB9F729D940C230C9A2169648D647D /* Debugging.swift */; };
+ 23D11E770DF137CBF802A30E2B19C054 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 79CF7D56C5D50C18B2EA0ED106D998C7 /* Foundation.framework */; };
+ 24C699F9653980B77F44634EF44641C1 /* IQKeyboardInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 939E6A71993A6CE7B5D01158372276C1 /* IQKeyboardInfo.swift */; };
+ 293A604750AFF74421E35456DEF43215 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 21CF3A39AB8F2E562D184D98200F21AA /* PrivacyInfo.xcprivacy */; };
+ 3452528F3B9B79AD67D45FEA174F71E4 /* IQUICollectionView+Additions.swift in Sources */ = {isa = PBXBuildFile; fileRef = BECF740201B00644945D6BFCC8EE1F53 /* IQUICollectionView+Additions.swift */; };
+ 34BDB069A96125DAF2FEF6FF93A3F6AF /* IQToolbarPlaceholderConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = EF9F36A57B1CB8B3461C5911043F6CF9 /* IQToolbarPlaceholderConfiguration.swift */; };
+ 3573FA382FBE08F99039CED491DB9FF0 /* IQKeyboardManagerSwift-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 4EAD94738C2E3C4F5AEC9FE74B30C432 /* IQKeyboardManagerSwift-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 38CBE3196BDD577B5E72BC65508A77F8 /* IQTextView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 192298B0D95D5F1503B984D3583F5BFE /* IQTextView.swift */; };
+ 3DAFEDCDC5094007E329D71FE84FF704 /* SnapKit-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = DE1C7BCB2C17A82F6FCC4EF1B276DF1E /* SnapKit-dummy.m */; };
+ 4017CF2B3EE45E7E579E68E6FCFBF732 /* IQKeyboardManager+UIKeyboardNotification.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6D7D5300CA474D7485012005F3E5280 /* IQKeyboardManager+UIKeyboardNotification.swift */; };
+ 42B931814C7B25871333D5DA9A0E2A41 /* IQKeyboardReturnKeyHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7CE2273B9C7EF1EB002B8F27679C80C0 /* IQKeyboardReturnKeyHandler.swift */; };
+ 4CDBAE55660ED186441E9E4EDE6B3D31 /* IQKeyboardManagerSwift-IQKeyboardManagerSwift in Resources */ = {isa = PBXBuildFile; fileRef = 8D8069D3964814114ACEC3084C010B59 /* IQKeyboardManagerSwift-IQKeyboardManagerSwift */; };
+ 50E4E24710A4C5A77BE6594A10DFE773 /* ConstraintMultiplierTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F7AF737B2F40C4870DAF57481575D91 /* ConstraintMultiplierTarget.swift */; };
+ 53463E2C1FAA39A67C058C6BE1BD795F /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 79CF7D56C5D50C18B2EA0ED106D998C7 /* Foundation.framework */; };
+ 54BAE903D82C39392943869866252D93 /* IQNSArray+Sort.swift in Sources */ = {isa = PBXBuildFile; fileRef = D423AF1243BA3E2E9D29B5D6E77E95B4 /* IQNSArray+Sort.swift */; };
+ 56CD198002D3D45274F6719725B983CF /* ConstraintOffsetTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 68AC15B21E30C79D83E2932832D289B4 /* ConstraintOffsetTarget.swift */; };
+ 597994C3AE8908B1E462BC03AC8C23FB /* IQKeyboardManagerCompatible.swift in Sources */ = {isa = PBXBuildFile; fileRef = 487E8CCA4859CD97779EAC235E596B3F /* IQKeyboardManagerCompatible.swift */; };
+ 5CE349BD7B3C13F71152960F46C2AD58 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 79CF7D56C5D50C18B2EA0ED106D998C7 /* Foundation.framework */; };
+ 5F0469C5B154DC20B844EA2A9B7F8D42 /* IQPlaceholderable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63515591138E7BAAAC90A9D200D19266 /* IQPlaceholderable.swift */; };
+ 5F62DAE67CF97B7C42471EA91B79AA9A /* IQTextFieldViewInfoModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD68BFB8D786D053D462EA67697D1DB6 /* IQTextFieldViewInfoModel.swift */; };
+ 5FFFE5E4F95E9A989F7AD2B9E4363DA5 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = B68ACB5412EC5AAC4B13CD213584E56C /* PrivacyInfo.xcprivacy */; };
+ 6431218578A566C5EBF5FD166F164059 /* ConstraintMakerExtendable.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2D361F5787F34F9D1700D7114563AF7 /* ConstraintMakerExtendable.swift */; };
+ 674C6B2E317E657D8EAD3CC73F608540 /* IQKeyboardManager+Debug.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3CB6DFA8D97BBEDEABE950BC95908E9D /* IQKeyboardManager+Debug.swift */; };
+ 6CFB48595F4C5B157119CE09BEA2B7B3 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = B26A354E2CEBFC3C5B63FAE1CAA92DEB /* PrivacyInfo.xcprivacy */; };
+ 6D389E4D5F97798BE1AEEB8C317852D7 /* SnapKit-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 3AE71F8217EF7ACC3231FFAACD7D8FD9 /* SnapKit-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 6E2884B29CD49EE91C48C725105F295A /* LayoutConstraint.swift in Sources */ = {isa = PBXBuildFile; fileRef = EE16C611E50DB512C9F824C9987DF025 /* LayoutConstraint.swift */; };
+ 701904768C60A3F9060518DD58EC2882 /* IQToolbar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 080974FCAB1AD4F3189D9BD8FFACBEFF /* IQToolbar.swift */; };
+ 7052944C657F270E47777446D0E10E1C /* ConstraintInsetTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = F75E83DF3A12ABA862C91E63D2AF6280 /* ConstraintInsetTarget.swift */; };
+ 733CF7F19636AFF4A97708DFDE0AE53C /* IQKeyboardManagerSwift-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 7CFEA705805177F0CCF56EC740BF7E4A /* IQKeyboardManagerSwift-dummy.m */; };
+ 73F8AC99A58E5837924C056E89543B97 /* Typealiases.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1CC58F10CAD8194DBD2C7308C3694CF /* Typealiases.swift */; };
+ 7586D1882B962E1E31C28CC6396668B3 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 04D60AC13D33197690A05C641925DDDA /* UIKit.framework */; };
+ 77D782DE125D322922466676E2FFA289 /* ConstraintPriorityTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = EF6E6A10E54B7D75B219D33B46E5986E /* ConstraintPriorityTarget.swift */; };
+ 8086BD2DB5F1A0CC88E4F3386570A21C /* IQUITextFieldView+Additions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4D5DA97A682C949B62A923E58F38BC6A /* IQUITextFieldView+Additions.swift */; };
+ 82950EE4BDD57F74749742A3E1566073 /* IQKeyboardManager+UITextFieldViewNotification.swift in Sources */ = {isa = PBXBuildFile; fileRef = D267F880B5BC6279E167245357C516E4 /* IQKeyboardManager+UITextFieldViewNotification.swift */; };
+ 845C3A99ECD0DC86BB538557FBE915A3 /* Toast.swift in Sources */ = {isa = PBXBuildFile; fileRef = 622AC377CF7C38C240EBA7913D3A473A /* Toast.swift */; };
+ 8637B942FE12C96972BFC827D8F012FB /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A42DBD2F42D55606EEBA514009498B87 /* QuartzCore.framework */; };
+ 8640829049AE9907FE93825E5510C33D /* ConstraintMaker.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8A8AB97C8E4A6E354FEA40DEFDCC38F /* ConstraintMaker.swift */; };
+ 87996D11DC92EE19EAF9305DAEA4ACF2 /* ConstraintMakerPrioritizable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 622B0972DDD1412DAC47AAB441250AE9 /* ConstraintMakerPrioritizable.swift */; };
+ 8868BA37E3CE7C58D26123806D543F3F /* ConstraintView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B2B15E0C2FA074028C8D761CC6134878 /* ConstraintView.swift */; };
+ 891D1BF14C8881C74262EE9DBE5D67A9 /* UILayoutSupport+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 16DC2C3F3F47A6C10378F13800AE8138 /* UILayoutSupport+Extensions.swift */; };
+ 8ED2E941DF0803C8AA331D0D8C722615 /* IQBarButtonItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E998035FB812DDE9D1AE2E5B6C01F58 /* IQBarButtonItem.swift */; };
+ 8FDA28363A5E49017498FD69AAA8F59F /* IQKeyboardListener.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33EFC31D4AED7F180AE374A80B17FA08 /* IQKeyboardListener.swift */; };
+ 906EF891E58A035281766993F82373E3 /* ConstraintItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 35B6A598D6741677D6D1FA709F6043C6 /* ConstraintItem.swift */; };
+ 907FCA3049CAAF64B579D08D339D118D /* IQBarButtonItemConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 718310B9262DBF9218F32104C82B7D31 /* IQBarButtonItemConfiguration.swift */; };
+ 938CFF5F6DE6E7E8CE94373E51F3E07A /* ConstraintLayoutGuide+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = A92187EBF74D4566D6037B89E45FC313 /* ConstraintLayoutGuide+Extensions.swift */; };
+ 94F893223EB4C1C0F829C17900114AFA /* IQUIScrollView+Additions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94F893C8A2FDEF71C50031B5A0930F40 /* IQUIScrollView+Additions.swift */; };
+ 950B809760A8CE4375DCE1016FB9859F /* ConstraintMakerRelatable.swift in Sources */ = {isa = PBXBuildFile; fileRef = FB5DC196F96C6C4BB1CD79D6FD6B7728 /* ConstraintMakerRelatable.swift */; };
+ 9779D52AD8CDA703D6EEE1C6D38E019F /* ConstraintAttributes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 47DA51D0F1525280F93403C0CBFAD652 /* ConstraintAttributes.swift */; };
+ 98A4D0D5928A35C7DB3D9272187789A8 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 840FA0B75AF62912A30DDC66B647ED98 /* CoreGraphics.framework */; };
+ 9A00A25ED34A7687C62B02EBB76C1248 /* IQKeyboardConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA615AC92E7312BC47DDD6D8A69E72F3 /* IQKeyboardConfiguration.swift */; };
+ 9F78D56352F7D932DCEBE416C668C7BA /* IQKeyboardManager+ToolbarActions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1268AFF944F5EFC1843FDB2A99D350DA /* IQKeyboardManager+ToolbarActions.swift */; };
+ A0371DF7D93D9B86BD50474D4B9294FD /* ConstraintInsets.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECAD0961380D3DF7234A89114624BAB3 /* ConstraintInsets.swift */; };
+ A051999781E1280746F7743BDEEA6C49 /* ConstraintDescription.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBECC8D42190496CEFC535743E3D9DC6 /* ConstraintDescription.swift */; };
+ A23549F7CB0209D3AF14DF5CC302E9B7 /* Toast-Swift-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 0B7C01638A16AC2CAACF2E0DE5715CF6 /* Toast-Swift-dummy.m */; };
+ A35877DE0C3D6B4CF2A10E666EF5F490 /* LayoutConstraintItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = FA466BFDAB2114DCF5873385D65B9321 /* LayoutConstraintItem.swift */; };
+ A5E69CC013C4311C8AF52C7F7AB095C9 /* IQUITableView+Additions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3158706EB295D9C18FF8BA906AED1D67 /* IQUITableView+Additions.swift */; };
+ AE7D065E1D48171258FD8F07F7CD592C /* IQKeyboardManagerConstants.swift in Sources */ = {isa = PBXBuildFile; fileRef = FD039EFA2B91C6864FAEA73ECF182332 /* IQKeyboardManagerConstants.swift */; };
+ B133BB9C9B03481C7F1D221F35A617F2 /* Constraint.swift in Sources */ = {isa = PBXBuildFile; fileRef = C2739B637B84077CFE5418F3B719A38A /* Constraint.swift */; };
+ B1A786B1A2F11EBD1BF77305EEB710F5 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A42DBD2F42D55606EEBA514009498B87 /* QuartzCore.framework */; };
+ B1BFC54288364884DDEAE75027BABE1A /* IQActiveConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = FB699B634FDFAB757CEF86D96F111A92 /* IQActiveConfiguration.swift */; };
+ B3F75D115D5150C258F5E68404751010 /* ConstraintConstantTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9532DD5F49A5519BEDF9ECDD8A5959B0 /* ConstraintConstantTarget.swift */; };
+ B4F9C9EC1B3F1689AE56BB719AE5439C /* ConstraintDirectionalInsetTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7B84FA1E4D590FF4D9FA2CF1092C044E /* ConstraintDirectionalInsetTarget.swift */; };
+ B9CF878085ABA2991A9C6F12F9B9DAB3 /* IQTitleBarButtonItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 20F2C44B7A25538F35CEF6B53580F13A /* IQTitleBarButtonItem.swift */; };
+ BE355F69F84788D334FDAC7D1CD9B8C4 /* ConstraintDirectionalInsets.swift in Sources */ = {isa = PBXBuildFile; fileRef = BCEDEA546F314DB31037A2D828DB4A8C /* ConstraintDirectionalInsets.swift */; };
+ BF567AEFDD52DC43AC75122734D571E2 /* ConstraintMakerFinalizable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 148884C9C5BF5D63AB5CDC50040871FA /* ConstraintMakerFinalizable.swift */; };
+ C04DBE6AE13FC5CFD01D363A351EF76A /* ConstraintView+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3B783C16D6A59BC24074B145A372FCC /* ConstraintView+Extensions.swift */; };
+ C7E343559158D03F717C616F79FAA006 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 79CF7D56C5D50C18B2EA0ED106D998C7 /* Foundation.framework */; };
+ CA584DB99A79CD3CCCEC662499A86513 /* Pods-Example-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 7825A90E082A1582EB16256B0E722B3F /* Pods-Example-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ CC96488C33BFB3BCEE4A665A438CAC36 /* IQUIViewController+Additions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 56EBB4F6FD7E90A76DBCCE93427CC19C /* IQUIViewController+Additions.swift */; };
+ D091D9EA20CEB92609BF1E622E8CA348 /* SnapKit-SnapKit_Privacy in Resources */ = {isa = PBXBuildFile; fileRef = B9DCB5EC0B1CDADD221717CADDF62359 /* SnapKit-SnapKit_Privacy */; };
+ D3D1F63C30E95311B687FA924B872C15 /* IQKeyboardManager+Deprecated.swift in Sources */ = {isa = PBXBuildFile; fileRef = C93A7CFF5013321FFCE66CF75899A19B /* IQKeyboardManager+Deprecated.swift */; };
+ D5D5048DF0CA2052E944255D33433F17 /* Pods-Example-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = D6D7C498FA339E02BD53ECB8916CEA8E /* Pods-Example-dummy.m */; };
+ D8322CBE73400EE4382D1A042D2D53D3 /* IQUIView+IQKeyboardToolbar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8669FBAD7BFA7DD5183138C9C10E2FE5 /* IQUIView+IQKeyboardToolbar.swift */; };
+ D88C2EA8ACCC0DE031D9E7A768062E2C /* IQKeyboardManager+Toolbar.swift in Sources */ = {isa = PBXBuildFile; fileRef = A99F0F8050A5D2AB149CDE4174D677CE /* IQKeyboardManager+Toolbar.swift */; };
+ D92AEF78B87F929D88D5C876ABBAD79A /* ConstraintLayoutSupportDSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7D507BC0A3AA3084CEC38FE6AFA8AB5 /* ConstraintLayoutSupportDSL.swift */; };
+ DE3B5070A41194C21898D92DBFFCBE4C /* IQRootControllerConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 06A3970C0F26072724D76AC00FC40B67 /* IQRootControllerConfiguration.swift */; };
+ E483FA24409A56AAEDF8A1DEC5F55F16 /* UIImage+NextPrevious.swift in Sources */ = {isa = PBXBuildFile; fileRef = 79E14ED76371E186B76E2DAE4E0315B3 /* UIImage+NextPrevious.swift */; };
+ E8770A941545BB190D76BF7E5262797D /* IQToolbarConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDA3EF388553BB7101F53F72CCC8F4A9 /* IQToolbarConfiguration.swift */; };
+ E94B31DCAF75D93405D3BAE188604EB2 /* ConstraintConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = 81BBAC582C2517839C9E6945376733FE /* ConstraintConfig.swift */; };
+ EBB5F245DBEEB13D48F09E0DD75A6C95 /* IQKeyboardManager+Position.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1B33CF59EADF3CAB0D64144B7898A45D /* IQKeyboardManager+Position.swift */; };
+ EF00BF7D0F543428543D51D872216944 /* Toast-Swift-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = E94DBC148226C9EB4BCC59E7DAEA494C /* Toast-Swift-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ EFC90283F9AB43BB6FF377812BD3673F /* ConstraintPriority.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64FFF83D8B5D3DBBD8E8B116B12B008D /* ConstraintPriority.swift */; };
+ F366D04DEA0EBBCA9CA4F1F4E29695E8 /* ConstraintDSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4DD29958818B7020C5CE86C6EB0AD6C7 /* ConstraintDSL.swift */; };
+ F681FB74C756E0AAFFDC0D414EBD8FA0 /* IQScrollViewConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 71F833948A36F88E3CDA4A7E102D9680 /* IQScrollViewConfiguration.swift */; };
+ F94703ED86C58DDBE5A2503D148CD040 /* ConstraintRelation.swift in Sources */ = {isa = PBXBuildFile; fileRef = D65B2B53AFE2E97AAD2347B0D2450BF1 /* ConstraintRelation.swift */; };
+ F9DE1A3C506E506F4DA4B7714359E8D1 /* IQKeyboardManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4FDDF0DE62DA5A183B9D4C4E3F77E89D /* IQKeyboardManager.swift */; };
+ FDEFBFB34E35A4BB332264E0CACCF5D8 /* IQInvocation.swift in Sources */ = {isa = PBXBuildFile; fileRef = AA1531524B3A85EEC0079897F08A51A3 /* IQInvocation.swift */; };
+ FFD7E1B8FA0F3960BE24DA2D20647332 /* ConstraintRelatableTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 79F3994CD8C29361AEDE4763818964C0 /* ConstraintRelatableTarget.swift */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXContainerItemProxy section */
+ 17B1D7D731CE352C4A42C90FB88EDF3E /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = B490E7485944099E16C9CBD79119D1D4;
+ remoteInfo = IQKeyboardManagerSwift;
+ };
+ 29C3C4F752562CF20DAEFA2CF76A52DC /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = B990BD87169C76A3ED3FE8A9258D91A3;
+ remoteInfo = "Toast-Swift";
+ };
+ 417EECB4ED728C03E51E6C52D83B2612 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 8A8DB685241263AFDF5E6B20FE67B93A;
+ remoteInfo = "SnapKit-SnapKit_Privacy";
+ };
+ 78F142C3B4B12378D3E4AE6AE32AE59E /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 19622742EBA51E823D6DAE3F8CDBFAD4;
+ remoteInfo = SnapKit;
+ };
+ 9D981AF9E00C2ADC17482C92A02195B1 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 982A68D37F5DCBC1FC1FDC0BB2F0EB8E;
+ remoteInfo = "IQKeyboardManagerSwift-IQKeyboardManagerSwift";
+ };
+/* End PBXContainerItemProxy section */
+
+/* Begin PBXFileReference section */
+ 03B1A0778751E0826602861220F2DC66 /* ConstraintMakerRelatable+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ConstraintMakerRelatable+Extensions.swift"; path = "Sources/ConstraintMakerRelatable+Extensions.swift"; sourceTree = ""; };
+ 04D60AC13D33197690A05C641925DDDA /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.0.sdk/System/Library/Frameworks/UIKit.framework; sourceTree = DEVELOPER_DIR; };
+ 06A3970C0F26072724D76AC00FC40B67 /* IQRootControllerConfiguration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQRootControllerConfiguration.swift; path = IQKeyboardManagerSwift/Configuration/IQRootControllerConfiguration.swift; sourceTree = ""; };
+ 080974FCAB1AD4F3189D9BD8FFACBEFF /* IQToolbar.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQToolbar.swift; path = IQKeyboardManagerSwift/IQToolbar/IQToolbar.swift; sourceTree = ""; };
+ 0816D0202E8F46EA9C2657E4EC8424F3 /* IQTextFieldViewInfo.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQTextFieldViewInfo.swift; path = IQKeyboardManagerSwift/LIsteners/Info/IQTextFieldViewInfo.swift; sourceTree = ""; };
+ 0826BDFE1E8E1C0687A2D174BAFF602D /* Toast-Swift-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Toast-Swift-prefix.pch"; sourceTree = ""; };
+ 0B7C01638A16AC2CAACF2E0DE5715CF6 /* Toast-Swift-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Toast-Swift-dummy.m"; sourceTree = ""; };
+ 0FE73E6FA88BBBFD504597F6DEF9D439 /* Toast-Swift-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Toast-Swift-Info.plist"; sourceTree = ""; };
+ 10AD92D3B68611554DCF5720DC0720D8 /* IQTextFieldViewListener.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQTextFieldViewListener.swift; path = IQKeyboardManagerSwift/LIsteners/IQTextFieldViewListener.swift; sourceTree = ""; };
+ 1268AFF944F5EFC1843FDB2A99D350DA /* IQKeyboardManager+ToolbarActions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQKeyboardManager+ToolbarActions.swift"; path = "IQKeyboardManagerSwift/IQKeyboardManager/IQKeyboardManager+ToolbarActions.swift"; sourceTree = ""; };
+ 148884C9C5BF5D63AB5CDC50040871FA /* ConstraintMakerFinalizable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMakerFinalizable.swift; path = Sources/ConstraintMakerFinalizable.swift; sourceTree = ""; };
+ 16DC2C3F3F47A6C10378F13800AE8138 /* UILayoutSupport+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UILayoutSupport+Extensions.swift"; path = "Sources/UILayoutSupport+Extensions.swift"; sourceTree = ""; };
+ 1757056710D3EAF1ED55009B000F3D35 /* IQKeyboardReturnKeyHandler+TextFieldDelegate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQKeyboardReturnKeyHandler+TextFieldDelegate.swift"; path = "IQKeyboardManagerSwift/ReturnKeyHandler/IQKeyboardReturnKeyHandler+TextFieldDelegate.swift"; sourceTree = ""; };
+ 192298B0D95D5F1503B984D3583F5BFE /* IQTextView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQTextView.swift; path = IQKeyboardManagerSwift/IQTextView/IQTextView.swift; sourceTree = ""; };
+ 1B33CF59EADF3CAB0D64144B7898A45D /* IQKeyboardManager+Position.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQKeyboardManager+Position.swift"; path = "IQKeyboardManagerSwift/IQKeyboardManager/IQKeyboardManager+Position.swift"; sourceTree = ""; };
+ 1F667CC0E19EAF34E5A4119E2121F585 /* Pods-Example */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = "Pods-Example"; path = Pods_Example.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+ 20DDA272B8E925FEF790776A224AEEC2 /* ConstraintLayoutGuideDSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintLayoutGuideDSL.swift; path = Sources/ConstraintLayoutGuideDSL.swift; sourceTree = ""; };
+ 20F2C44B7A25538F35CEF6B53580F13A /* IQTitleBarButtonItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQTitleBarButtonItem.swift; path = IQKeyboardManagerSwift/IQToolbar/IQTitleBarButtonItem.swift; sourceTree = ""; };
+ 21CF3A39AB8F2E562D184D98200F21AA /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; includeInIndex = 1; name = PrivacyInfo.xcprivacy; path = IQKeyboardManagerSwift/PrivacyInfo.xcprivacy; sourceTree = ""; };
+ 243410B9535472556EA4BB6DBC133A0D /* Pods-Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Example.release.xcconfig"; sourceTree = ""; };
+ 300030D0A05F9B8C127FF428D70FAF2D /* IQKeyboardReturnKeyHandler+TextViewDelegate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQKeyboardReturnKeyHandler+TextViewDelegate.swift"; path = "IQKeyboardManagerSwift/ReturnKeyHandler/IQKeyboardReturnKeyHandler+TextViewDelegate.swift"; sourceTree = ""; };
+ 3158706EB295D9C18FF8BA906AED1D67 /* IQUITableView+Additions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQUITableView+Additions.swift"; path = "IQKeyboardManagerSwift/UIKitExtensions/IQUITableView+Additions.swift"; sourceTree = ""; };
+ 31C1D37707DFAA5E6A164BCC07834264 /* Pods-Example-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-Example-Info.plist"; sourceTree = ""; };
+ 33EFC31D4AED7F180AE374A80B17FA08 /* IQKeyboardListener.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQKeyboardListener.swift; path = IQKeyboardManagerSwift/LIsteners/IQKeyboardListener.swift; sourceTree = ""; };
+ 351F24C66E19752DD6EA6C36AF353DF7 /* SnapKit.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = SnapKit.modulemap; sourceTree = ""; };
+ 35B6A598D6741677D6D1FA709F6043C6 /* ConstraintItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintItem.swift; path = Sources/ConstraintItem.swift; sourceTree = ""; };
+ 35C305D3797C284E6F5BAA1D3E6F9BF8 /* Pods-Example.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-Example.modulemap"; sourceTree = ""; };
+ 3AE71F8217EF7ACC3231FFAACD7D8FD9 /* SnapKit-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SnapKit-umbrella.h"; sourceTree = ""; };
+ 3CB6DFA8D97BBEDEABE950BC95908E9D /* IQKeyboardManager+Debug.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQKeyboardManager+Debug.swift"; path = "IQKeyboardManagerSwift/IQKeyboardManager/IQKeyboardManager+Debug.swift"; sourceTree = ""; };
+ 3F7AF737B2F40C4870DAF57481575D91 /* ConstraintMultiplierTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMultiplierTarget.swift; path = Sources/ConstraintMultiplierTarget.swift; sourceTree = ""; };
+ 441854E35F81731E63E53DC7E4EEAD9D /* Pods-Example-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-Example-acknowledgements.markdown"; sourceTree = ""; };
+ 47DA51D0F1525280F93403C0CBFAD652 /* ConstraintAttributes.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintAttributes.swift; path = Sources/ConstraintAttributes.swift; sourceTree = ""; };
+ 487E8CCA4859CD97779EAC235E596B3F /* IQKeyboardManagerCompatible.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQKeyboardManagerCompatible.swift; path = IQKeyboardManagerSwift/IQKeyboardManagerCompatible/IQKeyboardManagerCompatible.swift; sourceTree = ""; };
+ 4D5DA97A682C949B62A923E58F38BC6A /* IQUITextFieldView+Additions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQUITextFieldView+Additions.swift"; path = "IQKeyboardManagerSwift/UIKitExtensions/IQUITextFieldView+Additions.swift"; sourceTree = ""; };
+ 4DD29958818B7020C5CE86C6EB0AD6C7 /* ConstraintDSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintDSL.swift; path = Sources/ConstraintDSL.swift; sourceTree = ""; };
+ 4EAD94738C2E3C4F5AEC9FE74B30C432 /* IQKeyboardManagerSwift-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "IQKeyboardManagerSwift-umbrella.h"; sourceTree = ""; };
+ 4FDDF0DE62DA5A183B9D4C4E3F77E89D /* IQKeyboardManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQKeyboardManager.swift; path = IQKeyboardManagerSwift/IQKeyboardManager/IQKeyboardManager.swift; sourceTree = ""; };
+ 56EBB4F6FD7E90A76DBCCE93427CC19C /* IQUIViewController+Additions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQUIViewController+Additions.swift"; path = "IQKeyboardManagerSwift/UIKitExtensions/IQUIViewController+Additions.swift"; sourceTree = ""; };
+ 5E998035FB812DDE9D1AE2E5B6C01F58 /* IQBarButtonItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQBarButtonItem.swift; path = IQKeyboardManagerSwift/IQToolbar/IQBarButtonItem.swift; sourceTree = ""; };
+ 6086BEFBFC4D1AE4AF5CE7BEFDABAA3E /* Toast-Swift.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Toast-Swift.debug.xcconfig"; sourceTree = ""; };
+ 61FE9DB302A64BA8455DA565CF4B2D91 /* IQKeyboardManagerSwift-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "IQKeyboardManagerSwift-Info.plist"; sourceTree = ""; };
+ 622AC377CF7C38C240EBA7913D3A473A /* Toast.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Toast.swift; path = Toast/Toast.swift; sourceTree = ""; };
+ 622B0972DDD1412DAC47AAB441250AE9 /* ConstraintMakerPrioritizable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMakerPrioritizable.swift; path = Sources/ConstraintMakerPrioritizable.swift; sourceTree = ""; };
+ 628C71717D78E4787E5207FA441B31FA /* ConstraintLayoutGuide.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintLayoutGuide.swift; path = Sources/ConstraintLayoutGuide.swift; sourceTree = ""; };
+ 63515591138E7BAAAC90A9D200D19266 /* IQPlaceholderable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQPlaceholderable.swift; path = IQKeyboardManagerSwift/IQTextView/IQPlaceholderable.swift; sourceTree = ""; };
+ 64FFF83D8B5D3DBBD8E8B116B12B008D /* ConstraintPriority.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintPriority.swift; path = Sources/ConstraintPriority.swift; sourceTree = ""; };
+ 6840514330F765752CC8D40C118CEE6F /* Toast-Swift.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Toast-Swift.release.xcconfig"; sourceTree = ""; };
+ 68AC15B21E30C79D83E2932832D289B4 /* ConstraintOffsetTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintOffsetTarget.swift; path = Sources/ConstraintOffsetTarget.swift; sourceTree = ""; };
+ 718310B9262DBF9218F32104C82B7D31 /* IQBarButtonItemConfiguration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQBarButtonItemConfiguration.swift; path = IQKeyboardManagerSwift/Configuration/IQBarButtonItemConfiguration.swift; sourceTree = ""; };
+ 71F833948A36F88E3CDA4A7E102D9680 /* IQScrollViewConfiguration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQScrollViewConfiguration.swift; path = IQKeyboardManagerSwift/Configuration/IQScrollViewConfiguration.swift; sourceTree = ""; };
+ 73688A50BFBEC237BDB578170F6D01BD /* Toast-Swift.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Toast-Swift.modulemap"; sourceTree = ""; };
+ 7825A90E082A1582EB16256B0E722B3F /* Pods-Example-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-Example-umbrella.h"; sourceTree = ""; };
+ 78C8C7310BB85164BD37D9CB7A30EA4B /* ResourceBundle-IQKeyboardManagerSwift-IQKeyboardManagerSwift-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "ResourceBundle-IQKeyboardManagerSwift-IQKeyboardManagerSwift-Info.plist"; sourceTree = ""; };
+ 79CF7D56C5D50C18B2EA0ED106D998C7 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.0.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; };
+ 79E14ED76371E186B76E2DAE4E0315B3 /* UIImage+NextPrevious.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIImage+NextPrevious.swift"; path = "IQKeyboardManagerSwift/UIKitExtensions/UIImage+NextPrevious.swift"; sourceTree = ""; };
+ 79F3994CD8C29361AEDE4763818964C0 /* ConstraintRelatableTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintRelatableTarget.swift; path = Sources/ConstraintRelatableTarget.swift; sourceTree = ""; };
+ 7B84FA1E4D590FF4D9FA2CF1092C044E /* ConstraintDirectionalInsetTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintDirectionalInsetTarget.swift; path = Sources/ConstraintDirectionalInsetTarget.swift; sourceTree = ""; };
+ 7CE2273B9C7EF1EB002B8F27679C80C0 /* IQKeyboardReturnKeyHandler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQKeyboardReturnKeyHandler.swift; path = IQKeyboardManagerSwift/ReturnKeyHandler/IQKeyboardReturnKeyHandler.swift; sourceTree = ""; };
+ 7CFEA705805177F0CCF56EC740BF7E4A /* IQKeyboardManagerSwift-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "IQKeyboardManagerSwift-dummy.m"; sourceTree = ""; };
+ 81BBAC582C2517839C9E6945376733FE /* ConstraintConfig.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintConfig.swift; path = Sources/ConstraintConfig.swift; sourceTree = ""; };
+ 840FA0B75AF62912A30DDC66B647ED98 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.0.sdk/System/Library/Frameworks/CoreGraphics.framework; sourceTree = DEVELOPER_DIR; };
+ 8669FBAD7BFA7DD5183138C9C10E2FE5 /* IQUIView+IQKeyboardToolbar.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQUIView+IQKeyboardToolbar.swift"; path = "IQKeyboardManagerSwift/IQToolbar/IQUIView+IQKeyboardToolbar.swift"; sourceTree = ""; };
+ 8D8069D3964814114ACEC3084C010B59 /* IQKeyboardManagerSwift-IQKeyboardManagerSwift */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; name = "IQKeyboardManagerSwift-IQKeyboardManagerSwift"; path = IQKeyboardManagerSwift.bundle; sourceTree = BUILT_PRODUCTS_DIR; };
+ 8FB61A3A704718BA9D28CB8AF551D3BA /* SnapKit-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "SnapKit-Info.plist"; sourceTree = ""; };
+ 90A78351C7EFC4AB674E3681D6EF0514 /* IQUIView+Hierarchy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQUIView+Hierarchy.swift"; path = "IQKeyboardManagerSwift/UIKitExtensions/IQUIView+Hierarchy.swift"; sourceTree = ""; };
+ 939E6A71993A6CE7B5D01158372276C1 /* IQKeyboardInfo.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQKeyboardInfo.swift; path = IQKeyboardManagerSwift/LIsteners/Info/IQKeyboardInfo.swift; sourceTree = ""; };
+ 94F893C8A2FDEF71C50031B5A0930F40 /* IQUIScrollView+Additions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQUIScrollView+Additions.swift"; path = "IQKeyboardManagerSwift/UIKitExtensions/IQUIScrollView+Additions.swift"; sourceTree = ""; };
+ 9532DD5F49A5519BEDF9ECDD8A5959B0 /* ConstraintConstantTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintConstantTarget.swift; path = Sources/ConstraintConstantTarget.swift; sourceTree = ""; };
+ 979486118B3E90C08386079D57962701 /* SnapKit */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = SnapKit; path = SnapKit.framework; sourceTree = BUILT_PRODUCTS_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; };
+ A262C6E67F33463A3EF63AB3B447CADE /* IQKeyboardManagerSwift.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = IQKeyboardManagerSwift.release.xcconfig; sourceTree = ""; };
+ A42DBD2F42D55606EEBA514009498B87 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.0.sdk/System/Library/Frameworks/QuartzCore.framework; sourceTree = DEVELOPER_DIR; };
+ A8A8AB97C8E4A6E354FEA40DEFDCC38F /* ConstraintMaker.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMaker.swift; path = Sources/ConstraintMaker.swift; sourceTree = ""; };
+ A8D10D8487CAE9288C4AB3982CA25D05 /* ConstraintLayoutSupport.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintLayoutSupport.swift; path = Sources/ConstraintLayoutSupport.swift; sourceTree = ""; };
+ A8E950A16D00F649C54FFB30F81D7842 /* IQKeyboardManagerSwift */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = IQKeyboardManagerSwift; path = IQKeyboardManagerSwift.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+ A92187EBF74D4566D6037B89E45FC313 /* ConstraintLayoutGuide+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ConstraintLayoutGuide+Extensions.swift"; path = "Sources/ConstraintLayoutGuide+Extensions.swift"; sourceTree = ""; };
+ A99F0F8050A5D2AB149CDE4174D677CE /* IQKeyboardManager+Toolbar.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQKeyboardManager+Toolbar.swift"; path = "IQKeyboardManagerSwift/IQKeyboardManager/IQKeyboardManager+Toolbar.swift"; sourceTree = ""; };
+ AA1531524B3A85EEC0079897F08A51A3 /* IQInvocation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQInvocation.swift; path = IQKeyboardManagerSwift/IQToolbar/IQInvocation.swift; sourceTree = ""; };
+ AEAE0095B094524A23C29A6F7F27E667 /* SnapKit.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SnapKit.debug.xcconfig; sourceTree = ""; };
+ AFECBC24E09D0D25F822C27BD944AFD4 /* Pods-Example-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-Example-frameworks.sh"; sourceTree = ""; };
+ B26A354E2CEBFC3C5B63FAE1CAA92DEB /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; includeInIndex = 1; name = PrivacyInfo.xcprivacy; path = Toast/Resources/PrivacyInfo.xcprivacy; sourceTree = ""; };
+ B2B15E0C2FA074028C8D761CC6134878 /* ConstraintView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintView.swift; path = Sources/ConstraintView.swift; sourceTree = ""; };
+ B45138496B85A072654D1D0F8EBBEDE5 /* Pods-Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Example.debug.xcconfig"; sourceTree = ""; };
+ B68ACB5412EC5AAC4B13CD213584E56C /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; includeInIndex = 1; name = PrivacyInfo.xcprivacy; path = Sources/PrivacyInfo.xcprivacy; sourceTree = ""; };
+ B9DCB5EC0B1CDADD221717CADDF62359 /* SnapKit-SnapKit_Privacy */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; name = "SnapKit-SnapKit_Privacy"; path = SnapKit_Privacy.bundle; sourceTree = BUILT_PRODUCTS_DIR; };
+ BA615AC92E7312BC47DDD6D8A69E72F3 /* IQKeyboardConfiguration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQKeyboardConfiguration.swift; path = IQKeyboardManagerSwift/Configuration/IQKeyboardConfiguration.swift; sourceTree = ""; };
+ BB754F457BB7840C8DBC212D34323562 /* IQKeyboardManagerSwift.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = IQKeyboardManagerSwift.modulemap; sourceTree = ""; };
+ BCEDEA546F314DB31037A2D828DB4A8C /* ConstraintDirectionalInsets.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintDirectionalInsets.swift; path = Sources/ConstraintDirectionalInsets.swift; sourceTree = ""; };
+ BD68BFB8D786D053D462EA67697D1DB6 /* IQTextFieldViewInfoModel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQTextFieldViewInfoModel.swift; path = IQKeyboardManagerSwift/ReturnKeyHandler/IQTextFieldViewInfoModel.swift; sourceTree = ""; };
+ BECF740201B00644945D6BFCC8EE1F53 /* IQUICollectionView+Additions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQUICollectionView+Additions.swift"; path = "IQKeyboardManagerSwift/UIKitExtensions/IQUICollectionView+Additions.swift"; sourceTree = ""; };
+ C2739B637B84077CFE5418F3B719A38A /* Constraint.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Constraint.swift; path = Sources/Constraint.swift; sourceTree = ""; };
+ C3B783C16D6A59BC24074B145A372FCC /* ConstraintView+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ConstraintView+Extensions.swift"; path = "Sources/ConstraintView+Extensions.swift"; sourceTree = ""; };
+ C93A7CFF5013321FFCE66CF75899A19B /* IQKeyboardManager+Deprecated.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQKeyboardManager+Deprecated.swift"; path = "IQKeyboardManagerSwift/IQKeyboardManager/IQKeyboardManager+Deprecated.swift"; sourceTree = ""; };
+ CBECC8D42190496CEFC535743E3D9DC6 /* ConstraintDescription.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintDescription.swift; path = Sources/ConstraintDescription.swift; sourceTree = ""; };
+ CD9EF4AE314ECB09CCAF89626AB6D4EB /* ResourceBundle-SnapKit_Privacy-SnapKit-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "ResourceBundle-SnapKit_Privacy-SnapKit-Info.plist"; sourceTree = ""; };
+ CF0BCC29761DC7E3F13B5D4721C5AE10 /* SnapKit.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SnapKit.release.xcconfig; sourceTree = ""; };
+ CF5C5E139984EBC98F8FE24FE15CEE79 /* IQPreviousNextView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQPreviousNextView.swift; path = IQKeyboardManagerSwift/IQToolbar/IQPreviousNextView.swift; sourceTree = ""; };
+ D1CC58F10CAD8194DBD2C7308C3694CF /* Typealiases.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Typealiases.swift; path = Sources/Typealiases.swift; sourceTree = ""; };
+ D267F880B5BC6279E167245357C516E4 /* IQKeyboardManager+UITextFieldViewNotification.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQKeyboardManager+UITextFieldViewNotification.swift"; path = "IQKeyboardManagerSwift/IQKeyboardManager/IQKeyboardManager+UITextFieldViewNotification.swift"; sourceTree = ""; };
+ D2C828ED68C4AE08612F2A936AB1C7A5 /* IQKeyboardManagerSwift-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "IQKeyboardManagerSwift-prefix.pch"; sourceTree = ""; };
+ D423AF1243BA3E2E9D29B5D6E77E95B4 /* IQNSArray+Sort.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQNSArray+Sort.swift"; path = "IQKeyboardManagerSwift/UIKitExtensions/IQNSArray+Sort.swift"; sourceTree = ""; };
+ D6043471C96F93DC41F7DD1E0D7D8B35 /* Toast-Swift */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = "Toast-Swift"; path = Toast_Swift.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+ D65B2B53AFE2E97AAD2347B0D2450BF1 /* ConstraintRelation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintRelation.swift; path = Sources/ConstraintRelation.swift; sourceTree = ""; };
+ D6D7C498FA339E02BD53ECB8916CEA8E /* Pods-Example-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-Example-dummy.m"; sourceTree = ""; };
+ D76D361EFC283ED2EFC6CF7F8BD84213 /* IQKeyboardManager+Internal.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQKeyboardManager+Internal.swift"; path = "IQKeyboardManagerSwift/IQKeyboardManager/IQKeyboardManager+Internal.swift"; sourceTree = ""; };
+ D7D507BC0A3AA3084CEC38FE6AFA8AB5 /* ConstraintLayoutSupportDSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintLayoutSupportDSL.swift; path = Sources/ConstraintLayoutSupportDSL.swift; sourceTree = ""; };
+ DDA3EF388553BB7101F53F72CCC8F4A9 /* IQToolbarConfiguration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQToolbarConfiguration.swift; path = IQKeyboardManagerSwift/Configuration/IQToolbarConfiguration.swift; sourceTree = ""; };
+ DE1C7BCB2C17A82F6FCC4EF1B276DF1E /* SnapKit-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SnapKit-dummy.m"; sourceTree = ""; };
+ E2D361F5787F34F9D1700D7114563AF7 /* ConstraintMakerExtendable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMakerExtendable.swift; path = Sources/ConstraintMakerExtendable.swift; sourceTree = ""; };
+ E394466448323B566659ED3C86466588 /* IQUIView+IQKeyboardToolbarDeprecated.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQUIView+IQKeyboardToolbarDeprecated.swift"; path = "IQKeyboardManagerSwift/IQToolbar/IQUIView+IQKeyboardToolbarDeprecated.swift"; sourceTree = ""; };
+ E5465A420948F0534DA3E383E108F925 /* ConstraintMakerEditable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMakerEditable.swift; path = Sources/ConstraintMakerEditable.swift; sourceTree = ""; };
+ E6D7D5300CA474D7485012005F3E5280 /* IQKeyboardManager+UIKeyboardNotification.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQKeyboardManager+UIKeyboardNotification.swift"; path = "IQKeyboardManagerSwift/IQKeyboardManager/IQKeyboardManager+UIKeyboardNotification.swift"; sourceTree = ""; };
+ E94DBC148226C9EB4BCC59E7DAEA494C /* Toast-Swift-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Toast-Swift-umbrella.h"; sourceTree = ""; };
+ EA21B344259B58996DB73382B1B1521F /* Pods-Example-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-Example-acknowledgements.plist"; sourceTree = ""; };
+ ECAD0961380D3DF7234A89114624BAB3 /* ConstraintInsets.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintInsets.swift; path = Sources/ConstraintInsets.swift; sourceTree = ""; };
+ EE16C611E50DB512C9F824C9987DF025 /* LayoutConstraint.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = LayoutConstraint.swift; path = Sources/LayoutConstraint.swift; sourceTree = ""; };
+ EF6E6A10E54B7D75B219D33B46E5986E /* ConstraintPriorityTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintPriorityTarget.swift; path = Sources/ConstraintPriorityTarget.swift; sourceTree = ""; };
+ EF9F36A57B1CB8B3461C5911043F6CF9 /* IQToolbarPlaceholderConfiguration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQToolbarPlaceholderConfiguration.swift; path = IQKeyboardManagerSwift/Configuration/IQToolbarPlaceholderConfiguration.swift; sourceTree = ""; };
+ F0AB9F729D940C230C9A2169648D647D /* Debugging.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Debugging.swift; path = Sources/Debugging.swift; sourceTree = ""; };
+ F3E194AF34161D9686CE36DA4FA684C9 /* IQKeyboardManagerSwift.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = IQKeyboardManagerSwift.debug.xcconfig; sourceTree = ""; };
+ F75E83DF3A12ABA862C91E63D2AF6280 /* ConstraintInsetTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintInsetTarget.swift; path = Sources/ConstraintInsetTarget.swift; sourceTree = ""; };
+ F970F894DF407AD226D3877ECA6A2E48 /* SnapKit-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SnapKit-prefix.pch"; sourceTree = ""; };
+ FA466BFDAB2114DCF5873385D65B9321 /* LayoutConstraintItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = LayoutConstraintItem.swift; path = Sources/LayoutConstraintItem.swift; sourceTree = ""; };
+ FB5DC196F96C6C4BB1CD79D6FD6B7728 /* ConstraintMakerRelatable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMakerRelatable.swift; path = Sources/ConstraintMakerRelatable.swift; sourceTree = ""; };
+ FB699B634FDFAB757CEF86D96F111A92 /* IQActiveConfiguration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQActiveConfiguration.swift; path = IQKeyboardManagerSwift/Configuration/IQActiveConfiguration.swift; sourceTree = ""; };
+ FD039EFA2B91C6864FAEA73ECF182332 /* IQKeyboardManagerConstants.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQKeyboardManagerConstants.swift; path = IQKeyboardManagerSwift/Constants/IQKeyboardManagerConstants.swift; sourceTree = ""; };
+ FE7CEBB9FF37125D33DFC72668395B8A /* ConstraintViewDSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintViewDSL.swift; path = Sources/ConstraintViewDSL.swift; sourceTree = ""; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+ 16CA964EAF351C90B0830802689856B2 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 53463E2C1FAA39A67C058C6BE1BD795F /* Foundation.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 27CD3877559C586C9BCFE5E060319ABA /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 3130A51D7DFF19A4DA7649752464E8ED /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 98A4D0D5928A35C7DB3D9272187789A8 /* CoreGraphics.framework in Frameworks */,
+ 23D11E770DF137CBF802A30E2B19C054 /* Foundation.framework in Frameworks */,
+ B1A786B1A2F11EBD1BF77305EEB710F5 /* QuartzCore.framework in Frameworks */,
+ 7586D1882B962E1E31C28CC6396668B3 /* UIKit.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 6F796DCACF7FECDF5C5CEF6AFE7BC0FF /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ C7E343559158D03F717C616F79FAA006 /* Foundation.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ AB0F36187CBD4D114ED524B642EDB4FB /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 5CE349BD7B3C13F71152960F46C2AD58 /* Foundation.framework in Frameworks */,
+ 8637B942FE12C96972BFC827D8F012FB /* QuartzCore.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ F3AE2DCEEAB7ED4919849BFC7B87ED52 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+ 35E605FC83899DC0364A9D8667D8C408 /* Resources */ = {
+ isa = PBXGroup;
+ children = (
+ 21CF3A39AB8F2E562D184D98200F21AA /* PrivacyInfo.xcprivacy */,
+ );
+ name = Resources;
+ sourceTree = "";
+ };
+ 499233379DB1EE1580303CC17E4034E0 /* IQKeyboardManagerSwift */ = {
+ isa = PBXGroup;
+ children = (
+ FB699B634FDFAB757CEF86D96F111A92 /* IQActiveConfiguration.swift */,
+ 5E998035FB812DDE9D1AE2E5B6C01F58 /* IQBarButtonItem.swift */,
+ 718310B9262DBF9218F32104C82B7D31 /* IQBarButtonItemConfiguration.swift */,
+ AA1531524B3A85EEC0079897F08A51A3 /* IQInvocation.swift */,
+ BA615AC92E7312BC47DDD6D8A69E72F3 /* IQKeyboardConfiguration.swift */,
+ 939E6A71993A6CE7B5D01158372276C1 /* IQKeyboardInfo.swift */,
+ 33EFC31D4AED7F180AE374A80B17FA08 /* IQKeyboardListener.swift */,
+ 4FDDF0DE62DA5A183B9D4C4E3F77E89D /* IQKeyboardManager.swift */,
+ 3CB6DFA8D97BBEDEABE950BC95908E9D /* IQKeyboardManager+Debug.swift */,
+ C93A7CFF5013321FFCE66CF75899A19B /* IQKeyboardManager+Deprecated.swift */,
+ D76D361EFC283ED2EFC6CF7F8BD84213 /* IQKeyboardManager+Internal.swift */,
+ 1B33CF59EADF3CAB0D64144B7898A45D /* IQKeyboardManager+Position.swift */,
+ A99F0F8050A5D2AB149CDE4174D677CE /* IQKeyboardManager+Toolbar.swift */,
+ 1268AFF944F5EFC1843FDB2A99D350DA /* IQKeyboardManager+ToolbarActions.swift */,
+ E6D7D5300CA474D7485012005F3E5280 /* IQKeyboardManager+UIKeyboardNotification.swift */,
+ D267F880B5BC6279E167245357C516E4 /* IQKeyboardManager+UITextFieldViewNotification.swift */,
+ 487E8CCA4859CD97779EAC235E596B3F /* IQKeyboardManagerCompatible.swift */,
+ FD039EFA2B91C6864FAEA73ECF182332 /* IQKeyboardManagerConstants.swift */,
+ 7CE2273B9C7EF1EB002B8F27679C80C0 /* IQKeyboardReturnKeyHandler.swift */,
+ 1757056710D3EAF1ED55009B000F3D35 /* IQKeyboardReturnKeyHandler+TextFieldDelegate.swift */,
+ 300030D0A05F9B8C127FF428D70FAF2D /* IQKeyboardReturnKeyHandler+TextViewDelegate.swift */,
+ D423AF1243BA3E2E9D29B5D6E77E95B4 /* IQNSArray+Sort.swift */,
+ 63515591138E7BAAAC90A9D200D19266 /* IQPlaceholderable.swift */,
+ CF5C5E139984EBC98F8FE24FE15CEE79 /* IQPreviousNextView.swift */,
+ 06A3970C0F26072724D76AC00FC40B67 /* IQRootControllerConfiguration.swift */,
+ 71F833948A36F88E3CDA4A7E102D9680 /* IQScrollViewConfiguration.swift */,
+ 0816D0202E8F46EA9C2657E4EC8424F3 /* IQTextFieldViewInfo.swift */,
+ BD68BFB8D786D053D462EA67697D1DB6 /* IQTextFieldViewInfoModel.swift */,
+ 10AD92D3B68611554DCF5720DC0720D8 /* IQTextFieldViewListener.swift */,
+ 192298B0D95D5F1503B984D3583F5BFE /* IQTextView.swift */,
+ 20F2C44B7A25538F35CEF6B53580F13A /* IQTitleBarButtonItem.swift */,
+ 080974FCAB1AD4F3189D9BD8FFACBEFF /* IQToolbar.swift */,
+ DDA3EF388553BB7101F53F72CCC8F4A9 /* IQToolbarConfiguration.swift */,
+ EF9F36A57B1CB8B3461C5911043F6CF9 /* IQToolbarPlaceholderConfiguration.swift */,
+ BECF740201B00644945D6BFCC8EE1F53 /* IQUICollectionView+Additions.swift */,
+ 94F893C8A2FDEF71C50031B5A0930F40 /* IQUIScrollView+Additions.swift */,
+ 3158706EB295D9C18FF8BA906AED1D67 /* IQUITableView+Additions.swift */,
+ 4D5DA97A682C949B62A923E58F38BC6A /* IQUITextFieldView+Additions.swift */,
+ 90A78351C7EFC4AB674E3681D6EF0514 /* IQUIView+Hierarchy.swift */,
+ 8669FBAD7BFA7DD5183138C9C10E2FE5 /* IQUIView+IQKeyboardToolbar.swift */,
+ E394466448323B566659ED3C86466588 /* IQUIView+IQKeyboardToolbarDeprecated.swift */,
+ 56EBB4F6FD7E90A76DBCCE93427CC19C /* IQUIViewController+Additions.swift */,
+ 79E14ED76371E186B76E2DAE4E0315B3 /* UIImage+NextPrevious.swift */,
+ 35E605FC83899DC0364A9D8667D8C408 /* Resources */,
+ E1E10AA5D08427E8712A4B54CB66A781 /* Support Files */,
+ );
+ name = IQKeyboardManagerSwift;
+ path = IQKeyboardManagerSwift;
+ sourceTree = "";
+ };
+ 70B5F21E4730FCF210666B46064B2872 /* Pods */ = {
+ isa = PBXGroup;
+ children = (
+ 499233379DB1EE1580303CC17E4034E0 /* IQKeyboardManagerSwift */,
+ CE54010BA463C2EB1145E8AC93717501 /* SnapKit */,
+ A894377B1CE5B1427A6C80A82C8E0856 /* Toast-Swift */,
+ );
+ name = Pods;
+ sourceTree = "";
+ };
+ 7F3DF112F77A4962DE4A42C9A69DA3D6 /* Support Files */ = {
+ isa = PBXGroup;
+ children = (
+ CD9EF4AE314ECB09CCAF89626AB6D4EB /* ResourceBundle-SnapKit_Privacy-SnapKit-Info.plist */,
+ 351F24C66E19752DD6EA6C36AF353DF7 /* SnapKit.modulemap */,
+ DE1C7BCB2C17A82F6FCC4EF1B276DF1E /* SnapKit-dummy.m */,
+ 8FB61A3A704718BA9D28CB8AF551D3BA /* SnapKit-Info.plist */,
+ F970F894DF407AD226D3877ECA6A2E48 /* SnapKit-prefix.pch */,
+ 3AE71F8217EF7ACC3231FFAACD7D8FD9 /* SnapKit-umbrella.h */,
+ AEAE0095B094524A23C29A6F7F27E667 /* SnapKit.debug.xcconfig */,
+ CF0BCC29761DC7E3F13B5D4721C5AE10 /* SnapKit.release.xcconfig */,
+ );
+ name = "Support Files";
+ path = "../Target Support Files/SnapKit";
+ sourceTree = "";
+ };
+ 83024925D39659BD7F9F37905480C8F6 /* Resources */ = {
+ isa = PBXGroup;
+ children = (
+ B68ACB5412EC5AAC4B13CD213584E56C /* PrivacyInfo.xcprivacy */,
+ );
+ name = Resources;
+ sourceTree = "";
+ };
+ 848786660F6E81E176ECA1A81CBC176E /* Resources */ = {
+ isa = PBXGroup;
+ children = (
+ B26A354E2CEBFC3C5B63FAE1CAA92DEB /* PrivacyInfo.xcprivacy */,
+ );
+ name = Resources;
+ sourceTree = "";
+ };
+ 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 = "";
+ };
+ A894377B1CE5B1427A6C80A82C8E0856 /* Toast-Swift */ = {
+ isa = PBXGroup;
+ children = (
+ 622AC377CF7C38C240EBA7913D3A473A /* Toast.swift */,
+ 848786660F6E81E176ECA1A81CBC176E /* Resources */,
+ DAB61DCA0985B3BBFE47A6C35D7A96EA /* Support Files */,
+ );
+ name = "Toast-Swift";
+ path = "Toast-Swift";
+ sourceTree = "";
+ };
+ BA4F31F07263C99FC76E66D632A59F09 /* Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ F9D206BABE81E6BF0B9B23880B238CC7 /* iOS */,
+ );
+ name = Frameworks;
+ sourceTree = "";
+ };
+ C22B7A191BB73E4EEE8C7FC95EF88CD9 /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ A8E950A16D00F649C54FFB30F81D7842 /* IQKeyboardManagerSwift */,
+ 8D8069D3964814114ACEC3084C010B59 /* IQKeyboardManagerSwift-IQKeyboardManagerSwift */,
+ 1F667CC0E19EAF34E5A4119E2121F585 /* Pods-Example */,
+ 979486118B3E90C08386079D57962701 /* SnapKit */,
+ B9DCB5EC0B1CDADD221717CADDF62359 /* SnapKit-SnapKit_Privacy */,
+ D6043471C96F93DC41F7DD1E0D7D8B35 /* Toast-Swift */,
+ );
+ name = Products;
+ sourceTree = "";
+ };
+ CE2E825F08D3AD0FD76E6D78D7512ED0 /* Targets Support Files */ = {
+ isa = PBXGroup;
+ children = (
+ 9BDBD95ED116334D1B2835202D8D3060 /* Pods-Example */,
+ );
+ name = "Targets Support Files";
+ sourceTree = "";
+ };
+ CE54010BA463C2EB1145E8AC93717501 /* SnapKit */ = {
+ isa = PBXGroup;
+ children = (
+ C2739B637B84077CFE5418F3B719A38A /* Constraint.swift */,
+ 47DA51D0F1525280F93403C0CBFAD652 /* ConstraintAttributes.swift */,
+ 81BBAC582C2517839C9E6945376733FE /* ConstraintConfig.swift */,
+ 9532DD5F49A5519BEDF9ECDD8A5959B0 /* ConstraintConstantTarget.swift */,
+ CBECC8D42190496CEFC535743E3D9DC6 /* ConstraintDescription.swift */,
+ BCEDEA546F314DB31037A2D828DB4A8C /* ConstraintDirectionalInsets.swift */,
+ 7B84FA1E4D590FF4D9FA2CF1092C044E /* ConstraintDirectionalInsetTarget.swift */,
+ 4DD29958818B7020C5CE86C6EB0AD6C7 /* ConstraintDSL.swift */,
+ ECAD0961380D3DF7234A89114624BAB3 /* ConstraintInsets.swift */,
+ F75E83DF3A12ABA862C91E63D2AF6280 /* ConstraintInsetTarget.swift */,
+ 35B6A598D6741677D6D1FA709F6043C6 /* ConstraintItem.swift */,
+ 628C71717D78E4787E5207FA441B31FA /* ConstraintLayoutGuide.swift */,
+ A92187EBF74D4566D6037B89E45FC313 /* ConstraintLayoutGuide+Extensions.swift */,
+ 20DDA272B8E925FEF790776A224AEEC2 /* ConstraintLayoutGuideDSL.swift */,
+ A8D10D8487CAE9288C4AB3982CA25D05 /* ConstraintLayoutSupport.swift */,
+ D7D507BC0A3AA3084CEC38FE6AFA8AB5 /* ConstraintLayoutSupportDSL.swift */,
+ A8A8AB97C8E4A6E354FEA40DEFDCC38F /* ConstraintMaker.swift */,
+ E5465A420948F0534DA3E383E108F925 /* ConstraintMakerEditable.swift */,
+ E2D361F5787F34F9D1700D7114563AF7 /* ConstraintMakerExtendable.swift */,
+ 148884C9C5BF5D63AB5CDC50040871FA /* ConstraintMakerFinalizable.swift */,
+ 622B0972DDD1412DAC47AAB441250AE9 /* ConstraintMakerPrioritizable.swift */,
+ FB5DC196F96C6C4BB1CD79D6FD6B7728 /* ConstraintMakerRelatable.swift */,
+ 03B1A0778751E0826602861220F2DC66 /* ConstraintMakerRelatable+Extensions.swift */,
+ 3F7AF737B2F40C4870DAF57481575D91 /* ConstraintMultiplierTarget.swift */,
+ 68AC15B21E30C79D83E2932832D289B4 /* ConstraintOffsetTarget.swift */,
+ 64FFF83D8B5D3DBBD8E8B116B12B008D /* ConstraintPriority.swift */,
+ EF6E6A10E54B7D75B219D33B46E5986E /* ConstraintPriorityTarget.swift */,
+ 79F3994CD8C29361AEDE4763818964C0 /* ConstraintRelatableTarget.swift */,
+ D65B2B53AFE2E97AAD2347B0D2450BF1 /* ConstraintRelation.swift */,
+ B2B15E0C2FA074028C8D761CC6134878 /* ConstraintView.swift */,
+ C3B783C16D6A59BC24074B145A372FCC /* ConstraintView+Extensions.swift */,
+ FE7CEBB9FF37125D33DFC72668395B8A /* ConstraintViewDSL.swift */,
+ F0AB9F729D940C230C9A2169648D647D /* Debugging.swift */,
+ EE16C611E50DB512C9F824C9987DF025 /* LayoutConstraint.swift */,
+ FA466BFDAB2114DCF5873385D65B9321 /* LayoutConstraintItem.swift */,
+ D1CC58F10CAD8194DBD2C7308C3694CF /* Typealiases.swift */,
+ 16DC2C3F3F47A6C10378F13800AE8138 /* UILayoutSupport+Extensions.swift */,
+ 83024925D39659BD7F9F37905480C8F6 /* Resources */,
+ 7F3DF112F77A4962DE4A42C9A69DA3D6 /* Support Files */,
+ );
+ name = SnapKit;
+ path = SnapKit;
+ sourceTree = "";
+ };
+ CF1408CF629C7361332E53B88F7BD30C = {
+ isa = PBXGroup;
+ children = (
+ 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */,
+ BA4F31F07263C99FC76E66D632A59F09 /* Frameworks */,
+ 70B5F21E4730FCF210666B46064B2872 /* Pods */,
+ C22B7A191BB73E4EEE8C7FC95EF88CD9 /* Products */,
+ CE2E825F08D3AD0FD76E6D78D7512ED0 /* Targets Support Files */,
+ );
+ sourceTree = "";
+ };
+ DAB61DCA0985B3BBFE47A6C35D7A96EA /* Support Files */ = {
+ isa = PBXGroup;
+ children = (
+ 73688A50BFBEC237BDB578170F6D01BD /* Toast-Swift.modulemap */,
+ 0B7C01638A16AC2CAACF2E0DE5715CF6 /* Toast-Swift-dummy.m */,
+ 0FE73E6FA88BBBFD504597F6DEF9D439 /* Toast-Swift-Info.plist */,
+ 0826BDFE1E8E1C0687A2D174BAFF602D /* Toast-Swift-prefix.pch */,
+ E94DBC148226C9EB4BCC59E7DAEA494C /* Toast-Swift-umbrella.h */,
+ 6086BEFBFC4D1AE4AF5CE7BEFDABAA3E /* Toast-Swift.debug.xcconfig */,
+ 6840514330F765752CC8D40C118CEE6F /* Toast-Swift.release.xcconfig */,
+ );
+ name = "Support Files";
+ path = "../Target Support Files/Toast-Swift";
+ sourceTree = "";
+ };
+ E1E10AA5D08427E8712A4B54CB66A781 /* Support Files */ = {
+ isa = PBXGroup;
+ children = (
+ BB754F457BB7840C8DBC212D34323562 /* IQKeyboardManagerSwift.modulemap */,
+ 7CFEA705805177F0CCF56EC740BF7E4A /* IQKeyboardManagerSwift-dummy.m */,
+ 61FE9DB302A64BA8455DA565CF4B2D91 /* IQKeyboardManagerSwift-Info.plist */,
+ D2C828ED68C4AE08612F2A936AB1C7A5 /* IQKeyboardManagerSwift-prefix.pch */,
+ 4EAD94738C2E3C4F5AEC9FE74B30C432 /* IQKeyboardManagerSwift-umbrella.h */,
+ F3E194AF34161D9686CE36DA4FA684C9 /* IQKeyboardManagerSwift.debug.xcconfig */,
+ A262C6E67F33463A3EF63AB3B447CADE /* IQKeyboardManagerSwift.release.xcconfig */,
+ 78C8C7310BB85164BD37D9CB7A30EA4B /* ResourceBundle-IQKeyboardManagerSwift-IQKeyboardManagerSwift-Info.plist */,
+ );
+ name = "Support Files";
+ path = "../Target Support Files/IQKeyboardManagerSwift";
+ sourceTree = "";
+ };
+ F9D206BABE81E6BF0B9B23880B238CC7 /* iOS */ = {
+ isa = PBXGroup;
+ children = (
+ 840FA0B75AF62912A30DDC66B647ED98 /* CoreGraphics.framework */,
+ 79CF7D56C5D50C18B2EA0ED106D998C7 /* Foundation.framework */,
+ A42DBD2F42D55606EEBA514009498B87 /* QuartzCore.framework */,
+ 04D60AC13D33197690A05C641925DDDA /* UIKit.framework */,
+ );
+ name = iOS;
+ sourceTree = "";
+ };
+/* End PBXGroup section */
+
+/* Begin PBXHeadersBuildPhase section */
+ 77150D3DA409E22AAAE3AC967B0FDC17 /* Headers */ = {
+ isa = PBXHeadersBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 3573FA382FBE08F99039CED491DB9FF0 /* IQKeyboardManagerSwift-umbrella.h in Headers */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 8CA2539520F8A8A920DEE31F9DDFDDA0 /* Headers */ = {
+ isa = PBXHeadersBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ EF00BF7D0F543428543D51D872216944 /* Toast-Swift-umbrella.h in Headers */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BD2B111EBF8A7845E42930BF05778C63 /* Headers */ = {
+ isa = PBXHeadersBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 6D389E4D5F97798BE1AEEB8C317852D7 /* SnapKit-umbrella.h in Headers */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ E187D33FFA8E448B3704013232A13CB4 /* Headers */ = {
+ isa = PBXHeadersBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ CA584DB99A79CD3CCCEC662499A86513 /* Pods-Example-umbrella.h in Headers */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXHeadersBuildPhase section */
+
+/* Begin PBXNativeTarget section */
+ 0AEE99A309977BD12A049FF48AF9BA4B /* Pods-Example */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 73F486888E331EC63883CBEEAA758D0B /* Build configuration list for PBXNativeTarget "Pods-Example" */;
+ buildPhases = (
+ E187D33FFA8E448B3704013232A13CB4 /* Headers */,
+ 4A4784C4AF92039A0B5FD00D2113B685 /* Sources */,
+ 16CA964EAF351C90B0830802689856B2 /* Frameworks */,
+ 4FC83224AA0AB6C1F05E517B7442AA20 /* Resources */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ 77FFC8013B75E4C7B842FF23D01AC4FC /* PBXTargetDependency */,
+ A227A11ED491036506CA95356FF2AD07 /* PBXTargetDependency */,
+ 1851A67A6BE5192F540EE808F0B955AC /* PBXTargetDependency */,
+ );
+ name = "Pods-Example";
+ productName = Pods_Example;
+ productReference = 1F667CC0E19EAF34E5A4119E2121F585 /* Pods-Example */;
+ productType = "com.apple.product-type.framework";
+ };
+ 19622742EBA51E823D6DAE3F8CDBFAD4 /* SnapKit */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 4C4F25F04C086237315FCAEF7661357E /* Build configuration list for PBXNativeTarget "SnapKit" */;
+ buildPhases = (
+ BD2B111EBF8A7845E42930BF05778C63 /* Headers */,
+ B52EB97EAADC4B42F512DF593D183539 /* Sources */,
+ 6F796DCACF7FECDF5C5CEF6AFE7BC0FF /* Frameworks */,
+ 8AFC96B9D49AC279B3790C99847FF1B3 /* Resources */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ 87B6A69F293EFE709271F01FEFF7CF85 /* PBXTargetDependency */,
+ );
+ name = SnapKit;
+ productName = SnapKit;
+ productReference = 979486118B3E90C08386079D57962701 /* SnapKit */;
+ productType = "com.apple.product-type.framework";
+ };
+ 8A8DB685241263AFDF5E6B20FE67B93A /* SnapKit-SnapKit_Privacy */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = D6794C4142EFF039C29C80DFB69CD756 /* Build configuration list for PBXNativeTarget "SnapKit-SnapKit_Privacy" */;
+ buildPhases = (
+ 880B05FBF63B895275C2A306C8D6B2F7 /* Sources */,
+ F3AE2DCEEAB7ED4919849BFC7B87ED52 /* Frameworks */,
+ 4A67201DE9E860C0F71D3639FD377E55 /* 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 = 34709F7B15D710090F0631BFE07E8079 /* Build configuration list for PBXNativeTarget "IQKeyboardManagerSwift-IQKeyboardManagerSwift" */;
+ buildPhases = (
+ 87F473436484D0B93352BB9CDCC86415 /* Sources */,
+ 27CD3877559C586C9BCFE5E060319ABA /* Frameworks */,
+ 3ABF68735DD22D4576EFC9543912A6CA /* Resources */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = "IQKeyboardManagerSwift-IQKeyboardManagerSwift";
+ productName = IQKeyboardManagerSwift;
+ productReference = 8D8069D3964814114ACEC3084C010B59 /* IQKeyboardManagerSwift-IQKeyboardManagerSwift */;
+ productType = "com.apple.product-type.bundle";
+ };
+ B490E7485944099E16C9CBD79119D1D4 /* IQKeyboardManagerSwift */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 397157E58CC1977C23EB745CC0C04035 /* Build configuration list for PBXNativeTarget "IQKeyboardManagerSwift" */;
+ buildPhases = (
+ 77150D3DA409E22AAAE3AC967B0FDC17 /* Headers */,
+ 335F86AE3E21D4BDAD21A4F79F2DA8F9 /* Sources */,
+ 3130A51D7DFF19A4DA7649752464E8ED /* Frameworks */,
+ 4A72A323CCD420112722EDFB4439C184 /* Resources */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ A4C925584749CA52AEFABE3C7F64FC62 /* PBXTargetDependency */,
+ );
+ name = IQKeyboardManagerSwift;
+ productName = IQKeyboardManagerSwift;
+ productReference = A8E950A16D00F649C54FFB30F81D7842 /* IQKeyboardManagerSwift */;
+ productType = "com.apple.product-type.framework";
+ };
+ B990BD87169C76A3ED3FE8A9258D91A3 /* Toast-Swift */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 38CBDB2D970538387FA12353C1E9FF6D /* Build configuration list for PBXNativeTarget "Toast-Swift" */;
+ buildPhases = (
+ 8CA2539520F8A8A920DEE31F9DDFDDA0 /* Headers */,
+ B87B2676801F12A62F3C37B119796EFC /* Sources */,
+ AB0F36187CBD4D114ED524B642EDB4FB /* Frameworks */,
+ 606DC2AC5D2015B9AB5B2D95CAED59EF /* Resources */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = "Toast-Swift";
+ productName = Toast_Swift;
+ productReference = D6043471C96F93DC41F7DD1E0D7D8B35 /* Toast-Swift */;
+ productType = "com.apple.product-type.framework";
+ };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+ BFDFE7DC352907FC980B868725387E98 /* Project object */ = {
+ isa = PBXProject;
+ attributes = {
+ LastSwiftUpdateCheck = 1500;
+ LastUpgradeCheck = 1500;
+ };
+ buildConfigurationList = 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */;
+ compatibilityVersion = "Xcode 14.0";
+ developmentRegion = en;
+ hasScannedForEncodings = 0;
+ knownRegions = (
+ Base,
+ en,
+ );
+ mainGroup = CF1408CF629C7361332E53B88F7BD30C;
+ productRefGroup = C22B7A191BB73E4EEE8C7FC95EF88CD9 /* Products */;
+ projectDirPath = "";
+ projectRoot = "";
+ targets = (
+ B490E7485944099E16C9CBD79119D1D4 /* IQKeyboardManagerSwift */,
+ 982A68D37F5DCBC1FC1FDC0BB2F0EB8E /* IQKeyboardManagerSwift-IQKeyboardManagerSwift */,
+ 0AEE99A309977BD12A049FF48AF9BA4B /* Pods-Example */,
+ 19622742EBA51E823D6DAE3F8CDBFAD4 /* SnapKit */,
+ 8A8DB685241263AFDF5E6B20FE67B93A /* SnapKit-SnapKit_Privacy */,
+ B990BD87169C76A3ED3FE8A9258D91A3 /* Toast-Swift */,
+ );
+ };
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+ 3ABF68735DD22D4576EFC9543912A6CA /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 293A604750AFF74421E35456DEF43215 /* PrivacyInfo.xcprivacy in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 4A67201DE9E860C0F71D3639FD377E55 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 5FFFE5E4F95E9A989F7AD2B9E4363DA5 /* PrivacyInfo.xcprivacy in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 4A72A323CCD420112722EDFB4439C184 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 4CDBAE55660ED186441E9E4EDE6B3D31 /* IQKeyboardManagerSwift-IQKeyboardManagerSwift in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 4FC83224AA0AB6C1F05E517B7442AA20 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 606DC2AC5D2015B9AB5B2D95CAED59EF /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 6CFB48595F4C5B157119CE09BEA2B7B3 /* PrivacyInfo.xcprivacy in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 8AFC96B9D49AC279B3790C99847FF1B3 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ D091D9EA20CEB92609BF1E622E8CA348 /* SnapKit-SnapKit_Privacy in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+ 335F86AE3E21D4BDAD21A4F79F2DA8F9 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ B1BFC54288364884DDEAE75027BABE1A /* IQActiveConfiguration.swift in Sources */,
+ 8ED2E941DF0803C8AA331D0D8C722615 /* IQBarButtonItem.swift in Sources */,
+ 907FCA3049CAAF64B579D08D339D118D /* IQBarButtonItemConfiguration.swift in Sources */,
+ FDEFBFB34E35A4BB332264E0CACCF5D8 /* IQInvocation.swift in Sources */,
+ 9A00A25ED34A7687C62B02EBB76C1248 /* IQKeyboardConfiguration.swift in Sources */,
+ 24C699F9653980B77F44634EF44641C1 /* IQKeyboardInfo.swift in Sources */,
+ 8FDA28363A5E49017498FD69AAA8F59F /* IQKeyboardListener.swift in Sources */,
+ F9DE1A3C506E506F4DA4B7714359E8D1 /* IQKeyboardManager.swift in Sources */,
+ 674C6B2E317E657D8EAD3CC73F608540 /* IQKeyboardManager+Debug.swift in Sources */,
+ D3D1F63C30E95311B687FA924B872C15 /* IQKeyboardManager+Deprecated.swift in Sources */,
+ 08822D4E49DB8618D27BAEDED7911733 /* IQKeyboardManager+Internal.swift in Sources */,
+ EBB5F245DBEEB13D48F09E0DD75A6C95 /* IQKeyboardManager+Position.swift in Sources */,
+ D88C2EA8ACCC0DE031D9E7A768062E2C /* IQKeyboardManager+Toolbar.swift in Sources */,
+ 9F78D56352F7D932DCEBE416C668C7BA /* IQKeyboardManager+ToolbarActions.swift in Sources */,
+ 4017CF2B3EE45E7E579E68E6FCFBF732 /* IQKeyboardManager+UIKeyboardNotification.swift in Sources */,
+ 82950EE4BDD57F74749742A3E1566073 /* IQKeyboardManager+UITextFieldViewNotification.swift in Sources */,
+ 597994C3AE8908B1E462BC03AC8C23FB /* IQKeyboardManagerCompatible.swift in Sources */,
+ AE7D065E1D48171258FD8F07F7CD592C /* IQKeyboardManagerConstants.swift in Sources */,
+ 733CF7F19636AFF4A97708DFDE0AE53C /* IQKeyboardManagerSwift-dummy.m in Sources */,
+ 42B931814C7B25871333D5DA9A0E2A41 /* IQKeyboardReturnKeyHandler.swift in Sources */,
+ 154362EFC8EC0F61F54E24B09266DEB1 /* IQKeyboardReturnKeyHandler+TextFieldDelegate.swift in Sources */,
+ 1C3881B0113D3219398154E16AA4413C /* IQKeyboardReturnKeyHandler+TextViewDelegate.swift in Sources */,
+ 54BAE903D82C39392943869866252D93 /* IQNSArray+Sort.swift in Sources */,
+ 5F0469C5B154DC20B844EA2A9B7F8D42 /* IQPlaceholderable.swift in Sources */,
+ 14063E1AF70EDDC9F33C8E08DCA0BEF3 /* IQPreviousNextView.swift in Sources */,
+ DE3B5070A41194C21898D92DBFFCBE4C /* IQRootControllerConfiguration.swift in Sources */,
+ F681FB74C756E0AAFFDC0D414EBD8FA0 /* IQScrollViewConfiguration.swift in Sources */,
+ 0615219BFD2EBBE27FF41C2C8816791E /* IQTextFieldViewInfo.swift in Sources */,
+ 5F62DAE67CF97B7C42471EA91B79AA9A /* IQTextFieldViewInfoModel.swift in Sources */,
+ 0A4DB572ACD97EC492C4E93A0FFB2E47 /* IQTextFieldViewListener.swift in Sources */,
+ 38CBE3196BDD577B5E72BC65508A77F8 /* IQTextView.swift in Sources */,
+ B9CF878085ABA2991A9C6F12F9B9DAB3 /* IQTitleBarButtonItem.swift in Sources */,
+ 701904768C60A3F9060518DD58EC2882 /* IQToolbar.swift in Sources */,
+ E8770A941545BB190D76BF7E5262797D /* IQToolbarConfiguration.swift in Sources */,
+ 34BDB069A96125DAF2FEF6FF93A3F6AF /* IQToolbarPlaceholderConfiguration.swift in Sources */,
+ 3452528F3B9B79AD67D45FEA174F71E4 /* IQUICollectionView+Additions.swift in Sources */,
+ 94F893223EB4C1C0F829C17900114AFA /* IQUIScrollView+Additions.swift in Sources */,
+ A5E69CC013C4311C8AF52C7F7AB095C9 /* IQUITableView+Additions.swift in Sources */,
+ 8086BD2DB5F1A0CC88E4F3386570A21C /* IQUITextFieldView+Additions.swift in Sources */,
+ 103FE4EEFF1BE8BAD0FA047987AFED74 /* IQUIView+Hierarchy.swift in Sources */,
+ D8322CBE73400EE4382D1A042D2D53D3 /* IQUIView+IQKeyboardToolbar.swift in Sources */,
+ 08C234F2981017EEF271582022F339F3 /* IQUIView+IQKeyboardToolbarDeprecated.swift in Sources */,
+ CC96488C33BFB3BCEE4A665A438CAC36 /* IQUIViewController+Additions.swift in Sources */,
+ E483FA24409A56AAEDF8A1DEC5F55F16 /* UIImage+NextPrevious.swift in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 4A4784C4AF92039A0B5FD00D2113B685 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ D5D5048DF0CA2052E944255D33433F17 /* Pods-Example-dummy.m in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 87F473436484D0B93352BB9CDCC86415 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 880B05FBF63B895275C2A306C8D6B2F7 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ B52EB97EAADC4B42F512DF593D183539 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ B133BB9C9B03481C7F1D221F35A617F2 /* Constraint.swift in Sources */,
+ 9779D52AD8CDA703D6EEE1C6D38E019F /* ConstraintAttributes.swift in Sources */,
+ E94B31DCAF75D93405D3BAE188604EB2 /* ConstraintConfig.swift in Sources */,
+ B3F75D115D5150C258F5E68404751010 /* ConstraintConstantTarget.swift in Sources */,
+ A051999781E1280746F7743BDEEA6C49 /* ConstraintDescription.swift in Sources */,
+ BE355F69F84788D334FDAC7D1CD9B8C4 /* ConstraintDirectionalInsets.swift in Sources */,
+ B4F9C9EC1B3F1689AE56BB719AE5439C /* ConstraintDirectionalInsetTarget.swift in Sources */,
+ F366D04DEA0EBBCA9CA4F1F4E29695E8 /* ConstraintDSL.swift in Sources */,
+ A0371DF7D93D9B86BD50474D4B9294FD /* ConstraintInsets.swift in Sources */,
+ 7052944C657F270E47777446D0E10E1C /* ConstraintInsetTarget.swift in Sources */,
+ 906EF891E58A035281766993F82373E3 /* ConstraintItem.swift in Sources */,
+ 0A5C290276F7453D9471E25BEA655842 /* ConstraintLayoutGuide.swift in Sources */,
+ 938CFF5F6DE6E7E8CE94373E51F3E07A /* ConstraintLayoutGuide+Extensions.swift in Sources */,
+ 0DA9A9D2F8960818017E26DA480FA143 /* ConstraintLayoutGuideDSL.swift in Sources */,
+ 13CC0CFB1C56F23BBC872801F983C1A3 /* ConstraintLayoutSupport.swift in Sources */,
+ D92AEF78B87F929D88D5C876ABBAD79A /* ConstraintLayoutSupportDSL.swift in Sources */,
+ 8640829049AE9907FE93825E5510C33D /* ConstraintMaker.swift in Sources */,
+ 0AD7A0DA8FF5880E3D8599062129AB12 /* ConstraintMakerEditable.swift in Sources */,
+ 6431218578A566C5EBF5FD166F164059 /* ConstraintMakerExtendable.swift in Sources */,
+ BF567AEFDD52DC43AC75122734D571E2 /* ConstraintMakerFinalizable.swift in Sources */,
+ 87996D11DC92EE19EAF9305DAEA4ACF2 /* ConstraintMakerPrioritizable.swift in Sources */,
+ 950B809760A8CE4375DCE1016FB9859F /* ConstraintMakerRelatable.swift in Sources */,
+ 15F68E09ADCDB843B938C490059485BD /* ConstraintMakerRelatable+Extensions.swift in Sources */,
+ 50E4E24710A4C5A77BE6594A10DFE773 /* ConstraintMultiplierTarget.swift in Sources */,
+ 56CD198002D3D45274F6719725B983CF /* ConstraintOffsetTarget.swift in Sources */,
+ EFC90283F9AB43BB6FF377812BD3673F /* ConstraintPriority.swift in Sources */,
+ 77D782DE125D322922466676E2FFA289 /* ConstraintPriorityTarget.swift in Sources */,
+ FFD7E1B8FA0F3960BE24DA2D20647332 /* ConstraintRelatableTarget.swift in Sources */,
+ F94703ED86C58DDBE5A2503D148CD040 /* ConstraintRelation.swift in Sources */,
+ 8868BA37E3CE7C58D26123806D543F3F /* ConstraintView.swift in Sources */,
+ C04DBE6AE13FC5CFD01D363A351EF76A /* ConstraintView+Extensions.swift in Sources */,
+ 0D665B6767B345D8C70D7E029A2A48D8 /* ConstraintViewDSL.swift in Sources */,
+ 1E7E37C51375285EA22294CD2ADB3159 /* Debugging.swift in Sources */,
+ 6E2884B29CD49EE91C48C725105F295A /* LayoutConstraint.swift in Sources */,
+ A35877DE0C3D6B4CF2A10E666EF5F490 /* LayoutConstraintItem.swift in Sources */,
+ 3DAFEDCDC5094007E329D71FE84FF704 /* SnapKit-dummy.m in Sources */,
+ 73F8AC99A58E5837924C056E89543B97 /* Typealiases.swift in Sources */,
+ 891D1BF14C8881C74262EE9DBE5D67A9 /* UILayoutSupport+Extensions.swift in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ B87B2676801F12A62F3C37B119796EFC /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 845C3A99ECD0DC86BB538557FBE915A3 /* Toast.swift in Sources */,
+ A23549F7CB0209D3AF14DF5CC302E9B7 /* Toast-Swift-dummy.m in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin PBXTargetDependency section */
+ 1851A67A6BE5192F540EE808F0B955AC /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ name = "Toast-Swift";
+ target = B990BD87169C76A3ED3FE8A9258D91A3 /* Toast-Swift */;
+ targetProxy = 29C3C4F752562CF20DAEFA2CF76A52DC /* PBXContainerItemProxy */;
+ };
+ 77FFC8013B75E4C7B842FF23D01AC4FC /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ name = IQKeyboardManagerSwift;
+ target = B490E7485944099E16C9CBD79119D1D4 /* IQKeyboardManagerSwift */;
+ targetProxy = 17B1D7D731CE352C4A42C90FB88EDF3E /* PBXContainerItemProxy */;
+ };
+ 87B6A69F293EFE709271F01FEFF7CF85 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ name = "SnapKit-SnapKit_Privacy";
+ target = 8A8DB685241263AFDF5E6B20FE67B93A /* SnapKit-SnapKit_Privacy */;
+ targetProxy = 417EECB4ED728C03E51E6C52D83B2612 /* PBXContainerItemProxy */;
+ };
+ A227A11ED491036506CA95356FF2AD07 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ name = SnapKit;
+ target = 19622742EBA51E823D6DAE3F8CDBFAD4 /* SnapKit */;
+ targetProxy = 78F142C3B4B12378D3E4AE6AE32AE59E /* PBXContainerItemProxy */;
+ };
+ A4C925584749CA52AEFABE3C7F64FC62 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ name = "IQKeyboardManagerSwift-IQKeyboardManagerSwift";
+ target = 982A68D37F5DCBC1FC1FDC0BB2F0EB8E /* IQKeyboardManagerSwift-IQKeyboardManagerSwift */;
+ targetProxy = 9D981AF9E00C2ADC17482C92A02195B1 /* PBXContainerItemProxy */;
+ };
+/* End PBXTargetDependency section */
+
+/* Begin XCBuildConfiguration section */
+ 133F504A150FD76FDCA6D3F3E0839CFA /* 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";
+ 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;
+ };
+ 2148B94556F3196EADD860D49171067B /* Debug */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = 6086BEFBFC4D1AE4AF5CE7BEFDABAA3E /* 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";
+ GCC_PREFIX_HEADER = "Target Support Files/Toast-Swift/Toast-Swift-prefix.pch";
+ 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_VERSION = 5.0;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ VERSIONING_SYSTEM = "apple-generic";
+ VERSION_INFO_PREFIX = "";
+ };
+ name = Debug;
+ };
+ 3A62CABE285E0512240BC2AAE19721B9 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = AEAE0095B094524A23C29A6F7F27E667 /* 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;
+ };
+ 3EAC414A99D32A43940D6C74459C7687 /* 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";
+ 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;
+ };
+ 523CFF66B25A5101DC3521326C2BBD07 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = F3E194AF34161D9686CE36DA4FA684C9 /* 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;
+ };
+ 5871F3F8AC0BB50833FD53CC80F9A033 /* Release */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = A262C6E67F33463A3EF63AB3B447CADE /* 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;
+ };
+ 68E80B7A647679C4F3205BAA7705A4CB /* Release */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = CF0BCC29761DC7E3F13B5D4721C5AE10 /* 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;
+ };
+ 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;
+ };
+ 984240AE6A3D535525200348828211E3 /* Release */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = CF0BCC29761DC7E3F13B5D4721C5AE10 /* 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";
+ GCC_PREFIX_HEADER = "Target Support Files/SnapKit/SnapKit-prefix.pch";
+ 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_VERSION = 5.0;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ VALIDATE_PRODUCT = YES;
+ VERSIONING_SYSTEM = "apple-generic";
+ VERSION_INFO_PREFIX = "";
+ };
+ name = Release;
+ };
+ 9C0B415A54C1C30F674208B8ADAB6C17 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = AEAE0095B094524A23C29A6F7F27E667 /* 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";
+ GCC_PREFIX_HEADER = "Target Support Files/SnapKit/SnapKit-prefix.pch";
+ 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_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;
+ };
+ A3FD62B6C4F1D46EEB0443A88C89D147 /* Release */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = 6840514330F765752CC8D40C118CEE6F /* 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";
+ GCC_PREFIX_HEADER = "Target Support Files/Toast-Swift/Toast-Swift-prefix.pch";
+ 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_VERSION = 5.0;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ VALIDATE_PRODUCT = YES;
+ VERSIONING_SYSTEM = "apple-generic";
+ VERSION_INFO_PREFIX = "";
+ };
+ name = Release;
+ };
+ B3CF11682A60F02B60820C17EE93D35E /* Debug */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = F3E194AF34161D9686CE36DA4FA684C9 /* 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";
+ GCC_PREFIX_HEADER = "Target Support Files/IQKeyboardManagerSwift/IQKeyboardManagerSwift-prefix.pch";
+ 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_VERSION = 5.9;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ VERSIONING_SYSTEM = "apple-generic";
+ VERSION_INFO_PREFIX = "";
+ };
+ name = Debug;
+ };
+ C15C4E31ADF19556825A2743AEF62A77 /* Release */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = A262C6E67F33463A3EF63AB3B447CADE /* 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";
+ GCC_PREFIX_HEADER = "Target Support Files/IQKeyboardManagerSwift/IQKeyboardManagerSwift-prefix.pch";
+ 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_VERSION = 5.9;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ VALIDATE_PRODUCT = YES;
+ VERSIONING_SYSTEM = "apple-generic";
+ VERSION_INFO_PREFIX = "";
+ };
+ name = Release;
+ };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+ 34709F7B15D710090F0631BFE07E8079 /* Build configuration list for PBXNativeTarget "IQKeyboardManagerSwift-IQKeyboardManagerSwift" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 523CFF66B25A5101DC3521326C2BBD07 /* Debug */,
+ 5871F3F8AC0BB50833FD53CC80F9A033 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ 38CBDB2D970538387FA12353C1E9FF6D /* Build configuration list for PBXNativeTarget "Toast-Swift" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 2148B94556F3196EADD860D49171067B /* Debug */,
+ A3FD62B6C4F1D46EEB0443A88C89D147 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ 397157E58CC1977C23EB745CC0C04035 /* Build configuration list for PBXNativeTarget "IQKeyboardManagerSwift" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ B3CF11682A60F02B60820C17EE93D35E /* Debug */,
+ C15C4E31ADF19556825A2743AEF62A77 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 8DE5143C03248BB6CD542DE3963D6F3A /* Debug */,
+ 9E406C6AAF85E580207CD97B0044DEAB /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ 4C4F25F04C086237315FCAEF7661357E /* Build configuration list for PBXNativeTarget "SnapKit" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 9C0B415A54C1C30F674208B8ADAB6C17 /* Debug */,
+ 984240AE6A3D535525200348828211E3 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ 73F486888E331EC63883CBEEAA758D0B /* Build configuration list for PBXNativeTarget "Pods-Example" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 3EAC414A99D32A43940D6C74459C7687 /* Debug */,
+ 133F504A150FD76FDCA6D3F3E0839CFA /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ D6794C4142EFF039C29C80DFB69CD756 /* Build configuration list for PBXNativeTarget "SnapKit-SnapKit_Privacy" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 3A62CABE285E0512240BC2AAE19721B9 /* Debug */,
+ 68E80B7A647679C4F3205BAA7705A4CB /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+/* End XCConfigurationList section */
+ };
+ rootObject = BFDFE7DC352907FC980B868725387E98 /* Project object */;
+}
diff --git a/document/MSVoiceChatSdk/Pods/SnapKit/LICENSE b/document/MSVoiceChatSdk/Pods/SnapKit/LICENSE
new file mode 100644
index 0000000..a18ccfb
--- /dev/null
+++ b/document/MSVoiceChatSdk/Pods/SnapKit/LICENSE
@@ -0,0 +1,19 @@
+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.
diff --git a/document/MSVoiceChatSdk/Pods/SnapKit/README.md b/document/MSVoiceChatSdk/Pods/SnapKit/README.md
new file mode 100644
index 0000000..e1be307
--- /dev/null
+++ b/document/MSVoiceChatSdk/Pods/SnapKit/README.md
@@ -0,0 +1,155 @@
+
+
+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 '' 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.
diff --git a/document/MSVoiceChatSdk/Pods/SnapKit/Sources/Constraint.swift b/document/MSVoiceChatSdk/Pods/SnapKit/Sources/Constraint.swift
new file mode 100644
index 0000000..b890152
--- /dev/null
+++ b/document/MSVoiceChatSdk/Pods/SnapKit/Sources/Constraint.swift
@@ -0,0 +1,341 @@
+//
+// 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])
+ }
+}
diff --git a/document/MSVoiceChatSdk/Pods/SnapKit/Sources/ConstraintAttributes.swift b/document/MSVoiceChatSdk/Pods/SnapKit/Sources/ConstraintAttributes.swift
new file mode 100644
index 0000000..c1a79c2
--- /dev/null
+++ b/document/MSVoiceChatSdk/Pods/SnapKit/Sources/ConstraintAttributes.swift
@@ -0,0 +1,203 @@
+//
+// 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
+}
diff --git a/document/MSVoiceChatSdk/Pods/SnapKit/Sources/ConstraintConfig.swift b/document/MSVoiceChatSdk/Pods/SnapKit/Sources/ConstraintConfig.swift
new file mode 100644
index 0000000..9bd0f23
--- /dev/null
+++ b/document/MSVoiceChatSdk/Pods/SnapKit/Sources/ConstraintConfig.swift
@@ -0,0 +1,37 @@
+//
+// 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
+
+}
diff --git a/document/MSVoiceChatSdk/Pods/SnapKit/Sources/ConstraintConstantTarget.swift b/document/MSVoiceChatSdk/Pods/SnapKit/Sources/ConstraintConstantTarget.swift
new file mode 100644
index 0000000..e16f503
--- /dev/null
+++ b/document/MSVoiceChatSdk/Pods/SnapKit/Sources/ConstraintConstantTarget.swift
@@ -0,0 +1,213 @@
+//
+// 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
+ }
+
+}
diff --git a/document/MSVoiceChatSdk/Pods/SnapKit/Sources/ConstraintDSL.swift b/document/MSVoiceChatSdk/Pods/SnapKit/Sources/ConstraintDSL.swift
new file mode 100644
index 0000000..5683b7f
--- /dev/null
+++ b/document/MSVoiceChatSdk/Pods/SnapKit/Sources/ConstraintDSL.swift
@@ -0,0 +1,209 @@
+//
+// 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)
+ }
+
+}
diff --git a/document/MSVoiceChatSdk/Pods/SnapKit/Sources/ConstraintDescription.swift b/document/MSVoiceChatSdk/Pods/SnapKit/Sources/ConstraintDescription.swift
new file mode 100644
index 0000000..b9d476c
--- /dev/null
+++ b/document/MSVoiceChatSdk/Pods/SnapKit/Sources/ConstraintDescription.swift
@@ -0,0 +1,69 @@
+//
+// 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
+ }
+
+}
diff --git a/document/MSVoiceChatSdk/Pods/SnapKit/Sources/ConstraintDirectionalInsetTarget.swift b/document/MSVoiceChatSdk/Pods/SnapKit/Sources/ConstraintDirectionalInsetTarget.swift
new file mode 100644
index 0000000..4c3c418
--- /dev/null
+++ b/document/MSVoiceChatSdk/Pods/SnapKit/Sources/ConstraintDirectionalInsetTarget.swift
@@ -0,0 +1,49 @@
+//
+// 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
diff --git a/document/MSVoiceChatSdk/Pods/SnapKit/Sources/ConstraintDirectionalInsets.swift b/document/MSVoiceChatSdk/Pods/SnapKit/Sources/ConstraintDirectionalInsets.swift
new file mode 100644
index 0000000..056b5c8
--- /dev/null
+++ b/document/MSVoiceChatSdk/Pods/SnapKit/Sources/ConstraintDirectionalInsets.swift
@@ -0,0 +1,34 @@
+//
+// 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
diff --git a/document/MSVoiceChatSdk/Pods/SnapKit/Sources/ConstraintInsetTarget.swift b/document/MSVoiceChatSdk/Pods/SnapKit/Sources/ConstraintInsetTarget.swift
new file mode 100644
index 0000000..43c0220
--- /dev/null
+++ b/document/MSVoiceChatSdk/Pods/SnapKit/Sources/ConstraintInsetTarget.swift
@@ -0,0 +1,72 @@
+//
+// 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)
+ }
+ }
+
+}
diff --git a/document/MSVoiceChatSdk/Pods/SnapKit/Sources/ConstraintInsets.swift b/document/MSVoiceChatSdk/Pods/SnapKit/Sources/ConstraintInsets.swift
new file mode 100644
index 0000000..64d781d
--- /dev/null
+++ b/document/MSVoiceChatSdk/Pods/SnapKit/Sources/ConstraintInsets.swift
@@ -0,0 +1,35 @@
+//
+// 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
diff --git a/document/MSVoiceChatSdk/Pods/SnapKit/Sources/ConstraintItem.swift b/document/MSVoiceChatSdk/Pods/SnapKit/Sources/ConstraintItem.swift
new file mode 100644
index 0000000..2f92221
--- /dev/null
+++ b/document/MSVoiceChatSdk/Pods/SnapKit/Sources/ConstraintItem.swift
@@ -0,0 +1,61 @@
+//
+// 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
+}
diff --git a/document/MSVoiceChatSdk/Pods/SnapKit/Sources/ConstraintLayoutGuide+Extensions.swift b/document/MSVoiceChatSdk/Pods/SnapKit/Sources/ConstraintLayoutGuide+Extensions.swift
new file mode 100644
index 0000000..e9fd9b3
--- /dev/null
+++ b/document/MSVoiceChatSdk/Pods/SnapKit/Sources/ConstraintLayoutGuide+Extensions.swift
@@ -0,0 +1,36 @@
+//
+// 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)
+ }
+
+}
diff --git a/document/MSVoiceChatSdk/Pods/SnapKit/Sources/ConstraintLayoutGuide.swift b/document/MSVoiceChatSdk/Pods/SnapKit/Sources/ConstraintLayoutGuide.swift
new file mode 100644
index 0000000..fd89556
--- /dev/null
+++ b/document/MSVoiceChatSdk/Pods/SnapKit/Sources/ConstraintLayoutGuide.swift
@@ -0,0 +1,37 @@
+//
+// 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
diff --git a/document/MSVoiceChatSdk/Pods/SnapKit/Sources/ConstraintLayoutGuideDSL.swift b/document/MSVoiceChatSdk/Pods/SnapKit/Sources/ConstraintLayoutGuideDSL.swift
new file mode 100644
index 0000000..7e78261
--- /dev/null
+++ b/document/MSVoiceChatSdk/Pods/SnapKit/Sources/ConstraintLayoutGuideDSL.swift
@@ -0,0 +1,66 @@
+//
+// 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
+
+ }
+
+}
diff --git a/document/MSVoiceChatSdk/Pods/SnapKit/Sources/ConstraintLayoutSupport.swift b/document/MSVoiceChatSdk/Pods/SnapKit/Sources/ConstraintLayoutSupport.swift
new file mode 100644
index 0000000..085f5cd
--- /dev/null
+++ b/document/MSVoiceChatSdk/Pods/SnapKit/Sources/ConstraintLayoutSupport.swift
@@ -0,0 +1,36 @@
+//
+// 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
diff --git a/document/MSVoiceChatSdk/Pods/SnapKit/Sources/ConstraintLayoutSupportDSL.swift b/document/MSVoiceChatSdk/Pods/SnapKit/Sources/ConstraintLayoutSupportDSL.swift
new file mode 100644
index 0000000..71e1158
--- /dev/null
+++ b/document/MSVoiceChatSdk/Pods/SnapKit/Sources/ConstraintLayoutSupportDSL.swift
@@ -0,0 +1,56 @@
+//
+// 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)
+ }
+}
diff --git a/document/MSVoiceChatSdk/Pods/SnapKit/Sources/ConstraintMaker.swift b/document/MSVoiceChatSdk/Pods/SnapKit/Sources/ConstraintMaker.swift
new file mode 100644
index 0000000..7c352f6
--- /dev/null
+++ b/document/MSVoiceChatSdk/Pods/SnapKit/Sources/ConstraintMaker.swift
@@ -0,0 +1,224 @@
+//
+// 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()
+ }
+ }
+
+}
diff --git a/document/MSVoiceChatSdk/Pods/SnapKit/Sources/ConstraintMakerEditable.swift b/document/MSVoiceChatSdk/Pods/SnapKit/Sources/ConstraintMakerEditable.swift
new file mode 100644
index 0000000..0e08e38
--- /dev/null
+++ b/document/MSVoiceChatSdk/Pods/SnapKit/Sources/ConstraintMakerEditable.swift
@@ -0,0 +1,64 @@
+//
+// 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
+}
diff --git a/document/MSVoiceChatSdk/Pods/SnapKit/Sources/ConstraintMakerExtendable.swift b/document/MSVoiceChatSdk/Pods/SnapKit/Sources/ConstraintMakerExtendable.swift
new file mode 100644
index 0000000..b30688e
--- /dev/null
+++ b/document/MSVoiceChatSdk/Pods/SnapKit/Sources/ConstraintMakerExtendable.swift
@@ -0,0 +1,195 @@
+//
+// 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
+ }
+
+}
diff --git a/document/MSVoiceChatSdk/Pods/SnapKit/Sources/ConstraintMakerFinalizable.swift b/document/MSVoiceChatSdk/Pods/SnapKit/Sources/ConstraintMakerFinalizable.swift
new file mode 100644
index 0000000..8342476
--- /dev/null
+++ b/document/MSVoiceChatSdk/Pods/SnapKit/Sources/ConstraintMakerFinalizable.swift
@@ -0,0 +1,49 @@
+//
+// 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!
+ }
+
+}
diff --git a/document/MSVoiceChatSdk/Pods/SnapKit/Sources/ConstraintMakerPrioritizable.swift b/document/MSVoiceChatSdk/Pods/SnapKit/Sources/ConstraintMakerPrioritizable.swift
new file mode 100644
index 0000000..05451e6
--- /dev/null
+++ b/document/MSVoiceChatSdk/Pods/SnapKit/Sources/ConstraintMakerPrioritizable.swift
@@ -0,0 +1,70 @@
+//
+// 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)
+ }
+}
diff --git a/document/MSVoiceChatSdk/Pods/SnapKit/Sources/ConstraintMakerRelatable+Extensions.swift b/document/MSVoiceChatSdk/Pods/SnapKit/Sources/ConstraintMakerRelatable+Extensions.swift
new file mode 100644
index 0000000..bfde272
--- /dev/null
+++ b/document/MSVoiceChatSdk/Pods/SnapKit/Sources/ConstraintMakerRelatable+Extensions.swift
@@ -0,0 +1,57 @@
+//
+// 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(_ 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