Compare commits

..

3 Commits

12 changed files with 530 additions and 517 deletions

View File

@ -72,6 +72,7 @@ class ConversationTableViewController: EnhancedTableViewController {
// separators are disabled on the table view so we can re-add them ourselves // separators are disabled on the table view so we can re-add them ourselves
// so they're not inserted in between statuses in the ame sub-thread // so they're not inserted in between statuses in the ame sub-thread
tableView.separatorStyle = .none tableView.separatorStyle = .none
tableView.cellLayoutMarginsFollowReadableWidth = true
dataSource = UITableViewDiffableDataSource<Section, Item>(tableView: tableView, cellProvider: { (tableView, indexPath, item) -> UITableViewCell? in dataSource = UITableViewDiffableDataSource<Section, Item>(tableView: tableView, cellProvider: { (tableView, indexPath, item) -> UITableViewCell? in
switch item { switch item {

View File

@ -28,13 +28,13 @@ class ExpandThreadTableViewCell: UITableViewCell {
threadLinkView.translatesAutoresizingMaskIntoConstraints = false threadLinkView.translatesAutoresizingMaskIntoConstraints = false
threadLinkView.backgroundColor = tintColor.withAlphaComponent(0.5) threadLinkView.backgroundColor = tintColor.withAlphaComponent(0.5)
threadLinkView.layer.cornerRadius = 2.5 threadLinkView.layer.cornerRadius = 2.5
addSubview(threadLinkView) contentView.addSubview(threadLinkView)
threadLinkViewFullHeightConstraint = threadLinkView.bottomAnchor.constraint(equalTo: bottomAnchor) threadLinkViewFullHeightConstraint = threadLinkView.bottomAnchor.constraint(equalTo: contentView.bottomAnchor)
threadLinkViewShortHeightConstraint = threadLinkView.bottomAnchor.constraint(equalTo: avatarContainerView.topAnchor, constant: -2) threadLinkViewShortHeightConstraint = threadLinkView.bottomAnchor.constraint(equalTo: avatarContainerView.topAnchor, constant: -2)
NSLayoutConstraint.activate([ NSLayoutConstraint.activate([
threadLinkView.widthAnchor.constraint(equalToConstant: 5), threadLinkView.widthAnchor.constraint(equalToConstant: 5),
threadLinkView.centerXAnchor.constraint(equalTo: leadingAnchor, constant: 25 + 16 /* system spacing */), threadLinkView.centerXAnchor.constraint(equalTo: contentView.layoutMarginsGuide.leadingAnchor, constant: 25),
threadLinkView.topAnchor.constraint(equalTo: topAnchor), threadLinkView.topAnchor.constraint(equalTo: contentView.topAnchor),
threadLinkViewFullHeightConstraint, threadLinkViewFullHeightConstraint,
]) ])

View File

@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="20037" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES"> <document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="21507" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
<device id="retina6_1" orientation="portrait" appearance="light"/> <device id="retina6_1" orientation="portrait" appearance="light"/>
<dependencies> <dependencies>
<deployment identifier="iOS"/> <deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="20020"/> <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="21505"/>
<capability name="Safe area layout guides" minToolsVersion="9.0"/> <capability name="Safe area layout guides" minToolsVersion="9.0"/>
<capability name="System colors in document resources" minToolsVersion="11.0"/> <capability name="System colors in document resources" minToolsVersion="11.0"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
@ -14,7 +14,7 @@
<tableViewCell contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" id="KGk-i7-Jjw" customClass="ExpandThreadTableViewCell" customModule="Tusker" customModuleProvider="target"> <tableViewCell contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" id="KGk-i7-Jjw" customClass="ExpandThreadTableViewCell" customModule="Tusker" customModuleProvider="target">
<rect key="frame" x="0.0" y="0.0" width="320" height="44"/> <rect key="frame" x="0.0" y="0.0" width="320" height="44"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="KGk-i7-Jjw" id="H2p-sc-9uM"> <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" layoutMarginsFollowReadableWidth="YES" tableViewCell="KGk-i7-Jjw" id="H2p-sc-9uM">
<rect key="frame" x="0.0" y="0.0" width="320" height="44"/> <rect key="frame" x="0.0" y="0.0" width="320" height="44"/>
<autoresizingMask key="autoresizingMask"/> <autoresizingMask key="autoresizingMask"/>
<subviews> <subviews>
@ -40,7 +40,7 @@
</constraints> </constraints>
</stackView> </stackView>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Kkt-hM-ScW"> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Kkt-hM-ScW">
<rect key="frame" x="16" y="43.5" width="304" height="0.5"/> <rect key="frame" x="16" y="43.5" width="288" height="0.5"/>
<color key="backgroundColor" systemColor="separatorColor"/> <color key="backgroundColor" systemColor="separatorColor"/>
<constraints> <constraints>
<constraint firstAttribute="height" constant="0.5" id="Fkq-bT-IYv"/> <constraint firstAttribute="height" constant="0.5" id="Fkq-bT-IYv"/>
@ -49,9 +49,9 @@
</subviews> </subviews>
<constraints> <constraints>
<constraint firstAttribute="bottom" secondItem="Kkt-hM-ScW" secondAttribute="bottom" id="AvY-H1-0YN"/> <constraint firstAttribute="bottom" secondItem="Kkt-hM-ScW" secondAttribute="bottom" id="AvY-H1-0YN"/>
<constraint firstItem="Kkt-hM-ScW" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="16" id="E5g-hz-SLI"/> <constraint firstItem="Kkt-hM-ScW" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leadingMargin" id="E5g-hz-SLI"/>
<constraint firstItem="IXi-sc-YIw" firstAttribute="top" secondItem="H2p-sc-9uM" secondAttribute="top" id="SRF-Zx-Y0R"/> <constraint firstItem="IXi-sc-YIw" firstAttribute="top" secondItem="H2p-sc-9uM" secondAttribute="top" id="SRF-Zx-Y0R"/>
<constraint firstAttribute="trailing" secondItem="Kkt-hM-ScW" secondAttribute="trailing" id="YML-R1-ezq"/> <constraint firstAttribute="trailingMargin" secondItem="Kkt-hM-ScW" secondAttribute="trailing" id="YML-R1-ezq"/>
<constraint firstItem="IXi-sc-YIw" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leadingMargin" id="iD5-Av-ORS"/> <constraint firstItem="IXi-sc-YIw" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leadingMargin" id="iD5-Av-ORS"/>
<constraint firstAttribute="bottom" secondItem="IXi-sc-YIw" secondAttribute="bottom" id="kpD-6Q-qKi"/> <constraint firstAttribute="bottom" secondItem="IXi-sc-YIw" secondAttribute="bottom" id="kpD-6Q-qKi"/>
</constraints> </constraints>

View File

@ -55,6 +55,7 @@ class NotificationsTableViewController: DiffableTimelineLikeTableViewController<
tableView.register(UINib(nibName: "PollFinishedTableViewCell", bundle: .main), forCellReuseIdentifier: pollCell) tableView.register(UINib(nibName: "PollFinishedTableViewCell", bundle: .main), forCellReuseIdentifier: pollCell)
tableView.register(UINib(nibName: "StatusUpdatedNotificationTableViewCell", bundle: .main), forCellReuseIdentifier: updatedCell) tableView.register(UINib(nibName: "StatusUpdatedNotificationTableViewCell", bundle: .main), forCellReuseIdentifier: updatedCell)
tableView.register(UINib(nibName: "BasicTableViewCell", bundle: .main), forCellReuseIdentifier: unknownCell) tableView.register(UINib(nibName: "BasicTableViewCell", bundle: .main), forCellReuseIdentifier: unknownCell)
tableView.cellLayoutMarginsFollowReadableWidth = true
} }
private func request(range: RequestRange) -> Request<[Pachyderm.Notification]> { private func request(range: RequestRange) -> Request<[Pachyderm.Notification]> {

View File

@ -353,15 +353,23 @@ class TimelineViewController: UIViewController, TimelineLikeCollectionViewContro
guard !unloaded.isEmpty else { guard !unloaded.isEmpty else {
return return
} }
await withTaskGroup(of: Void.self) { group in let statuses = await withTaskGroup(of: Status?.self) { group -> [Status] in
for id in unloaded { for id in unloaded {
group.addTask { @MainActor in group.addTask { @MainActor in
if let (status, _) = try? await self.mastodonController.run(Client.getStatus(id: id)) { if let (status, _) = try? await self.mastodonController.run(Client.getStatus(id: id)) {
self.mastodonController.persistentContainer.addOrUpdate(status: status) return status
} else {
return nil
} }
} }
} }
return await group.reduce(into: []) { partialResult, status in
if let status {
partialResult.append(status)
}
}
} }
await mastodonController.persistentContainer.addAll(statuses: statuses)
} }
private func applyItemsToRestore(position: TimelinePosition) { private func applyItemsToRestore(position: TimelinePosition) {

View File

@ -14,7 +14,7 @@
<tableViewCell contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" rowHeight="107" id="Pcu-ap-Xqf" customClass="FollowRequestNotificationTableViewCell" customModule="Tusker" customModuleProvider="target"> <tableViewCell contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" rowHeight="107" id="Pcu-ap-Xqf" customClass="FollowRequestNotificationTableViewCell" customModule="Tusker" customModuleProvider="target">
<rect key="frame" x="0.0" y="0.0" width="320" height="107"/> <rect key="frame" x="0.0" y="0.0" width="320" height="107"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="Pcu-ap-Xqf" id="Ulr-P8-MK9"> <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" layoutMarginsFollowReadableWidth="YES" tableViewCell="Pcu-ap-Xqf" id="Ulr-P8-MK9">
<rect key="frame" x="0.0" y="0.0" width="320" height="107"/> <rect key="frame" x="0.0" y="0.0" width="320" height="107"/>
<autoresizingMask key="autoresizingMask"/> <autoresizingMask key="autoresizingMask"/>
<subviews> <subviews>

View File

@ -14,7 +14,7 @@
<tableViewCell contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" rowHeight="102" id="KGk-i7-Jjw" customClass="PollFinishedTableViewCell" customModule="Tusker" customModuleProvider="target"> <tableViewCell contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" rowHeight="102" id="KGk-i7-Jjw" customClass="PollFinishedTableViewCell" customModule="Tusker" customModuleProvider="target">
<rect key="frame" x="0.0" y="0.0" width="320" height="102"/> <rect key="frame" x="0.0" y="0.0" width="320" height="102"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="KGk-i7-Jjw" id="H2p-sc-9uM"> <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" layoutMarginsFollowReadableWidth="YES" tableViewCell="KGk-i7-Jjw" id="H2p-sc-9uM">
<rect key="frame" x="0.0" y="0.0" width="320" height="102"/> <rect key="frame" x="0.0" y="0.0" width="320" height="102"/>
<autoresizingMask key="autoresizingMask"/> <autoresizingMask key="autoresizingMask"/>
<subviews> <subviews>
@ -66,7 +66,7 @@
</imageView> </imageView>
</subviews> </subviews>
<constraints> <constraints>
<constraint firstItem="cqi-cV-ejs" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="34" id="8hN-WG-IsT"/> <constraint firstItem="cqi-cV-ejs" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leadingMargin" constant="18" id="8hN-WG-IsT"/>
<constraint firstAttribute="bottomMargin" secondItem="eSw-Oo-Scy" secondAttribute="bottom" id="9Hx-wD-Rfx"/> <constraint firstAttribute="bottomMargin" secondItem="eSw-Oo-Scy" secondAttribute="bottom" id="9Hx-wD-Rfx"/>
<constraint firstItem="eSw-Oo-Scy" firstAttribute="top" secondItem="H2p-sc-9uM" secondAttribute="topMargin" id="CxC-Ch-JAx"/> <constraint firstItem="eSw-Oo-Scy" firstAttribute="top" secondItem="H2p-sc-9uM" secondAttribute="topMargin" id="CxC-Ch-JAx"/>
<constraint firstAttribute="trailingMargin" secondItem="eSw-Oo-Scy" secondAttribute="trailing" id="OPc-Wi-cHD"/> <constraint firstAttribute="trailingMargin" secondItem="eSw-Oo-Scy" secondAttribute="trailing" id="OPc-Wi-cHD"/>

View File

@ -5,257 +5,257 @@
<deployment identifier="iOS"/> <deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="21505"/> <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="21505"/>
<capability name="Image references" minToolsVersion="12.0"/> <capability name="Image references" minToolsVersion="12.0"/>
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
<capability name="System colors in document resources" minToolsVersion="11.0"/> <capability name="System colors in document resources" minToolsVersion="11.0"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies> </dependencies>
<objects> <objects>
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/> <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/> <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
<view contentMode="scaleToFill" id="iN0-l3-epB" customClass="ConversationMainStatusTableViewCell" customModule="Tusker" customModuleProvider="target"> <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="default" indentationWidth="10" rowHeight="304" id="IDI-ur-8pa" customClass="ConversationMainStatusTableViewCell" customModule="Tusker" customModuleProvider="target">
<rect key="frame" x="0.0" y="0.0" width="375" height="291"/> <rect key="frame" x="0.0" y="0.0" width="393" height="304"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> <autoresizingMask key="autoresizingMask"/>
<subviews> <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="IDI-ur-8pa" id="MkV-Jo-zuv">
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" alignment="top" spacing="8" translatesAutoresizingMaskIntoConstraints="NO" id="GuG-Qd-B8I"> <rect key="frame" x="0.0" y="0.0" width="393" height="304"/>
<rect key="frame" x="16" y="8" width="343" height="275"/> <autoresizingMask key="autoresizingMask"/>
<subviews> <subviews>
<view contentMode="scaleToFill" verticalHuggingPriority="249" translatesAutoresizingMaskIntoConstraints="NO" id="Cnd-Fj-B7l"> <stackView opaque="NO" contentMode="scaleToFill" axis="vertical" alignment="top" spacing="8" translatesAutoresizingMaskIntoConstraints="NO" id="GuG-Qd-B8I">
<rect key="frame" x="0.0" y="0.0" width="343" height="50"/> <rect key="frame" x="16" y="8" width="361" height="288"/>
<subviews> <subviews>
<imageView contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="mB9-HO-1vf"> <view contentMode="scaleToFill" verticalHuggingPriority="249" translatesAutoresizingMaskIntoConstraints="NO" id="Cnd-Fj-B7l">
<rect key="frame" x="0.0" y="0.0" width="50" height="50"/> <rect key="frame" x="0.0" y="0.0" width="361" height="50"/>
<constraints> <subviews>
<constraint firstAttribute="height" constant="50" id="XPF-UL-68q"/> <imageView contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="mB9-HO-1vf">
<constraint firstAttribute="width" constant="50" id="Yxp-Vr-dfl"/> <rect key="frame" x="0.0" y="0.0" width="50" height="50"/>
</constraints> <constraints>
</imageView> <constraint firstAttribute="height" constant="50" id="XPF-UL-68q"/>
<label opaque="NO" contentMode="left" horizontalHuggingPriority="249" verticalHuggingPriority="251" text="Display name" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumFontSize="12" adjustsLetterSpacingToFitWidth="YES" translatesAutoresizingMaskIntoConstraints="NO" id="lZY-2e-17d" customClass="EmojiLabel" customModule="Tusker" customModuleProvider="target"> <constraint firstAttribute="width" constant="50" id="Yxp-Vr-dfl"/>
<rect key="frame" x="58" y="0.0" width="146.5" height="29"/> </constraints>
<fontDescription key="fontDescription" type="system" weight="semibold" pointSize="24"/> </imageView>
<nil key="textColor"/> <label opaque="NO" contentMode="left" horizontalHuggingPriority="249" verticalHuggingPriority="251" text="Display name" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumFontSize="12" adjustsLetterSpacingToFitWidth="YES" translatesAutoresizingMaskIntoConstraints="NO" id="lZY-2e-17d" customClass="EmojiLabel" customModule="Tusker" customModuleProvider="target">
<nil key="highlightedColor"/> <rect key="frame" x="58" y="0.0" width="146.5" height="29"/>
</label> <fontDescription key="fontDescription" type="system" weight="semibold" pointSize="24"/>
<label opaque="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="@username" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="SWg-Ka-QyP"> <nil key="textColor"/>
<rect key="frame" x="58" y="29" width="285" height="20.5"/> <nil key="highlightedColor"/>
<fontDescription key="fontDescription" type="system" weight="light" pointSize="17"/> </label>
<color key="textColor" systemColor="secondaryLabelColor"/> <label opaque="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="@username" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="SWg-Ka-QyP">
<nil key="highlightedColor"/> <rect key="frame" x="58" y="29" width="303" height="20.5"/>
</label> <fontDescription key="fontDescription" type="system" weight="light" pointSize="17"/>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="xD6-dy-0XV" customClass="StatusMetaIndicatorsView" customModule="Tusker" customModuleProvider="target"> <color key="textColor" systemColor="secondaryLabelColor"/>
<rect key="frame" x="212.5" y="0.0" width="130.5" height="22"/> <nil key="highlightedColor"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> </label>
<constraints> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="xD6-dy-0XV" customClass="StatusMetaIndicatorsView" customModule="Tusker" customModuleProvider="target">
<constraint firstAttribute="height" constant="22" placeholder="YES" id="wF5-Ii-LO5"/> <rect key="frame" x="212.5" y="0.0" width="148.5" height="22"/>
</constraints> <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</view> <constraints>
</subviews> <constraint firstAttribute="height" constant="22" placeholder="YES" id="wF5-Ii-LO5"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> </constraints>
<constraints> </view>
<constraint firstAttribute="trailing" secondItem="SWg-Ka-QyP" secondAttribute="trailing" id="4g6-BT-eW4"/> </subviews>
<constraint firstItem="xD6-dy-0XV" firstAttribute="top" secondItem="Cnd-Fj-B7l" secondAttribute="top" id="7Io-sX-c9k"/> <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraint firstItem="lZY-2e-17d" firstAttribute="top" secondItem="Cnd-Fj-B7l" secondAttribute="top" id="8fU-y9-K5Z"/> <constraints>
<constraint firstItem="lZY-2e-17d" firstAttribute="leading" secondItem="mB9-HO-1vf" secondAttribute="trailing" constant="8" id="Aqj-co-Szp"/> <constraint firstAttribute="trailing" secondItem="SWg-Ka-QyP" secondAttribute="trailing" id="4g6-BT-eW4"/>
<constraint firstItem="xD6-dy-0XV" firstAttribute="leading" secondItem="lZY-2e-17d" secondAttribute="trailing" constant="8" id="PfV-YZ-k9j"/> <constraint firstItem="xD6-dy-0XV" firstAttribute="top" secondItem="Cnd-Fj-B7l" secondAttribute="top" id="7Io-sX-c9k"/>
<constraint firstItem="mB9-HO-1vf" firstAttribute="top" secondItem="Cnd-Fj-B7l" secondAttribute="top" id="R7P-rD-Gbm"/> <constraint firstItem="lZY-2e-17d" firstAttribute="top" secondItem="Cnd-Fj-B7l" secondAttribute="top" id="8fU-y9-K5Z"/>
<constraint firstAttribute="bottom" secondItem="mB9-HO-1vf" secondAttribute="bottom" id="Wd0-Qh-idS"/> <constraint firstItem="lZY-2e-17d" firstAttribute="leading" secondItem="mB9-HO-1vf" secondAttribute="trailing" constant="8" id="Aqj-co-Szp"/>
<constraint firstItem="mB9-HO-1vf" firstAttribute="leading" secondItem="Cnd-Fj-B7l" secondAttribute="leading" id="bxq-Fs-1aH"/> <constraint firstItem="xD6-dy-0XV" firstAttribute="leading" secondItem="lZY-2e-17d" secondAttribute="trailing" constant="8" id="PfV-YZ-k9j"/>
<constraint firstItem="SWg-Ka-QyP" firstAttribute="leading" secondItem="mB9-HO-1vf" secondAttribute="trailing" constant="8" id="e45-gE-myI"/> <constraint firstItem="mB9-HO-1vf" firstAttribute="top" secondItem="Cnd-Fj-B7l" secondAttribute="top" id="R7P-rD-Gbm"/>
<constraint firstItem="SWg-Ka-QyP" firstAttribute="top" secondItem="lZY-2e-17d" secondAttribute="bottom" id="lvX-1b-8cN"/> <constraint firstAttribute="bottom" secondItem="mB9-HO-1vf" secondAttribute="bottom" id="Wd0-Qh-idS"/>
<constraint firstAttribute="trailing" secondItem="xD6-dy-0XV" secondAttribute="trailing" id="tfq-dR-UT7"/> <constraint firstItem="mB9-HO-1vf" firstAttribute="leading" secondItem="Cnd-Fj-B7l" secondAttribute="leading" id="bxq-Fs-1aH"/>
</constraints> <constraint firstItem="SWg-Ka-QyP" firstAttribute="leading" secondItem="mB9-HO-1vf" secondAttribute="trailing" constant="8" id="e45-gE-myI"/>
</view> <constraint firstItem="SWg-Ka-QyP" firstAttribute="top" secondItem="lZY-2e-17d" secondAttribute="bottom" id="lvX-1b-8cN"/>
<label opaque="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="252" verticalCompressionResistancePriority="751" text="Content Warning" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="cwQ-mR-L1b" customClass="EmojiLabel" customModule="Tusker" customModuleProvider="target"> <constraint firstAttribute="trailing" secondItem="xD6-dy-0XV" secondAttribute="trailing" id="tfq-dR-UT7"/>
<rect key="frame" x="0.0" y="58" width="343" height="20.5"/> </constraints>
<accessibility key="accessibilityConfiguration"> </view>
<accessibilityTraits key="traits" staticText="YES" notEnabled="YES"/> <label opaque="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="252" verticalCompressionResistancePriority="751" text="Content Warning" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="cwQ-mR-L1b" customClass="EmojiLabel" customModule="Tusker" customModuleProvider="target">
</accessibility> <rect key="frame" x="0.0" y="58" width="361" height="20.5"/>
<fontDescription key="fontDescription" type="boldSystem" pointSize="17"/> <accessibility key="accessibilityConfiguration">
<color key="textColor" systemColor="secondaryLabelColor"/> <accessibilityTraits key="traits" staticText="YES" notEnabled="YES"/>
<nil key="highlightedColor"/> </accessibility>
</label> <fontDescription key="fontDescription" type="boldSystem" pointSize="17"/>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="8r8-O8-Agh" customClass="StatusCollapseButton" customModule="Tusker" customModuleProvider="target"> <color key="textColor" systemColor="secondaryLabelColor"/>
<rect key="frame" x="0.0" y="86.5" width="343" height="30"/> <nil key="highlightedColor"/>
<color key="backgroundColor" systemColor="systemBlueColor"/> </label>
<constraints> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="8r8-O8-Agh" customClass="StatusCollapseButton" customModule="Tusker" customModuleProvider="target">
<constraint firstAttribute="height" constant="30" id="icD-3q-uJ6"/> <rect key="frame" x="0.0" y="86.5" width="361" height="30"/>
</constraints> <color key="backgroundColor" systemColor="systemBlueColor"/>
<color key="tintColor" systemColor="systemBackgroundColor"/> <constraints>
<state key="normal" image="chevron.down" catalog="system"> <constraint firstAttribute="height" constant="30" id="icD-3q-uJ6"/>
<preferredSymbolConfiguration key="preferredSymbolConfiguration" scale="large"/> </constraints>
</state> <color key="tintColor" systemColor="systemBackgroundColor"/>
<connections> <state key="normal" image="chevron.down" catalog="system">
<action selector="collapseButtonPressed" destination="iN0-l3-epB" eventType="touchUpInside" id="2Jy-L1-lN6"/> <preferredSymbolConfiguration key="preferredSymbolConfiguration" scale="large"/>
</connections> </state>
</button> <connections>
<textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" verticalCompressionResistancePriority="749" scrollEnabled="NO" delaysContentTouches="NO" editable="NO" translatesAutoresizingMaskIntoConstraints="NO" id="z0g-HN-gS0" customClass="StatusContentTextView" customModule="Tusker" customModuleProvider="target"> <action selector="collapseButtonPressed" destination="IDI-ur-8pa" eventType="touchUpInside" id="00b-nM-U5g"/>
<rect key="frame" x="0.0" y="124.5" width="343" height="0.0"/> </connections>
<string key="text">Lorem ipsum dolor sit er elit lamet, consectetaur cillium adipisicing pecu, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Nam liber te conscient to factor tum poen legum odioque civiuda.</string> </button>
<color key="textColor" systemColor="labelColor"/> <textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" verticalCompressionResistancePriority="749" scrollEnabled="NO" delaysContentTouches="NO" editable="NO" translatesAutoresizingMaskIntoConstraints="NO" id="z0g-HN-gS0" customClass="StatusContentTextView" customModule="Tusker" customModuleProvider="target">
<fontDescription key="fontDescription" type="system" pointSize="20"/> <rect key="frame" x="0.0" y="124.5" width="361" height="2.5"/>
<textInputTraits key="textInputTraits" autocapitalizationType="sentences"/> <string key="text">Lorem ipsum dolor sit er elit lamet, consectetaur cillium adipisicing pecu, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Nam liber te conscient to factor tum poen legum odioque civiuda.</string>
</textView> <color key="textColor" systemColor="labelColor"/>
<view hidden="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="QqC-GR-TLC" customClass="StatusCardView" customModule="Tusker" customModuleProvider="target"> <fontDescription key="fontDescription" type="system" pointSize="20"/>
<rect key="frame" x="0.0" y="128.5" width="343" height="0.0"/> <textInputTraits key="textInputTraits" autocapitalizationType="sentences"/>
<color key="backgroundColor" systemColor="systemBackgroundColor"/> </textView>
<constraints> <view hidden="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="QqC-GR-TLC" customClass="StatusCardView" customModule="Tusker" customModuleProvider="target">
<constraint firstAttribute="height" priority="999" constant="65" id="Tdo-Hv-ITE"/> <rect key="frame" x="0.0" y="131" width="361" height="0.0"/>
</constraints> <color key="backgroundColor" systemColor="systemBackgroundColor"/>
</view> <constraints>
<view hidden="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="IF9-9U-Gk0" customClass="AttachmentsContainerView" customModule="Tusker" customModuleProvider="target"> <constraint firstAttribute="height" priority="999" constant="65" id="Tdo-Hv-ITE"/>
<rect key="frame" x="0.0" y="128.5" width="343" height="0.0"/> </constraints>
<color key="backgroundColor" systemColor="secondarySystemBackgroundColor"/> </view>
</view> <view hidden="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="IF9-9U-Gk0" customClass="AttachmentsContainerView" customModule="Tusker" customModuleProvider="target">
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="TLv-Xu-tT1" customClass="StatusPollView" customModule="Tusker" customModuleProvider="target"> <rect key="frame" x="0.0" y="131" width="361" height="0.0"/>
<rect key="frame" x="0.0" y="132.5" width="343" height="39.5"/> <color key="backgroundColor" systemColor="secondarySystemBackgroundColor"/>
<color key="backgroundColor" systemColor="systemBackgroundColor"/> </view>
</view> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="TLv-Xu-tT1" customClass="StatusPollView" customModule="Tusker" customModuleProvider="target">
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="ejU-sO-Og5"> <rect key="frame" x="0.0" y="135" width="361" height="50"/>
<rect key="frame" x="0.0" y="180" width="343" height="0.5"/> <color key="backgroundColor" systemColor="systemBackgroundColor"/>
<color key="backgroundColor" systemColor="opaqueSeparatorColor"/> </view>
<constraints> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="ejU-sO-Og5">
<constraint firstAttribute="height" constant="0.5" id="DRI-lB-TyG"/> <rect key="frame" x="0.0" y="193" width="361" height="0.5"/>
</constraints> <color key="backgroundColor" systemColor="opaqueSeparatorColor"/>
</view> <constraints>
<stackView opaque="NO" contentMode="scaleToFill" spacing="8" translatesAutoresizingMaskIntoConstraints="NO" id="HZv-qj-gi6"> <constraint firstAttribute="height" constant="0.5" id="DRI-lB-TyG"/>
<rect key="frame" x="0.0" y="188.5" width="142" height="18"/> </constraints>
<subviews> </view>
<button opaque="NO" contentMode="scaleToFill" verticalHuggingPriority="252" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" pointerInteraction="YES" translatesAutoresizingMaskIntoConstraints="NO" id="yyj-Bs-Vjq"> <stackView opaque="NO" contentMode="scaleToFill" spacing="8" translatesAutoresizingMaskIntoConstraints="NO" id="HZv-qj-gi6">
<rect key="frame" x="0.0" y="0.0" width="75" height="18"/> <rect key="frame" x="0.0" y="201.5" width="142" height="18"/>
<constraints> <subviews>
<constraint firstAttribute="height" constant="18" id="F9W-LW-swd"/> <button opaque="NO" contentMode="scaleToFill" verticalHuggingPriority="252" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" pointerInteraction="YES" translatesAutoresizingMaskIntoConstraints="NO" id="yyj-Bs-Vjq">
</constraints> <rect key="frame" x="0.0" y="0.0" width="75" height="18"/>
<state key="normal" title="2 Favorites"> <constraints>
<color key="titleColor" systemColor="secondaryLabelColor"/> <constraint firstAttribute="height" constant="18" id="F9W-LW-swd"/>
</state> </constraints>
<connections> <state key="normal" title="2 Favorites">
<action selector="totalFavoritesPressed" destination="iN0-l3-epB" eventType="touchUpInside" id="D3Y-YB-bqP"/> <color key="titleColor" systemColor="secondaryLabelColor"/>
</connections> </state>
</button> <connections>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" pointerInteraction="YES" translatesAutoresizingMaskIntoConstraints="NO" id="dem-vG-cPB"> <action selector="totalFavoritesPressed" destination="IDI-ur-8pa" eventType="touchUpInside" id="QEe-yA-n91"/>
<rect key="frame" x="83" y="0.0" width="59" height="18"/> </connections>
<constraints> </button>
<constraint firstAttribute="height" constant="18" id="k0P-W7-wMF"/> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" pointerInteraction="YES" translatesAutoresizingMaskIntoConstraints="NO" id="dem-vG-cPB">
</constraints> <rect key="frame" x="83" y="0.0" width="59" height="18"/>
<state key="normal" title="1 Reblog"> <constraints>
<color key="titleColor" systemColor="secondaryLabelColor"/> <constraint firstAttribute="height" constant="18" id="k0P-W7-wMF"/>
</state> </constraints>
<connections> <state key="normal" title="1 Reblog">
<action selector="totalReblogsPressed" destination="iN0-l3-epB" eventType="touchUpInside" id="WG3-nQ-jgr"/> <color key="titleColor" systemColor="secondaryLabelColor"/>
</connections> </state>
</button> <connections>
</subviews> <action selector="totalReblogsPressed" destination="IDI-ur-8pa" eventType="touchUpInside" id="Rmo-Mm-z1A"/>
</stackView> </connections>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Sep 7, 2019 12:12:53 PM • Web" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="YHN-wG-YWi"> </button>
<rect key="frame" x="0.0" y="214.5" width="213.5" height="18"/> </subviews>
<accessibility key="accessibilityConfiguration"> </stackView>
<accessibilityTraits key="traits" staticText="YES" notEnabled="YES"/> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Sep 7, 2019 12:12:53 PM • Web" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="YHN-wG-YWi">
</accessibility> <rect key="frame" x="0.0" y="227.5" width="213.5" height="18"/>
<fontDescription key="fontDescription" type="system" pointSize="15"/> <accessibility key="accessibilityConfiguration">
<color key="textColor" systemColor="secondaryLabelColor"/> <accessibilityTraits key="traits" staticText="YES" notEnabled="YES"/>
<nil key="highlightedColor"/> </accessibility>
</label> <fontDescription key="fontDescription" type="system" pointSize="15"/>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="3Fp-Nj-sVj"> <color key="textColor" systemColor="secondaryLabelColor"/>
<rect key="frame" x="0.0" y="240.5" width="343" height="0.5"/> <nil key="highlightedColor"/>
<color key="backgroundColor" systemColor="opaqueSeparatorColor"/> </label>
<constraints> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="3Fp-Nj-sVj">
<constraint firstAttribute="height" constant="0.5" id="akf-Kl-8mK"/> <rect key="frame" x="0.0" y="253.5" width="361" height="0.5"/>
</constraints> <color key="backgroundColor" systemColor="opaqueSeparatorColor"/>
</view> <constraints>
<stackView opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" distribution="fillEqually" translatesAutoresizingMaskIntoConstraints="NO" id="3Bg-XP-d13"> <constraint firstAttribute="height" constant="0.5" id="akf-Kl-8mK"/>
<rect key="frame" x="0.0" y="249" width="343" height="26"/> </constraints>
<subviews> </view>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" pointerInteraction="YES" translatesAutoresizingMaskIntoConstraints="NO" id="2cc-lE-AdG"> <stackView opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" distribution="fillEqually" translatesAutoresizingMaskIntoConstraints="NO" id="3Bg-XP-d13">
<rect key="frame" x="0.0" y="0.0" width="86" height="26"/> <rect key="frame" x="0.0" y="262" width="361" height="26"/>
<accessibility key="accessibilityConfiguration" label="Reply"/> <subviews>
<state key="normal"> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" pointerInteraction="YES" translatesAutoresizingMaskIntoConstraints="NO" id="2cc-lE-AdG">
<imageReference key="image" image="arrowshape.turn.up.left.fill" catalog="system" symbolScale="large"/> <rect key="frame" x="0.0" y="0.0" width="90.5" height="26"/>
</state> <accessibility key="accessibilityConfiguration" label="Reply"/>
<connections> <state key="normal">
<action selector="replyPressed" destination="iN0-l3-epB" eventType="touchUpInside" id="RxZ-zv-lkN"/> <imageReference key="image" image="arrowshape.turn.up.left.fill" catalog="system" symbolScale="large"/>
</connections> </state>
</button> <connections>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" pointerInteraction="YES" translatesAutoresizingMaskIntoConstraints="NO" id="DhN-rJ-jdA"> <action selector="replyPressed" destination="IDI-ur-8pa" eventType="touchUpInside" id="Wic-n9-0Tt"/>
<rect key="frame" x="86" y="0.0" width="85.5" height="26"/> </connections>
<accessibility key="accessibilityConfiguration" label="Favorite"/> </button>
<state key="normal"> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" pointerInteraction="YES" translatesAutoresizingMaskIntoConstraints="NO" id="DhN-rJ-jdA">
<imageReference key="image" image="star.fill" catalog="system" symbolScale="large"/> <rect key="frame" x="90.5" y="0.0" width="90" height="26"/>
</state> <accessibility key="accessibilityConfiguration" label="Favorite"/>
<connections> <state key="normal">
<action selector="favoritePressed" destination="iN0-l3-epB" eventType="touchUpInside" id="NCA-iR-VMt"/> <imageReference key="image" image="star.fill" catalog="system" symbolScale="large"/>
</connections> </state>
</button> <connections>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" pointerInteraction="YES" translatesAutoresizingMaskIntoConstraints="NO" id="GUG-f7-Hdy"> <action selector="favoritePressed" destination="IDI-ur-8pa" eventType="touchUpInside" id="GjO-Fw-3tF"/>
<rect key="frame" x="171.5" y="0.0" width="86" height="26"/> </connections>
<accessibility key="accessibilityConfiguration" label="Reblog"/> </button>
<state key="normal"> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" pointerInteraction="YES" translatesAutoresizingMaskIntoConstraints="NO" id="GUG-f7-Hdy">
<imageReference key="image" image="repeat" catalog="system" symbolScale="large"/> <rect key="frame" x="180.5" y="0.0" width="90.5" height="26"/>
</state> <accessibility key="accessibilityConfiguration" label="Reblog"/>
<connections> <state key="normal">
<action selector="reblogPressed" destination="iN0-l3-epB" eventType="touchUpInside" id="iIu-Vv-U0I"/> <imageReference key="image" image="repeat" catalog="system" symbolScale="large"/>
</connections> </state>
</button> <connections>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" pointerInteraction="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Ujo-Ap-dmK"> <action selector="reblogPressed" destination="IDI-ur-8pa" eventType="touchUpInside" id="iLg-O3-i33"/>
<rect key="frame" x="257.5" y="0.0" width="85.5" height="26"/> </connections>
<accessibility key="accessibilityConfiguration" label="More Actions"/> </button>
<state key="normal"> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" pointerInteraction="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Ujo-Ap-dmK">
<imageReference key="image" image="ellipsis" catalog="system" symbolScale="large"/> <rect key="frame" x="271" y="0.0" width="90" height="26"/>
</state> <accessibility key="accessibilityConfiguration" label="More Actions"/>
<connections> <state key="normal">
<action selector="morePressed" destination="iN0-l3-epB" eventType="touchUpInside" id="1vn-0k-gYi"/> <imageReference key="image" image="ellipsis" catalog="system" symbolScale="large"/>
</connections> </state>
</button> <connections>
</subviews> <action selector="morePressed" destination="IDI-ur-8pa" eventType="touchUpInside" id="JNt-fh-WYW"/>
<constraints> </connections>
<constraint firstAttribute="height" constant="26" id="bqe-m8-5Lo"/> </button>
</constraints> </subviews>
</stackView> <constraints>
</subviews> <constraint firstAttribute="height" constant="26" id="bqe-m8-5Lo"/>
<constraints> </constraints>
<constraint firstItem="QqC-GR-TLC" firstAttribute="width" secondItem="GuG-Qd-B8I" secondAttribute="width" id="2WL-jD-I09"/> </stackView>
<constraint firstItem="Cnd-Fj-B7l" firstAttribute="width" secondItem="GuG-Qd-B8I" secondAttribute="width" id="2hS-RG-81T"/> </subviews>
<constraint firstItem="z0g-HN-gS0" firstAttribute="width" secondItem="GuG-Qd-B8I" secondAttribute="width" id="4TF-2Z-mdf"/> <constraints>
<constraint firstItem="IF9-9U-Gk0" firstAttribute="width" secondItem="GuG-Qd-B8I" secondAttribute="width" id="8A8-wi-7sg"/> <constraint firstItem="QqC-GR-TLC" firstAttribute="width" secondItem="GuG-Qd-B8I" secondAttribute="width" id="2WL-jD-I09"/>
<constraint firstItem="cwQ-mR-L1b" firstAttribute="width" secondItem="GuG-Qd-B8I" secondAttribute="width" id="O32-3Q-mUs"/> <constraint firstItem="Cnd-Fj-B7l" firstAttribute="width" secondItem="GuG-Qd-B8I" secondAttribute="width" id="2hS-RG-81T"/>
<constraint firstItem="8r8-O8-Agh" firstAttribute="width" secondItem="GuG-Qd-B8I" secondAttribute="width" id="bZv-bR-jJ3"/> <constraint firstItem="z0g-HN-gS0" firstAttribute="width" secondItem="GuG-Qd-B8I" secondAttribute="width" id="4TF-2Z-mdf"/>
<constraint firstItem="ejU-sO-Og5" firstAttribute="width" secondItem="GuG-Qd-B8I" secondAttribute="width" id="biK-oQ-SLy"/> <constraint firstItem="IF9-9U-Gk0" firstAttribute="width" secondItem="GuG-Qd-B8I" secondAttribute="width" id="8A8-wi-7sg"/>
<constraint firstItem="3Bg-XP-d13" firstAttribute="width" secondItem="GuG-Qd-B8I" secondAttribute="width" id="iIq-gh-90O"/> <constraint firstItem="cwQ-mR-L1b" firstAttribute="width" secondItem="GuG-Qd-B8I" secondAttribute="width" id="O32-3Q-mUs"/>
<constraint firstItem="3Fp-Nj-sVj" firstAttribute="width" secondItem="GuG-Qd-B8I" secondAttribute="width" id="kfI-WN-ouW"/> <constraint firstItem="8r8-O8-Agh" firstAttribute="width" secondItem="GuG-Qd-B8I" secondAttribute="width" id="bZv-bR-jJ3"/>
<constraint firstItem="TLv-Xu-tT1" firstAttribute="width" secondItem="GuG-Qd-B8I" secondAttribute="width" id="v87-hd-fd4"/> <constraint firstItem="ejU-sO-Og5" firstAttribute="width" secondItem="GuG-Qd-B8I" secondAttribute="width" id="biK-oQ-SLy"/>
</constraints> <constraint firstItem="3Bg-XP-d13" firstAttribute="width" secondItem="GuG-Qd-B8I" secondAttribute="width" id="iIq-gh-90O"/>
</stackView> <constraint firstItem="3Fp-Nj-sVj" firstAttribute="width" secondItem="GuG-Qd-B8I" secondAttribute="width" id="kfI-WN-ouW"/>
</subviews> <constraint firstItem="TLv-Xu-tT1" firstAttribute="width" secondItem="GuG-Qd-B8I" secondAttribute="width" id="v87-hd-fd4"/>
<viewLayoutGuide key="safeArea" id="vUN-kp-3ea"/> </constraints>
<color key="backgroundColor" systemColor="systemBackgroundColor"/> </stackView>
<constraints> </subviews>
<constraint firstItem="vUN-kp-3ea" firstAttribute="bottom" secondItem="GuG-Qd-B8I" secondAttribute="bottom" constant="8" id="2F3-0f-0tC"/> <constraints>
<constraint firstItem="GuG-Qd-B8I" firstAttribute="leading" secondItem="vUN-kp-3ea" secondAttribute="leading" constant="16" id="PFH-TI-ZQ9"/> <constraint firstAttribute="trailingMargin" secondItem="GuG-Qd-B8I" secondAttribute="trailing" id="GP2-Xt-d67"/>
<constraint firstItem="vUN-kp-3ea" firstAttribute="trailing" secondItem="GuG-Qd-B8I" secondAttribute="trailing" constant="16" id="WpU-W0-YkL"/> <constraint firstAttribute="bottom" secondItem="GuG-Qd-B8I" secondAttribute="bottom" constant="8" id="Il3-lH-xux"/>
<constraint firstItem="GuG-Qd-B8I" firstAttribute="top" secondItem="vUN-kp-3ea" secondAttribute="top" constant="8" id="oMG-LP-HUD"/> <constraint firstItem="GuG-Qd-B8I" firstAttribute="leading" secondItem="MkV-Jo-zuv" secondAttribute="leadingMargin" id="irk-Qi-Wqw"/>
</constraints> <constraint firstItem="GuG-Qd-B8I" firstAttribute="top" secondItem="MkV-Jo-zuv" secondAttribute="top" constant="8" id="w4H-TR-7gK"/>
<freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/> </constraints>
</tableViewCellContentView>
<connections> <connections>
<outlet property="attachmentsView" destination="IF9-9U-Gk0" id="Oxw-sJ-MJE"/> <outlet property="attachmentsView" destination="IF9-9U-Gk0" id="UeF-4a-G6k"/>
<outlet property="avatarImageView" destination="mB9-HO-1vf" id="0R0-rt-Osh"/> <outlet property="avatarImageView" destination="mB9-HO-1vf" id="GAt-8i-MIE"/>
<outlet property="cardView" destination="QqC-GR-TLC" id="CWR-fH-IfE"/> <outlet property="cardView" destination="QqC-GR-TLC" id="gkB-5d-ute"/>
<outlet property="collapseButton" destination="8r8-O8-Agh" id="0es-Hi-bpt"/> <outlet property="collapseButton" destination="8r8-O8-Agh" id="kLb-x0-Qx9"/>
<outlet property="contentTextView" destination="z0g-HN-gS0" id="atk-1f-83e"/> <outlet property="contentTextView" destination="z0g-HN-gS0" id="ILZ-WW-zbU"/>
<outlet property="contentWarningLabel" destination="cwQ-mR-L1b" id="5sm-PC-FIN"/> <outlet property="contentWarningLabel" destination="cwQ-mR-L1b" id="JN1-VC-Fql"/>
<outlet property="displayNameLabel" destination="lZY-2e-17d" id="7og-23-eHy"/> <outlet property="displayNameLabel" destination="lZY-2e-17d" id="FFF-kc-1q2"/>
<outlet property="favoriteAndReblogCountStackView" destination="HZv-qj-gi6" id="jC9-cA-dXg"/> <outlet property="favoriteAndReblogCountStackView" destination="HZv-qj-gi6" id="KGA-as-022"/>
<outlet property="favoriteButton" destination="DhN-rJ-jdA" id="b2Q-ch-kSP"/> <outlet property="favoriteButton" destination="DhN-rJ-jdA" id="f6b-VR-dsA"/>
<outlet property="metaIndicatorsView" destination="xD6-dy-0XV" id="Smp-ox-cvj"/> <outlet property="metaIndicatorsView" destination="xD6-dy-0XV" id="sx9-Pf-Qox"/>
<outlet property="moreButton" destination="Ujo-Ap-dmK" id="2ba-5w-HDx"/> <outlet property="moreButton" destination="Ujo-Ap-dmK" id="tBm-jm-2FR"/>
<outlet property="pollView" destination="TLv-Xu-tT1" id="hJX-YD-lNr"/> <outlet property="pollView" destination="TLv-Xu-tT1" id="l9J-Tv-ndf"/>
<outlet property="profileDetailContainerView" destination="Cnd-Fj-B7l" id="wco-VB-VQx"/> <outlet property="profileDetailContainerView" destination="Cnd-Fj-B7l" id="32j-B2-ueG"/>
<outlet property="reblogButton" destination="GUG-f7-Hdy" id="WtT-Ph-DQm"/> <outlet property="reblogButton" destination="GUG-f7-Hdy" id="ZRh-Qy-HXG"/>
<outlet property="replyButton" destination="2cc-lE-AdG" id="My8-JV-Nho"/> <outlet property="replyButton" destination="2cc-lE-AdG" id="EBZ-RJ-Qbp"/>
<outlet property="timestampAndClientLabel" destination="YHN-wG-YWi" id="Onb-fe-qwG"/> <outlet property="timestampAndClientLabel" destination="YHN-wG-YWi" id="ewe-Ad-dYR"/>
<outlet property="totalFavoritesButton" destination="yyj-Bs-Vjq" id="4pV-Qi-Z2X"/> <outlet property="totalFavoritesButton" destination="yyj-Bs-Vjq" id="m4k-RB-lM0"/>
<outlet property="totalReblogsButton" destination="dem-vG-cPB" id="i9E-Qn-d76"/> <outlet property="totalReblogsButton" destination="dem-vG-cPB" id="AHj-6A-5qm"/>
<outlet property="usernameLabel" destination="SWg-Ka-QyP" id="h2I-g4-AD9"/> <outlet property="usernameLabel" destination="SWg-Ka-QyP" id="OFL-Sc-OQX"/>
</connections> </connections>
<point key="canvasLocation" x="40.799999999999997" y="-122.78860569715144"/> <point key="canvasLocation" x="-631.20000000000005" y="-109.74512743628186"/>
</view> </tableViewCell>
</objects> </objects>
<resources> <resources>
<image name="arrowshape.turn.up.left.fill" catalog="system" width="128" height="104"/> <image name="arrowshape.turn.up.left.fill" catalog="system" width="128" height="104"/>

View File

@ -152,6 +152,7 @@ class StatusCardView: UIView {
imageRequest = ImageCache.attachments.get(URL(imageURL)!, completion: { (_, image) in imageRequest = ImageCache.attachments.get(URL(imageURL)!, completion: { (_, image) in
guard let image = image, guard let image = image,
self.card?.image == imageURL,
let transformedImage = ImageGrayscalifier.convertIfNecessary(url: URL(imageURL)!, image: image) else { let transformedImage = ImageGrayscalifier.convertIfNecessary(url: URL(imageURL)!, image: image) else {
return return
} }

View File

@ -495,8 +495,8 @@ class TimelineStatusCollectionViewCell: UICollectionViewListCell, StatusCollecti
filteredLabel.removeFromSuperview() filteredLabel.removeFromSuperview()
contentView.addSubview(statusContainer) contentView.addSubview(statusContainer)
NSLayoutConstraint.activate([ NSLayoutConstraint.activate([
statusContainer.leadingAnchor.constraint(equalTo: contentView.leadingAnchor), statusContainer.leadingAnchor.constraint(equalTo: UIDevice.current.userInterfaceIdiom == .pad ? contentView.readableContentGuide.leadingAnchor : contentView.leadingAnchor),
statusContainer.trailingAnchor.constraint(equalTo: contentView.trailingAnchor), statusContainer.trailingAnchor.constraint(equalTo: UIDevice.current.userInterfaceIdiom == .pad ? contentView.readableContentGuide.trailingAnchor : contentView.trailingAnchor),
statusContainer.topAnchor.constraint(equalTo: contentView.topAnchor), statusContainer.topAnchor.constraint(equalTo: contentView.topAnchor),
statusContainer.bottomAnchor.constraint(equalTo: contentView.bottomAnchor), statusContainer.bottomAnchor.constraint(equalTo: contentView.bottomAnchor),
]) ])
@ -506,8 +506,8 @@ class TimelineStatusCollectionViewCell: UICollectionViewListCell, StatusCollecti
statusContainer.removeFromSuperview() statusContainer.removeFromSuperview()
contentView.addSubview(filteredLabel) contentView.addSubview(filteredLabel)
NSLayoutConstraint.activate([ NSLayoutConstraint.activate([
filteredLabel.leadingAnchor.constraint(equalTo: contentView.leadingAnchor), filteredLabel.leadingAnchor.constraint(equalTo: UIDevice.current.userInterfaceIdiom == .pad ? contentView.readableContentGuide.leadingAnchor : contentView.leadingAnchor),
filteredLabel.trailingAnchor.constraint(equalTo: contentView.trailingAnchor), filteredLabel.trailingAnchor.constraint(equalTo: UIDevice.current.userInterfaceIdiom == .pad ? contentView.readableContentGuide.trailingAnchor : contentView.trailingAnchor),
filteredLabel.topAnchor.constraint(equalToSystemSpacingBelow: contentView.topAnchor, multiplier: 1), filteredLabel.topAnchor.constraint(equalToSystemSpacingBelow: contentView.topAnchor, multiplier: 1),
contentView.bottomAnchor.constraint(equalToSystemSpacingBelow: filteredLabel.bottomAnchor, multiplier: 1), contentView.bottomAnchor.constraint(equalToSystemSpacingBelow: filteredLabel.bottomAnchor, multiplier: 1),
]) ])

View File

@ -25,8 +25,6 @@ class TimelineStatusTableViewCell: BaseStatusTableViewCell {
@IBOutlet weak var pinImageView: UIImageView! @IBOutlet weak var pinImageView: UIImageView!
@IBOutlet weak var actionsContainerView: UIView! @IBOutlet weak var actionsContainerView: UIView!
@IBOutlet weak var actionsContainerHeightConstraint: NSLayoutConstraint! @IBOutlet weak var actionsContainerHeightConstraint: NSLayoutConstraint!
@IBOutlet weak var verticalStackToActionsContainerConstraint: NSLayoutConstraint!
@IBOutlet weak var verticalStackToSuperviewConstraint: NSLayoutConstraint!
var reblogStatusID: String? var reblogStatusID: String?
var rebloggerID: String? var rebloggerID: String?

View File

@ -4,267 +4,271 @@
<dependencies> <dependencies>
<deployment identifier="iOS"/> <deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="21505"/> <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="21505"/>
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
<capability name="System colors in document resources" minToolsVersion="11.0"/> <capability name="System colors in document resources" minToolsVersion="11.0"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies> </dependencies>
<objects> <objects>
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/> <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/> <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
<view contentMode="scaleToFill" id="iN0-l3-epB" customClass="TimelineStatusTableViewCell" customModule="Tusker" customModuleProvider="target"> <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="default" indentationWidth="10" rowHeight="269" id="BR5-ZS-LIo" customClass="TimelineStatusTableViewCell" customModule="Tusker" customModuleProvider="target">
<rect key="frame" x="0.0" y="0.0" width="375" height="240"/> <rect key="frame" x="0.0" y="0.0" width="393" height="269"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> <autoresizingMask key="autoresizingMask"/>
<subviews> <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" layoutMarginsFollowReadableWidth="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="BR5-ZS-LIo" id="27d-P9-02g">
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" translatesAutoresizingMaskIntoConstraints="NO" id="yNh-ac-v6c"> <rect key="frame" x="0.0" y="0.0" width="393" height="269"/>
<rect key="frame" x="16" y="8" width="343" height="224"/> <autoresizingMask key="autoresizingMask"/>
<subviews> <subviews>
<label opaque="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="252" verticalCompressionResistancePriority="751" text="Reblogged by Person" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="lDH-50-AJZ" customClass="EmojiLabel" customModule="Tusker" customModuleProvider="target"> <stackView opaque="NO" contentMode="scaleToFill" axis="vertical" translatesAutoresizingMaskIntoConstraints="NO" id="yNh-ac-v6c">
<rect key="frame" x="0.0" y="0.0" width="343" height="20.5"/> <rect key="frame" x="16" y="8" width="361" height="253"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/> <subviews>
<color key="textColor" systemColor="secondaryLabelColor"/> <label opaque="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="252" verticalCompressionResistancePriority="751" text="Reblogged by Person" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="lDH-50-AJZ" customClass="EmojiLabel" customModule="Tusker" customModuleProvider="target">
<nil key="highlightedColor"/> <rect key="frame" x="0.0" y="0.0" width="361" height="20.5"/>
</label> <fontDescription key="fontDescription" type="system" pointSize="17"/>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="H6C-5s-ICE"> <color key="textColor" systemColor="secondaryLabelColor"/>
<rect key="frame" x="0.0" y="20.5" width="343" height="4"/> <nil key="highlightedColor"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> </label>
<constraints> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="H6C-5s-ICE">
<constraint firstAttribute="height" constant="4" id="KdU-GV-9et"/> <rect key="frame" x="0.0" y="20.5" width="361" height="4"/>
</constraints> <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</view> <constraints>
<view contentMode="scaleToFill" verticalHuggingPriority="249" translatesAutoresizingMaskIntoConstraints="NO" id="ve3-Y1-NQH"> <constraint firstAttribute="height" constant="4" id="KdU-GV-9et"/>
<rect key="frame" x="0.0" y="24.5" width="343" height="173.5"/> </constraints>
<subviews> </view>
<imageView contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="QMP-j2-HLn"> <view contentMode="scaleToFill" verticalHuggingPriority="249" translatesAutoresizingMaskIntoConstraints="NO" id="ve3-Y1-NQH">
<rect key="frame" x="0.0" y="0.0" width="50" height="50"/> <rect key="frame" x="0.0" y="24.5" width="361" height="202.5"/>
<accessibility key="accessibilityConfiguration" label="User Avatar"> <subviews>
<bool key="isElement" value="YES"/> <imageView contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="QMP-j2-HLn">
</accessibility> <rect key="frame" x="0.0" y="0.0" width="50" height="50"/>
<gestureRecognizers/> <accessibility key="accessibilityConfiguration" label="User Avatar">
<constraints> <bool key="isElement" value="YES"/>
<constraint firstAttribute="width" constant="50" id="KZ8-d7-8UK"/> </accessibility>
<constraint firstAttribute="height" constant="50" id="nMi-Gq-JyV"/> <gestureRecognizers/>
</constraints> <constraints>
</imageView> <constraint firstAttribute="width" constant="50" id="KZ8-d7-8UK"/>
<stackView opaque="NO" contentMode="scaleToFill" verticalCompressionResistancePriority="751" axis="vertical" spacing="4" translatesAutoresizingMaskIntoConstraints="NO" id="gIY-Wp-RSk"> <constraint firstAttribute="height" constant="50" id="nMi-Gq-JyV"/>
<rect key="frame" x="58" y="0.0" width="277" height="173.5"/> </constraints>
<subviews> </imageView>
<stackView opaque="NO" contentMode="scaleToFill" spacing="4" translatesAutoresizingMaskIntoConstraints="NO" id="3Sm-P0-ySf"> <stackView opaque="NO" contentMode="scaleToFill" verticalCompressionResistancePriority="751" axis="vertical" spacing="4" translatesAutoresizingMaskIntoConstraints="NO" id="gIY-Wp-RSk">
<rect key="frame" x="0.0" y="0.0" width="277" height="20.5"/> <rect key="frame" x="58" y="0.0" width="295" height="202.5"/>
<subviews> <subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="252" horizontalCompressionResistancePriority="749" verticalCompressionResistancePriority="752" text="Display name" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumFontSize="10" adjustsLetterSpacingToFitWidth="YES" translatesAutoresizingMaskIntoConstraints="NO" id="gll-xe-FSr" customClass="EmojiLabel" customModule="Tusker" customModuleProvider="target"> <stackView opaque="NO" contentMode="scaleToFill" spacing="4" translatesAutoresizingMaskIntoConstraints="NO" id="3Sm-P0-ySf">
<rect key="frame" x="0.0" y="0.0" width="106.5" height="20.5"/> <rect key="frame" x="0.0" y="0.0" width="295" height="20.5"/>
<accessibility key="accessibilityConfiguration"> <subviews>
<accessibilityTraits key="traits" staticText="YES" notEnabled="YES"/> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="252" horizontalCompressionResistancePriority="749" verticalCompressionResistancePriority="752" text="Display name" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumFontSize="10" adjustsLetterSpacingToFitWidth="YES" translatesAutoresizingMaskIntoConstraints="NO" id="gll-xe-FSr" customClass="EmojiLabel" customModule="Tusker" customModuleProvider="target">
</accessibility> <rect key="frame" x="0.0" y="0.0" width="106.5" height="20.5"/>
<gestureRecognizers/> <accessibility key="accessibilityConfiguration">
<fontDescription key="fontDescription" type="system" weight="semibold" pointSize="17"/> <accessibilityTraits key="traits" staticText="YES" notEnabled="YES"/>
<nil key="textColor"/> </accessibility>
<nil key="highlightedColor"/> <gestureRecognizers/>
</label> <fontDescription key="fontDescription" type="system" weight="semibold" pointSize="17"/>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="249" verticalHuggingPriority="252" horizontalCompressionResistancePriority="748" verticalCompressionResistancePriority="752" text="@username" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="j89-zc-SFa"> <nil key="textColor"/>
<rect key="frame" x="110.5" y="0.0" width="138.5" height="20.5"/> <nil key="highlightedColor"/>
<accessibility key="accessibilityConfiguration"> </label>
<accessibilityTraits key="traits" staticText="YES" notEnabled="YES"/> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="249" verticalHuggingPriority="252" horizontalCompressionResistancePriority="748" verticalCompressionResistancePriority="752" text="@username" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="j89-zc-SFa">
</accessibility> <rect key="frame" x="110.5" y="0.0" width="156.5" height="20.5"/>
<gestureRecognizers/> <accessibility key="accessibilityConfiguration">
<fontDescription key="fontDescription" type="system" weight="light" pointSize="17"/> <accessibilityTraits key="traits" staticText="YES" notEnabled="YES"/>
<color key="textColor" systemColor="secondaryLabelColor"/> </accessibility>
<nil key="highlightedColor"/> <gestureRecognizers/>
</label> <fontDescription key="fontDescription" type="system" weight="light" pointSize="17"/>
<imageView hidden="YES" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="pin.fill" catalog="system" translatesAutoresizingMaskIntoConstraints="NO" id="wtt-8G-Ua1"> <color key="textColor" systemColor="secondaryLabelColor"/>
<rect key="frame" x="251" y="-0.5" width="0.0" height="22"/> <nil key="highlightedColor"/>
<color key="tintColor" systemColor="secondaryLabelColor"/> </label>
<accessibility key="accessibilityConfiguration" label="Pinned Status"/> <imageView hidden="YES" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="pin.fill" catalog="system" translatesAutoresizingMaskIntoConstraints="NO" id="wtt-8G-Ua1">
</imageView> <rect key="frame" x="269" y="-0.5" width="0.0" height="22"/>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="252" verticalCompressionResistancePriority="752" text="2m" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="35d-EA-ReR"> <color key="tintColor" systemColor="secondaryLabelColor"/>
<rect key="frame" x="253" y="0.0" width="24" height="20.5"/> <accessibility key="accessibilityConfiguration" label="Pinned Status"/>
<accessibility key="accessibilityConfiguration"> </imageView>
<accessibilityTraits key="traits" staticText="YES" notEnabled="YES"/> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="252" verticalCompressionResistancePriority="752" text="2m" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="35d-EA-ReR">
<bool key="isElement" value="YES"/> <rect key="frame" x="271" y="0.0" width="24" height="20.5"/>
</accessibility> <accessibility key="accessibilityConfiguration">
<fontDescription key="fontDescription" type="system" weight="light" pointSize="17"/> <accessibilityTraits key="traits" staticText="YES" notEnabled="YES"/>
<color key="textColor" systemColor="secondaryLabelColor"/> <bool key="isElement" value="YES"/>
<nil key="highlightedColor"/> </accessibility>
</label> <fontDescription key="fontDescription" type="system" weight="light" pointSize="17"/>
</subviews> <color key="textColor" systemColor="secondaryLabelColor"/>
<constraints> <nil key="highlightedColor"/>
<constraint firstAttribute="height" secondItem="gll-xe-FSr" secondAttribute="height" id="B7p-Pc-fZD"/> </label>
</constraints> </subviews>
</stackView> <constraints>
<label opaque="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="252" verticalCompressionResistancePriority="755" text="Content Warning" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="inI-Og-YiU" customClass="EmojiLabel" customModule="Tusker" customModuleProvider="target"> <constraint firstAttribute="height" secondItem="gll-xe-FSr" secondAttribute="height" id="B7p-Pc-fZD"/>
<rect key="frame" x="0.0" y="24.5" width="277" height="20.5"/> </constraints>
<accessibility key="accessibilityConfiguration"> </stackView>
<accessibilityTraits key="traits" staticText="YES" notEnabled="YES"/> <label opaque="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="252" verticalCompressionResistancePriority="755" text="Content Warning" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="inI-Og-YiU" customClass="EmojiLabel" customModule="Tusker" customModuleProvider="target">
</accessibility> <rect key="frame" x="0.0" y="24.5" width="295" height="20.5"/>
<gestureRecognizers/> <accessibility key="accessibilityConfiguration">
<fontDescription key="fontDescription" type="boldSystem" pointSize="17"/> <accessibilityTraits key="traits" staticText="YES" notEnabled="YES"/>
<color key="textColor" systemColor="secondaryLabelColor"/> </accessibility>
<nil key="highlightedColor"/> <gestureRecognizers/>
</label> <fontDescription key="fontDescription" type="boldSystem" pointSize="17"/>
<button opaque="NO" contentMode="scaleToFill" verticalHuggingPriority="252" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="O0E-Vf-XYR" customClass="StatusCollapseButton" customModule="Tusker" customModuleProvider="target"> <color key="textColor" systemColor="secondaryLabelColor"/>
<rect key="frame" x="0.0" y="49" width="277" height="30"/> <nil key="highlightedColor"/>
<color key="backgroundColor" systemColor="systemBlueColor"/> </label>
<constraints> <button opaque="NO" contentMode="scaleToFill" verticalHuggingPriority="252" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="O0E-Vf-XYR" customClass="StatusCollapseButton" customModule="Tusker" customModuleProvider="target">
<constraint firstAttribute="height" constant="30" id="z84-XW-gP3"/> <rect key="frame" x="0.0" y="49" width="295" height="30"/>
</constraints> <color key="backgroundColor" systemColor="systemBlueColor"/>
<color key="tintColor" systemColor="systemBackgroundColor"/> <constraints>
<state key="normal" image="chevron.down" catalog="system"> <constraint firstAttribute="height" constant="30" id="z84-XW-gP3"/>
<preferredSymbolConfiguration key="preferredSymbolConfiguration" scale="large"/> </constraints>
</state> <color key="tintColor" systemColor="systemBackgroundColor"/>
<connections> <state key="normal" image="chevron.down" catalog="system">
<action selector="collapseButtonPressed" destination="iN0-l3-epB" eventType="touchUpInside" id="JaH-xX-UOD"/> <preferredSymbolConfiguration key="preferredSymbolConfiguration" scale="large"/>
</connections> </state>
</button> <connections>
<textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" scrollEnabled="NO" delaysContentTouches="NO" editable="NO" textAlignment="natural" selectable="NO" translatesAutoresizingMaskIntoConstraints="NO" id="waJ-f5-LKv" customClass="StatusContentTextView" customModule="Tusker" customModuleProvider="target"> <action selector="collapseButtonPressed" destination="BR5-ZS-LIo" eventType="touchUpInside" id="twO-rE-1pQ"/>
<rect key="frame" x="0.0" y="83" width="277" height="86.5"/> </connections>
<string key="text">Lorem ipsum dolor sit er elit lamet, consectetaur cillium adipisicing pecu, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Nam liber te conscient to factor tum poen legum odioque civiuda.</string> </button>
<color key="textColor" systemColor="labelColor"/> <textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" scrollEnabled="NO" delaysContentTouches="NO" editable="NO" textAlignment="natural" selectable="NO" translatesAutoresizingMaskIntoConstraints="NO" id="waJ-f5-LKv" customClass="StatusContentTextView" customModule="Tusker" customModuleProvider="target">
<fontDescription key="fontDescription" type="system" pointSize="16"/> <rect key="frame" x="0.0" y="83" width="295" height="115.5"/>
<textInputTraits key="textInputTraits" autocapitalizationType="sentences"/> <string key="text">Lorem ipsum dolor sit er elit lamet, consectetaur cillium adipisicing pecu, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Nam liber te conscient to factor tum poen legum odioque civiuda.</string>
</textView> <color key="textColor" systemColor="labelColor"/>
<view hidden="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="LKo-VB-XWl" customClass="StatusCardView" customModule="Tusker" customModuleProvider="target"> <fontDescription key="fontDescription" type="system" pointSize="16"/>
<rect key="frame" x="0.0" y="171.5" width="277" height="0.0"/> <textInputTraits key="textInputTraits" autocapitalizationType="sentences"/>
<color key="backgroundColor" systemColor="systemBackgroundColor"/> </textView>
<constraints> <view hidden="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="LKo-VB-XWl" customClass="StatusCardView" customModule="Tusker" customModuleProvider="target">
<constraint firstAttribute="height" priority="999" constant="65" id="khY-jm-CPn"/> <rect key="frame" x="0.0" y="200.5" width="295" height="0.0"/>
</constraints> <color key="backgroundColor" systemColor="systemBackgroundColor"/>
</view> <constraints>
<view hidden="YES" contentMode="scaleToFill" verticalCompressionResistancePriority="1" translatesAutoresizingMaskIntoConstraints="NO" id="nbq-yr-2mA" customClass="AttachmentsContainerView" customModule="Tusker" customModuleProvider="target"> <constraint firstAttribute="height" priority="999" constant="65" id="khY-jm-CPn"/>
<rect key="frame" x="0.0" y="171.5" width="277" height="0.0"/> </constraints>
<color key="backgroundColor" systemColor="secondarySystemBackgroundColor"/> </view>
</view> <view hidden="YES" contentMode="scaleToFill" verticalCompressionResistancePriority="1" translatesAutoresizingMaskIntoConstraints="NO" id="nbq-yr-2mA" customClass="AttachmentsContainerView" customModule="Tusker" customModuleProvider="target">
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="x3b-Zl-9F0" customClass="StatusPollView" customModule="Tusker" customModuleProvider="target"> <rect key="frame" x="0.0" y="200.5" width="295" height="0.0"/>
<rect key="frame" x="0.0" y="173.5" width="277" height="0.0"/> <color key="backgroundColor" systemColor="secondarySystemBackgroundColor"/>
<color key="backgroundColor" systemColor="systemBackgroundColor"/> </view>
</view> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="x3b-Zl-9F0" customClass="StatusPollView" customModule="Tusker" customModuleProvider="target">
</subviews> <rect key="frame" x="0.0" y="202.5" width="295" height="0.0"/>
</stackView> <color key="backgroundColor" systemColor="systemBackgroundColor"/>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="qBn-Gk-DCa" customClass="StatusMetaIndicatorsView" customModule="Tusker" customModuleProvider="target"> </view>
<rect key="frame" x="0.0" y="54" width="50" height="22"/> </subviews>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> </stackView>
<constraints> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="qBn-Gk-DCa" customClass="StatusMetaIndicatorsView" customModule="Tusker" customModuleProvider="target">
<constraint firstAttribute="height" constant="22" placeholder="YES" id="ipd-WE-P20"/> <rect key="frame" x="0.0" y="54" width="50" height="22"/>
</constraints> <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</view> <constraints>
</subviews> <constraint firstAttribute="height" constant="22" placeholder="YES" id="ipd-WE-P20"/>
<constraints> </constraints>
<constraint firstItem="gIY-Wp-RSk" firstAttribute="leading" secondItem="QMP-j2-HLn" secondAttribute="trailing" constant="8" id="0Tm-v7-Ts4"/> </view>
<constraint firstAttribute="bottom" relation="greaterThanOrEqual" secondItem="QMP-j2-HLn" secondAttribute="bottom" constant="8" id="2Ao-Gj-fY3"/> </subviews>
<constraint firstAttribute="bottom" relation="greaterThanOrEqual" secondItem="gIY-Wp-RSk" secondAttribute="bottom" id="6OU-Ub-VH8"/> <constraints>
<constraint firstItem="gIY-Wp-RSk" firstAttribute="leading" secondItem="qBn-Gk-DCa" secondAttribute="trailing" constant="8" id="AQs-QN-j49"/> <constraint firstItem="gIY-Wp-RSk" firstAttribute="leading" secondItem="QMP-j2-HLn" secondAttribute="trailing" constant="8" id="0Tm-v7-Ts4"/>
<constraint firstAttribute="bottom" relation="greaterThanOrEqual" secondItem="qBn-Gk-DCa" secondAttribute="bottom" id="P1i-ZM-TRt"/> <constraint firstAttribute="bottom" relation="greaterThanOrEqual" secondItem="QMP-j2-HLn" secondAttribute="bottom" constant="8" id="2Ao-Gj-fY3"/>
<constraint firstItem="QMP-j2-HLn" firstAttribute="top" secondItem="ve3-Y1-NQH" secondAttribute="top" id="PC4-Bi-QXm"/> <constraint firstAttribute="bottom" relation="greaterThanOrEqual" secondItem="gIY-Wp-RSk" secondAttribute="bottom" id="6OU-Ub-VH8"/>
<constraint firstItem="gIY-Wp-RSk" firstAttribute="top" secondItem="QMP-j2-HLn" secondAttribute="top" id="fEd-wN-kuQ"/> <constraint firstItem="gIY-Wp-RSk" firstAttribute="leading" secondItem="qBn-Gk-DCa" secondAttribute="trailing" constant="8" id="AQs-QN-j49"/>
<constraint firstAttribute="trailingMargin" secondItem="gIY-Wp-RSk" secondAttribute="trailing" id="hKk-kO-wFT"/> <constraint firstAttribute="bottom" relation="greaterThanOrEqual" secondItem="qBn-Gk-DCa" secondAttribute="bottom" id="P1i-ZM-TRt"/>
<constraint firstItem="qBn-Gk-DCa" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="ve3-Y1-NQH" secondAttribute="leading" id="iLD-VU-ixJ"/> <constraint firstItem="QMP-j2-HLn" firstAttribute="top" secondItem="ve3-Y1-NQH" secondAttribute="top" id="PC4-Bi-QXm"/>
<constraint firstAttribute="bottom" secondItem="gIY-Wp-RSk" secondAttribute="bottom" id="kq7-bk-S8j"/> <constraint firstItem="gIY-Wp-RSk" firstAttribute="top" secondItem="QMP-j2-HLn" secondAttribute="top" id="fEd-wN-kuQ"/>
<constraint firstItem="qBn-Gk-DCa" firstAttribute="top" secondItem="QMP-j2-HLn" secondAttribute="bottom" constant="4" id="tKU-VP-n8P"/> <constraint firstAttribute="trailingMargin" secondItem="gIY-Wp-RSk" secondAttribute="trailing" id="hKk-kO-wFT"/>
<constraint firstItem="qBn-Gk-DCa" firstAttribute="width" secondItem="QMP-j2-HLn" secondAttribute="width" id="v1v-Pp-ubE"/> <constraint firstItem="qBn-Gk-DCa" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="ve3-Y1-NQH" secondAttribute="leading" id="iLD-VU-ixJ"/>
<constraint firstItem="QMP-j2-HLn" firstAttribute="leading" secondItem="ve3-Y1-NQH" secondAttribute="leading" id="zeW-tQ-uJl"/> <constraint firstAttribute="bottom" secondItem="gIY-Wp-RSk" secondAttribute="bottom" id="kq7-bk-S8j"/>
</constraints> <constraint firstItem="qBn-Gk-DCa" firstAttribute="top" secondItem="QMP-j2-HLn" secondAttribute="bottom" constant="4" id="tKU-VP-n8P"/>
<variation key="default"> <constraint firstItem="qBn-Gk-DCa" firstAttribute="width" secondItem="QMP-j2-HLn" secondAttribute="width" id="v1v-Pp-ubE"/>
<mask key="constraints"> <constraint firstItem="QMP-j2-HLn" firstAttribute="leading" secondItem="ve3-Y1-NQH" secondAttribute="leading" id="zeW-tQ-uJl"/>
<exclude reference="kq7-bk-S8j"/> </constraints>
</mask> <variation key="default">
</variation> <mask key="constraints">
</view> <exclude reference="kq7-bk-S8j"/>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="TUP-Nz-5Yh"> </mask>
<rect key="frame" x="0.0" y="198" width="343" height="26"/> </variation>
<subviews> </view>
<button opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" pointerInteraction="YES" translatesAutoresizingMaskIntoConstraints="NO" id="rKF-yF-KIa"> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="TUP-Nz-5Yh">
<rect key="frame" x="0.0" y="0.0" width="86" height="26"/> <rect key="frame" x="0.0" y="227" width="361" height="26"/>
<accessibility key="accessibilityConfiguration" label="Reply"/> <subviews>
<fontDescription key="fontDescription" type="system" pointSize="18"/> <button opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" pointerInteraction="YES" translatesAutoresizingMaskIntoConstraints="NO" id="rKF-yF-KIa">
<state key="normal" image="arrowshape.turn.up.left.fill" catalog="system"/> <rect key="frame" x="0.0" y="0.0" width="90.5" height="26"/>
<connections> <accessibility key="accessibilityConfiguration" label="Reply"/>
<action selector="replyPressed" destination="iN0-l3-epB" eventType="touchUpInside" id="ybz-3W-jAa"/> <fontDescription key="fontDescription" type="system" pointSize="18"/>
</connections> <state key="normal" image="arrowshape.turn.up.left.fill" catalog="system"/>
</button> <connections>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" pointerInteraction="YES" translatesAutoresizingMaskIntoConstraints="NO" id="6tW-z8-Qh9"> <action selector="replyPressed" destination="BR5-ZS-LIo" eventType="touchUpInside" id="ljN-Uq-rSV"/>
<rect key="frame" x="171.5" y="0.0" width="86" height="26"/> </connections>
<accessibility key="accessibilityConfiguration" label="Reblog"/> </button>
<state key="normal" image="repeat" catalog="system"/> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" pointerInteraction="YES" translatesAutoresizingMaskIntoConstraints="NO" id="6tW-z8-Qh9">
<connections> <rect key="frame" x="180.5" y="0.0" width="90.5" height="26"/>
<action selector="reblogPressed" destination="iN0-l3-epB" eventType="touchUpInside" id="Wa2-ZA-TBo"/> <accessibility key="accessibilityConfiguration" label="Reblog"/>
</connections> <state key="normal" image="repeat" catalog="system"/>
</button> <connections>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" pointerInteraction="YES" translatesAutoresizingMaskIntoConstraints="NO" id="982-J4-NGl"> <action selector="reblogPressed" destination="BR5-ZS-LIo" eventType="touchUpInside" id="0y7-cF-Nsu"/>
<rect key="frame" x="257.5" y="0.0" width="85.5" height="26"/> </connections>
<accessibility key="accessibilityConfiguration" label="More Actions"/> </button>
<state key="normal" image="ellipsis" catalog="system"/> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" pointerInteraction="YES" translatesAutoresizingMaskIntoConstraints="NO" id="982-J4-NGl">
<connections> <rect key="frame" x="271" y="0.0" width="90" height="26"/>
<action selector="morePressed" destination="iN0-l3-epB" eventType="touchUpInside" id="WT4-fi-usq"/> <accessibility key="accessibilityConfiguration" label="More Actions"/>
</connections> <state key="normal" image="ellipsis" catalog="system"/>
</button> <connections>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" pointerInteraction="YES" translatesAutoresizingMaskIntoConstraints="NO" id="x0t-TR-jJ4"> <action selector="morePressed" destination="BR5-ZS-LIo" eventType="touchUpInside" id="Nvo-Lw-cQd"/>
<rect key="frame" x="86" y="0.0" width="85.5" height="26"/> </connections>
<accessibility key="accessibilityConfiguration" label="Favorite"/> </button>
<state key="normal" image="star.fill" catalog="system"/> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" pointerInteraction="YES" translatesAutoresizingMaskIntoConstraints="NO" id="x0t-TR-jJ4">
<connections> <rect key="frame" x="90.5" y="0.0" width="90" height="26"/>
<action selector="favoritePressed" destination="iN0-l3-epB" eventType="touchUpInside" id="8Q8-Rz-k02"/> <accessibility key="accessibilityConfiguration" label="Favorite"/>
</connections> <state key="normal" image="star.fill" catalog="system"/>
</button> <connections>
</subviews> <action selector="favoritePressed" destination="BR5-ZS-LIo" eventType="touchUpInside" id="KUW-UC-40j"/>
<constraints> </connections>
<constraint firstAttribute="height" constant="26" id="1FK-Er-G11"/> </button>
<constraint firstAttribute="bottom" secondItem="rKF-yF-KIa" secondAttribute="bottom" id="KyG-2C-MgN"/> </subviews>
<constraint firstItem="x0t-TR-jJ4" firstAttribute="top" secondItem="TUP-Nz-5Yh" secondAttribute="top" id="L3w-JH-eeG"/> <constraints>
<constraint firstItem="6tW-z8-Qh9" firstAttribute="top" secondItem="TUP-Nz-5Yh" secondAttribute="top" id="N7j-f4-gvP"/> <constraint firstAttribute="height" constant="26" id="1FK-Er-G11"/>
<constraint firstItem="982-J4-NGl" firstAttribute="leading" secondItem="6tW-z8-Qh9" secondAttribute="trailing" id="VQo-DJ-C7L"/> <constraint firstAttribute="bottom" secondItem="rKF-yF-KIa" secondAttribute="bottom" id="KyG-2C-MgN"/>
<constraint firstItem="982-J4-NGl" firstAttribute="top" secondItem="TUP-Nz-5Yh" secondAttribute="top" id="W53-1a-fKu"/> <constraint firstItem="x0t-TR-jJ4" firstAttribute="top" secondItem="TUP-Nz-5Yh" secondAttribute="top" id="L3w-JH-eeG"/>
<constraint firstItem="x0t-TR-jJ4" firstAttribute="leading" secondItem="rKF-yF-KIa" secondAttribute="trailing" id="WPd-A2-6Ju"/> <constraint firstItem="6tW-z8-Qh9" firstAttribute="top" secondItem="TUP-Nz-5Yh" secondAttribute="top" id="N7j-f4-gvP"/>
<constraint firstItem="rKF-yF-KIa" firstAttribute="width" secondItem="x0t-TR-jJ4" secondAttribute="width" id="X7m-pJ-oje"/> <constraint firstItem="982-J4-NGl" firstAttribute="leading" secondItem="6tW-z8-Qh9" secondAttribute="trailing" id="VQo-DJ-C7L"/>
<constraint firstItem="rKF-yF-KIa" firstAttribute="leading" secondItem="TUP-Nz-5Yh" secondAttribute="leading" placeholder="YES" id="aFR-Ew-99S"/> <constraint firstItem="982-J4-NGl" firstAttribute="top" secondItem="TUP-Nz-5Yh" secondAttribute="top" id="W53-1a-fKu"/>
<constraint firstAttribute="bottom" secondItem="982-J4-NGl" secondAttribute="bottom" id="eXy-3h-51w"/> <constraint firstItem="x0t-TR-jJ4" firstAttribute="leading" secondItem="rKF-yF-KIa" secondAttribute="trailing" id="WPd-A2-6Ju"/>
<constraint firstAttribute="bottom" secondItem="x0t-TR-jJ4" secondAttribute="bottom" id="euN-Nf-rwh"/> <constraint firstItem="rKF-yF-KIa" firstAttribute="width" secondItem="x0t-TR-jJ4" secondAttribute="width" id="X7m-pJ-oje"/>
<constraint firstItem="6tW-z8-Qh9" firstAttribute="leading" secondItem="x0t-TR-jJ4" secondAttribute="trailing" id="oAK-VG-bbp"/> <constraint firstItem="rKF-yF-KIa" firstAttribute="leading" secondItem="TUP-Nz-5Yh" secondAttribute="leading" placeholder="YES" id="aFR-Ew-99S"/>
<constraint firstAttribute="bottom" secondItem="6tW-z8-Qh9" secondAttribute="bottom" id="tpf-Q3-V3l"/> <constraint firstAttribute="bottom" secondItem="982-J4-NGl" secondAttribute="bottom" id="eXy-3h-51w"/>
<constraint firstAttribute="trailing" secondItem="982-J4-NGl" secondAttribute="trailing" id="uQG-FZ-F7u"/> <constraint firstAttribute="bottom" secondItem="x0t-TR-jJ4" secondAttribute="bottom" id="euN-Nf-rwh"/>
<constraint firstItem="rKF-yF-KIa" firstAttribute="width" secondItem="982-J4-NGl" secondAttribute="width" id="vir-iq-biv"/> <constraint firstItem="6tW-z8-Qh9" firstAttribute="leading" secondItem="x0t-TR-jJ4" secondAttribute="trailing" id="oAK-VG-bbp"/>
<constraint firstItem="rKF-yF-KIa" firstAttribute="width" secondItem="6tW-z8-Qh9" secondAttribute="width" id="vqw-d7-VtZ"/> <constraint firstAttribute="bottom" secondItem="6tW-z8-Qh9" secondAttribute="bottom" id="tpf-Q3-V3l"/>
<constraint firstItem="rKF-yF-KIa" firstAttribute="top" secondItem="TUP-Nz-5Yh" secondAttribute="top" id="wWH-J7-egM"/> <constraint firstAttribute="trailing" secondItem="982-J4-NGl" secondAttribute="trailing" id="uQG-FZ-F7u"/>
</constraints> <constraint firstItem="rKF-yF-KIa" firstAttribute="width" secondItem="982-J4-NGl" secondAttribute="width" id="vir-iq-biv"/>
</view> <constraint firstItem="rKF-yF-KIa" firstAttribute="width" secondItem="6tW-z8-Qh9" secondAttribute="width" id="vqw-d7-VtZ"/>
</subviews> <constraint firstItem="rKF-yF-KIa" firstAttribute="top" secondItem="TUP-Nz-5Yh" secondAttribute="top" id="wWH-J7-egM"/>
<constraints> </constraints>
<constraint firstItem="ve3-Y1-NQH" firstAttribute="width" secondItem="yNh-ac-v6c" secondAttribute="width" id="xN6-cs-Tnn"/> </view>
</constraints> </subviews>
</stackView> <constraints>
</subviews> <constraint firstItem="ve3-Y1-NQH" firstAttribute="width" secondItem="yNh-ac-v6c" secondAttribute="width" id="xN6-cs-Tnn"/>
<viewLayoutGuide key="safeArea" id="vUN-kp-3ea"/> </constraints>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <variation key="default">
<constraints> <mask key="constraints">
<constraint firstAttribute="trailingMargin" secondItem="yNh-ac-v6c" secondAttribute="trailing" id="2qQ-80-4Ui"/> <exclude reference="xN6-cs-Tnn"/>
<constraint firstItem="vUN-kp-3ea" firstAttribute="bottom" secondItem="yNh-ac-v6c" secondAttribute="bottom" constant="8" id="RKQ-BR-mlH"/> </mask>
<constraint firstItem="yNh-ac-v6c" firstAttribute="leading" secondItem="vUN-kp-3ea" secondAttribute="leading" constant="16" id="YVV-xZ-N4f"/> </variation>
<constraint firstItem="yNh-ac-v6c" firstAttribute="top" secondItem="vUN-kp-3ea" secondAttribute="top" constant="8" id="aAG-d7-dmV"/> </stackView>
</constraints> </subviews>
<freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/> <constraints>
<constraint firstItem="yNh-ac-v6c" firstAttribute="top" secondItem="27d-P9-02g" secondAttribute="top" constant="8" id="BV4-cX-hOq"/>
<constraint firstAttribute="bottom" secondItem="yNh-ac-v6c" secondAttribute="bottom" constant="8" id="Bjn-HM-IXF"/>
<constraint firstItem="yNh-ac-v6c" firstAttribute="leading" secondItem="27d-P9-02g" secondAttribute="leadingMargin" id="Y9H-aJ-Nab"/>
<constraint firstAttribute="trailingMargin" secondItem="yNh-ac-v6c" secondAttribute="trailing" id="etD-1m-QVM"/>
</constraints>
</tableViewCellContentView>
<connections> <connections>
<outlet property="actionsContainerHeightConstraint" destination="1FK-Er-G11" id="9yN-NJ-GjN"/> <outlet property="actionsContainerHeightConstraint" destination="1FK-Er-G11" id="rkH-TL-9rr"/>
<outlet property="actionsContainerView" destination="TUP-Nz-5Yh" id="NHM-5L-Odz"/> <outlet property="actionsContainerView" destination="TUP-Nz-5Yh" id="B5c-tl-Sbw"/>
<outlet property="attachmentsView" destination="nbq-yr-2mA" id="SVm-zl-mPb"/> <outlet property="attachmentsView" destination="nbq-yr-2mA" id="MAs-nv-cNN"/>
<outlet property="avatarImageView" destination="QMP-j2-HLn" id="xfS-v8-Gzu"/> <outlet property="avatarImageView" destination="QMP-j2-HLn" id="73F-6g-drx"/>
<outlet property="cardView" destination="LKo-VB-XWl" id="6X5-8P-Ata"/> <outlet property="cardView" destination="LKo-VB-XWl" id="Ypd-Cr-fie"/>
<outlet property="collapseButton" destination="O0E-Vf-XYR" id="nWd-gg-st8"/> <outlet property="collapseButton" destination="O0E-Vf-XYR" id="oTb-VA-JHD"/>
<outlet property="contentTextView" destination="waJ-f5-LKv" id="hrR-Zg-gLY"/> <outlet property="contentTextView" destination="waJ-f5-LKv" id="Tyd-9N-WxW"/>
<outlet property="contentWarningLabel" destination="inI-Og-YiU" id="C7a-eK-qcx"/> <outlet property="contentWarningLabel" destination="inI-Og-YiU" id="TmT-Fq-HVG"/>
<outlet property="displayNameLabel" destination="gll-xe-FSr" id="vVS-WM-Wqx"/> <outlet property="displayNameLabel" destination="gll-xe-FSr" id="dAN-AD-XMb"/>
<outlet property="favoriteButton" destination="x0t-TR-jJ4" id="guV-yz-Lm6"/> <outlet property="favoriteButton" destination="x0t-TR-jJ4" id="jE8-4t-FVW"/>
<outlet property="metaIndicatorsView" destination="qBn-Gk-DCa" id="HTg-JD-7zH"/> <outlet property="metaIndicatorsView" destination="qBn-Gk-DCa" id="Hd4-6j-lvT"/>
<outlet property="moreButton" destination="982-J4-NGl" id="Pux-tL-aWe"/> <outlet property="moreButton" destination="982-J4-NGl" id="GwC-R2-qSn"/>
<outlet property="pinImageView" destination="wtt-8G-Ua1" id="mE8-oe-m1l"/> <outlet property="pinImageView" destination="wtt-8G-Ua1" id="igV-Q0-3h9"/>
<outlet property="pollView" destination="x3b-Zl-9F0" id="WIF-Oz-cnm"/> <outlet property="pollView" destination="x3b-Zl-9F0" id="aZF-5R-yOi"/>
<outlet property="reblogButton" destination="6tW-z8-Qh9" id="u2t-8D-kOn"/> <outlet property="reblogButton" destination="6tW-z8-Qh9" id="k4G-ZY-yNO"/>
<outlet property="reblogLabel" destination="lDH-50-AJZ" id="uJf-Pt-cEP"/> <outlet property="reblogLabel" destination="lDH-50-AJZ" id="asF-Ea-qOg"/>
<outlet property="reblogSpacer" destination="H6C-5s-ICE" id="yFb-Yx-flv"/> <outlet property="reblogSpacer" destination="H6C-5s-ICE" id="LEq-6z-z1E"/>
<outlet property="replyButton" destination="rKF-yF-KIa" id="rka-q1-o4a"/> <outlet property="replyButton" destination="rKF-yF-KIa" id="bx6-Co-4KB"/>
<outlet property="timestampLabel" destination="35d-EA-ReR" id="Ny2-nV-nqP"/> <outlet property="timestampLabel" destination="35d-EA-ReR" id="NEL-KM-hOJ"/>
<outlet property="usernameLabel" destination="j89-zc-SFa" id="bXX-FZ-fCp"/> <outlet property="usernameLabel" destination="j89-zc-SFa" id="fgg-kb-b9s"/>
<outlet property="verticalStackToSuperviewConstraint" destination="kq7-bk-S8j" id="Rfv-Bn-8B4"/>
</connections> </connections>
<point key="canvasLocation" x="29.600000000000001" y="79.160419790104953"/> <point key="canvasLocation" x="-848.79999999999995" y="79.610194902548727"/>
</view> </tableViewCell>
</objects> </objects>
<resources> <resources>
<image name="arrowshape.turn.up.left.fill" catalog="system" width="128" height="104"/> <image name="arrowshape.turn.up.left.fill" catalog="system" width="128" height="104"/>