KB-11613 Add Bug Reporting Button to Navbar

add feedback tab
This commit is contained in:
Pavel Vilbik
2024-02-21 17:16:24 +03:00
parent 39f63f9ff5
commit 8cd44449f0
4 changed files with 443 additions and 78 deletions

View File

@@ -0,0 +1,16 @@
{
"images" : [
{
"filename" : "message-circle.pdf",
"idiom" : "universal"
}
],
"info" : {
"author" : "xcode",
"version" : 1
},
"properties" : {
"preserves-vector-representation" : true,
"template-rendering-intent" : "template"
}
}

View File

@@ -0,0 +1,305 @@
%PDF-1.7
1 0 obj
<< >>
endobj
2 0 obj
<< /Length 3 0 R >>
stream
/DeviceRGB CS
/DeviceRGB cs
q
1.000000 0.000000 -0.000000 1.000000 0.000000 0.000000 cm
1.000000 1.000000 1.000000 scn
0.000000 24.000000 m
24.000000 24.000000 l
24.000000 0.000000 l
0.000000 0.000000 l
0.000000 24.000000 l
h
f
n
Q
q
1.000000 0.000000 -0.000000 1.000000 3.000000 2.996582 cm
0.600000 0.600000 0.600000 scn
18.000000 9.503389 m
18.003441 8.183521 17.695068 6.881504 17.100000 5.703389 c
16.394434 4.291644 15.309751 3.104216 13.967449 2.274109 c
12.625148 1.444002 11.078242 1.004000 9.500000 1.003389 c
8.180132 0.999949 6.878115 1.308321 5.700000 1.903389 c
0.000000 0.003389 l
1.900000 5.703389 l
1.304931 6.881504 0.996559 8.183521 1.000000 9.503389 c
1.000611 11.081632 1.440612 12.628538 2.270719 13.970840 c
3.100826 15.313141 4.288255 16.397821 5.700000 17.103390 c
6.878115 17.698458 8.180132 18.006830 9.500000 18.003389 c
10.000000 18.003389 l
12.084348 17.888397 14.053042 17.008629 15.529140 15.532531 c
17.005238 14.056433 17.885008 12.087737 18.000000 10.003389 c
18.000000 9.503389 l
h
f
n
Q
q
1.000000 0.000000 -0.000000 1.000000 3.000000 0.927673 cm
0.600000 0.600000 0.600000 scn
18.000000 11.572298 m
16.999996 11.572298 l
17.000004 11.569691 l
18.000000 11.572298 l
h
17.100000 7.772298 m
16.207394 8.223155 l
16.205496 8.219357 l
17.100000 7.772298 l
h
9.500000 3.072298 m
9.499613 4.072300 l
9.497393 4.072294 l
9.500000 3.072298 l
h
5.700000 3.972298 m
6.150853 4.864896 l
5.912861 4.985106 5.636718 5.005297 5.383772 4.920981 c
5.700000 3.972298 l
h
0.000000 2.072298 m
-0.948683 2.388525 l
-1.068462 2.029192 -0.974939 1.633024 -0.707107 1.365191 c
-0.439275 1.097359 -0.043107 1.003836 0.316228 1.123615 c
0.000000 2.072298 l
h
1.900000 7.772298 m
2.848683 7.456070 l
2.932999 7.709016 2.912808 7.985159 2.792598 8.223151 c
1.900000 7.772298 l
h
1.000000 11.572298 m
1.999999 11.569691 l
2.000000 11.571911 l
1.000000 11.572298 l
h
5.700000 19.172298 m
6.147063 18.277786 l
6.150853 18.279699 l
5.700000 19.172298 l
h
9.500000 20.072298 m
9.497393 19.072298 l
9.500000 19.072298 l
9.500000 20.072298 l
h
10.000000 20.072298 m
10.055085 21.070780 l
10.036741 21.071793 10.018373 21.072298 10.000000 21.072298 c
10.000000 20.072298 l
h
18.000000 12.072298 m
19.000000 12.072298 l
19.000000 12.090670 18.999495 12.109039 18.998482 12.127383 c
18.000000 12.072298 l
h
17.000004 11.569691 m
17.003035 10.407325 16.731461 9.260680 16.207403 8.223151 c
17.992598 7.321445 l
18.658678 8.640146 19.003849 10.097535 18.999996 11.574905 c
17.000004 11.569691 l
h
16.205496 8.219357 m
15.582936 6.973700 14.625864 5.925969 13.441480 5.193521 c
14.493419 3.492514 l
15.993637 4.420280 17.205929 5.747406 17.994505 7.325239 c
16.205496 8.219357 l
h
13.441480 5.193521 m
12.257096 4.461074 10.892179 4.072837 9.499613 4.072298 c
9.500387 2.072298 l
11.264305 2.072981 12.993200 2.564747 14.493419 3.492514 c
13.441480 5.193521 l
h
9.497393 4.072294 m
8.335027 4.069263 7.188382 4.340837 6.150853 4.864896 c
5.249146 3.079700 l
6.567849 2.413620 8.025237 2.068449 9.502607 2.072302 c
9.497393 4.072294 l
h
5.383772 4.920981 m
-0.316228 3.020981 l
0.316228 1.123615 l
6.016228 3.023615 l
5.383772 4.920981 l
h
0.948683 1.756071 m
2.848683 7.456070 l
0.951317 8.088526 l
-0.948683 2.388525 l
0.948683 1.756071 l
h
2.792598 8.223151 m
2.268540 9.260680 1.996966 10.407325 1.999997 11.569691 c
0.000003 11.574905 l
-0.003849 10.097535 0.341323 8.640146 1.007402 7.321445 c
2.792598 8.223151 l
h
2.000000 11.571911 m
2.000539 12.964478 2.388775 14.329395 3.121222 15.513779 c
1.420215 16.565718 l
0.492449 15.065498 0.000683 13.336603 0.000000 11.572685 c
2.000000 11.571911 l
h
3.121222 15.513779 m
3.853670 16.698162 4.901401 17.655233 6.147058 18.277794 c
5.252941 20.066803 l
3.675108 19.278227 2.347982 18.065937 1.420215 16.565718 c
3.121222 15.513779 l
h
6.150853 18.279699 m
7.188382 18.803759 8.335027 19.075333 9.497393 19.072302 c
9.502607 21.072294 l
8.025237 21.076147 6.567848 20.730976 5.249146 20.064896 c
6.150853 18.279699 l
h
9.500000 19.072298 m
10.000000 19.072298 l
10.000000 21.072298 l
9.500000 21.072298 l
9.500000 19.072298 l
h
9.944915 19.073816 m
11.783466 18.972385 13.520004 18.196362 14.822034 16.894333 c
16.236248 18.308546 l
14.586082 19.958712 12.385229 20.942228 10.055085 21.070780 c
9.944915 19.073816 l
h
14.822034 16.894333 m
16.124063 15.592302 16.900087 13.855764 17.001518 12.017213 c
18.998482 12.127383 l
18.869930 14.457527 17.886414 16.658381 16.236248 18.308546 c
14.822034 16.894333 l
h
17.000000 12.072298 m
17.000000 11.572298 l
19.000000 11.572298 l
19.000000 12.072298 l
17.000000 12.072298 l
h
f
n
Q
q
1.000000 0.000000 -0.000000 1.000000 9.000000 13.500000 cm
1.000000 1.000000 1.000000 scn
0.000000 2.250000 m
-0.414214 2.250000 -0.750000 1.914214 -0.750000 1.500000 c
-0.750000 1.085786 -0.414214 0.750000 0.000000 0.750000 c
0.000000 2.250000 l
h
7.000000 0.750000 m
7.414214 0.750000 7.750000 1.085786 7.750000 1.500000 c
7.750000 1.914214 7.414214 2.250000 7.000000 2.250000 c
7.000000 0.750000 l
h
0.000000 0.750000 m
7.000000 0.750000 l
7.000000 2.250000 l
0.000000 2.250000 l
0.000000 0.750000 l
h
f
n
Q
q
1.000000 0.000000 -0.000000 1.000000 9.000000 10.500000 cm
1.000000 1.000000 1.000000 scn
0.000000 2.250000 m
-0.414214 2.250000 -0.750000 1.914214 -0.750000 1.500000 c
-0.750000 1.085786 -0.414214 0.750000 0.000000 0.750000 c
0.000000 2.250000 l
h
8.000000 0.750000 m
8.414213 0.750000 8.750000 1.085786 8.750000 1.500000 c
8.750000 1.914214 8.414213 2.250000 8.000000 2.250000 c
8.000000 0.750000 l
h
0.000000 0.750000 m
8.000000 0.750000 l
8.000000 2.250000 l
0.000000 2.250000 l
0.000000 0.750000 l
h
f
n
Q
q
1.000000 0.000000 -0.000000 1.000000 9.000000 7.500000 cm
1.000000 1.000000 1.000000 scn
0.000000 2.250000 m
-0.414214 2.250000 -0.750000 1.914214 -0.750000 1.500000 c
-0.750000 1.085786 -0.414214 0.750000 0.000000 0.750000 c
0.000000 2.250000 l
h
4.000000 0.750000 m
4.414214 0.750000 4.750000 1.085786 4.750000 1.500000 c
4.750000 1.914214 4.414214 2.250000 4.000000 2.250000 c
4.000000 0.750000 l
h
0.000000 0.750000 m
4.000000 0.750000 l
4.000000 2.250000 l
0.000000 2.250000 l
0.000000 0.750000 l
h
f
n
Q
endstream
endobj
3 0 obj
6114
endobj
4 0 obj
<< /Annots []
/Type /Page
/MediaBox [ 0.000000 0.000000 24.000000 24.000000 ]
/Resources 1 0 R
/Contents 2 0 R
/Parent 5 0 R
>>
endobj
5 0 obj
<< /Kids [ 4 0 R ]
/Count 1
/Type /Pages
>>
endobj
6 0 obj
<< /Pages 5 0 R
/Type /Catalog
>>
endobj
xref
0 7
0000000000 65535 f
0000000010 00000 n
0000000034 00000 n
0000006204 00000 n
0000006227 00000 n
0000006400 00000 n
0000006474 00000 n
trailer
<< /ID [ (some) (id) ]
/Root 6 0 R
/Size 7
>>
startxref
6533
%%EOF

View File

@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="21507" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES" initialViewController="yjd-Jn-wK5">
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="22505" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES" initialViewController="yjd-Jn-wK5">
<device id="retina6_12" orientation="portrait" appearance="light"/>
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="21505"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22504"/>
<capability name="Named colors" minToolsVersion="9.0"/>
<capability name="System colors in document resources" minToolsVersion="11.0"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
@@ -41,11 +41,11 @@
<viewControllerLayoutGuide type="bottom" id="5Zv-Vd-zKf"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="Nuo-UQ-uqm">
<rect key="frame" x="0.0" y="0.0" width="393" height="783"/>
<rect key="frame" x="0.0" y="0.0" width="393" height="842"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" translatesAutoresizingMaskIntoConstraints="NO" id="hio-Xi-kNY">
<rect key="frame" x="32" y="363.33333333333331" width="329" height="56.666666666666686"/>
<rect key="frame" x="32" y="392.66666666666669" width="329" height="56.666666666666686"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Block Log Disabled" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="9Mg-Xn-BmP">
<rect key="frame" x="0.0" y="0.0" width="329" height="25.666666666666668"/>
@@ -54,7 +54,7 @@
<nil key="highlightedColor"/>
</label>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="j7V-kr-ymm">
<rect key="frame" x="0.0" y="25.666666666666686" width="329" height="31"/>
<rect key="frame" x="0.0" y="25.666666666666629" width="329" height="31"/>
<fontDescription key="fontDescription" name="Montserrat-Regular" family="Montserrat" pointSize="15"/>
<state key="normal" title="Enable Block Log">
<color key="titleColor" name="Confirmed Blue"/>
@@ -69,7 +69,7 @@
</constraints>
</stackView>
<tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="default" allowsSelection="NO" rowHeight="-1" estimatedRowHeight="-1" sectionHeaderHeight="1" sectionFooterHeight="1" translatesAutoresizingMaskIntoConstraints="NO" id="I2D-RD-nwm">
<rect key="frame" x="0.0" y="168" width="393" height="615"/>
<rect key="frame" x="0.0" y="168" width="393" height="674"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<prototypes>
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" insetsLayoutMarginsFromSafeArea="NO" selectionStyle="blue" accessoryType="detailButton" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="blockLogCell" rowHeight="36" id="7rY-DO-9Xs" customClass="BlockLogCell" customModule="Lockdown" customModuleProvider="target">
@@ -1149,7 +1149,7 @@
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" translatesAutoresizingMaskIntoConstraints="NO" id="CQN-ao-cuu">
<rect key="frame" x="0.0" y="113" width="393" height="48"/>
<rect key="frame" x="0.0" y="113" width="393" height="50"/>
<subviews>
<view hidden="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="PO4-d5-rZJ">
<rect key="frame" x="0.0" y="0.0" width="393" height="8"/>
@@ -1170,10 +1170,10 @@
</constraints>
</view>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="SRb-dA-tWF">
<rect key="frame" x="0.0" y="0.0" width="393" height="48"/>
<rect key="frame" x="0.0" y="0.0" width="393" height="50"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Blocking Enabled" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Kd7-nB-tAb">
<rect key="frame" x="20" y="5.6666666666666714" width="143.66666666666666" height="30"/>
<rect key="frame" x="20" y="6.6666666666666714" width="143.66666666666666" height="30"/>
<constraints>
<constraint firstAttribute="height" constant="30" id="ZgL-en-Q3V"/>
</constraints>
@@ -1181,14 +1181,14 @@
<nil key="highlightedColor"/>
</label>
<switch opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="750" verticalHuggingPriority="750" contentHorizontalAlignment="center" contentVerticalAlignment="center" on="YES" translatesAutoresizingMaskIntoConstraints="NO" id="MMI-Pp-XI4">
<rect key="frame" x="324" y="5" width="51" height="31"/>
<rect key="frame" x="324" y="5" width="51" height="33"/>
<color key="onTintColor" red="0.0" green="0.67751116069999995" blue="0.90461090690000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<connections>
<action selector="toggleLockdownWithSender:" destination="lbX-da-1v3" eventType="valueChanged" id="5KZ-iG-w1a"/>
</connections>
</switch>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="pH0-q3-pY2">
<rect key="frame" x="0.0" y="47" width="393" height="1"/>
<rect key="frame" x="0.0" y="49" width="393" height="1"/>
<color key="backgroundColor" systemColor="separatorColor"/>
<constraints>
<constraint firstAttribute="height" constant="1" id="cle-g9-fSo"/>
@@ -1211,7 +1211,7 @@
</subviews>
</stackView>
<tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="default" allowsSelection="NO" rowHeight="-1" estimatedRowHeight="-1" sectionHeaderHeight="45" sectionFooterHeight="1" translatesAutoresizingMaskIntoConstraints="NO" id="Gjd-0I-N7k">
<rect key="frame" x="0.0" y="161" width="393" height="691"/>
<rect key="frame" x="0.0" y="163" width="393" height="689"/>
<color key="backgroundColor" systemColor="groupTableViewBackgroundColor"/>
<prototypes>
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" insetsLayoutMarginsFromSafeArea="NO" selectionStyle="blue" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="BlockListGroupCell" rowHeight="72" id="c8H-rF-8EP" customClass="BlockListGroupCell" customModule="Lockdown" customModuleProvider="target">
@@ -1309,7 +1309,7 @@
<viewControllerLayoutGuide type="bottom" id="Po9-pT-Q04"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="QiH-FG-oS0">
<rect key="frame" x="0.0" y="0.0" width="393" height="783"/>
<rect key="frame" x="0.0" y="0.0" width="393" height="842"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Secure Tunnel VPN" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="BGP-ej-jz6">
@@ -1324,21 +1324,21 @@
<nil key="highlightedColor"/>
</label>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" translatesAutoresizingMaskIntoConstraints="NO" id="S23-u0-Kag">
<rect key="frame" x="0.0" y="101" width="393" height="622"/>
<rect key="frame" x="0.0" y="101" width="393" height="681"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="6ud-W7-n5o">
<rect key="frame" x="0.0" y="0.0" width="393" height="93.333333333333329"/>
<rect key="frame" x="0.0" y="0.0" width="393" height="102"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="59a-VP-wmc" userLabel="Left margin placeholder">
<rect key="frame" x="0.0" y="0.0" width="34" height="93.333333333333329"/>
<rect key="frame" x="0.0" y="0.0" width="34" height="102"/>
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
</view>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="2qw-bO-ccW" userLabel="Right margin placeholder">
<rect key="frame" x="359" y="0.0" width="34" height="93.333333333333329"/>
<rect key="frame" x="359" y="0.0" width="34" height="102"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
</view>
<label opaque="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Anonymous Monthly" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="xt8-uP-JgS">
<rect key="frame" x="76" y="17.333333333333325" width="309" height="38.666666666666657"/>
<rect key="frame" x="76" y="22.000000000000004" width="309" height="38.333333333333343"/>
<constraints>
<constraint firstAttribute="height" constant="38.5" id="9jN-wn-44u"/>
</constraints>
@@ -1346,13 +1346,13 @@
<nil key="highlightedColor"/>
</label>
<label opaque="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="iPads and iPhones" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ODT-wN-bGo">
<rect key="frame" x="76" y="50" width="309" height="17.333333333333329"/>
<rect key="frame" x="76" y="54.333333333333343" width="309" height="17.333333333333329"/>
<fontDescription key="fontDescription" name="Montserrat-Regular" family="Montserrat" pointSize="14"/>
<color key="textColor" red="0.72156862749999995" green="0.72156862749999995" blue="0.72336632010000002" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
</label>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="WcD-2j-Lym" customClass="M13Checkbox" customModule="Lockdown" customModuleProvider="target">
<rect key="frame" x="34" y="30.666666666666657" width="32" height="32"/>
<rect key="frame" x="34" y="35" width="32" height="32"/>
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
<color key="tintColor" red="0.0" green="0.67751116069999995" blue="0.90461090690000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<accessibility key="accessibilityConfiguration" hint="iOS Monthly supports iPads and iPhones. Double tap using VoiceOver to select." label="Checkbox for &quot;iOS Monthly&quot; Plan">
@@ -1412,10 +1412,10 @@
</constraints>
</view>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="JcG-2h-t2a">
<rect key="frame" x="0.0" y="93.333333333333343" width="393" height="93.333333333333343"/>
<rect key="frame" x="0.0" y="102" width="393" height="102.33333333333331"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="BI8-xc-diY" customClass="M13Checkbox" customModule="Lockdown" customModuleProvider="target">
<rect key="frame" x="34" y="30.666666666666657" width="32" height="32"/>
<rect key="frame" x="34" y="35.333333333333343" width="32" height="32"/>
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
<color key="tintColor" red="0.0" green="0.67751116069999995" blue="0.90461090690000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<accessibility key="accessibilityConfiguration" hint="iOS Annual supports iPads and iPhones. Double tap using VoiceOver to select." label="Checkbox for &quot;iOS Annual&quot; Plan">
@@ -1440,7 +1440,7 @@
</connections>
</view>
<label opaque="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Anonymous Annual (Save ~50%)" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="5Ce-KH-z1j">
<rect key="frame" x="76" y="17.333333333333311" width="309" height="38.666666666666657"/>
<rect key="frame" x="76" y="21.999999999999996" width="309" height="38.666666666666657"/>
<constraints>
<constraint firstAttribute="height" constant="38.5" id="evj-cu-zx7"/>
</constraints>
@@ -1448,7 +1448,7 @@
<nil key="highlightedColor"/>
</label>
<label opaque="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="iPads and iPhones" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsLetterSpacingToFitWidth="YES" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="naG-mg-g14">
<rect key="frame" x="76" y="50" width="309" height="17.333333333333329"/>
<rect key="frame" x="76" y="54.666666666666686" width="309" height="17.333333333333329"/>
<fontDescription key="fontDescription" name="Montserrat-Regular" family="Montserrat" pointSize="14"/>
<color key="textColor" red="0.72156862749999995" green="0.72156862749999995" blue="0.72336632010000002" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
@@ -1466,18 +1466,18 @@
</constraints>
</view>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="9vR-mv-1tY">
<rect key="frame" x="0.0" y="186.66666666666669" width="393" height="93.333333333333314"/>
<rect key="frame" x="0.0" y="204.33333333333331" width="393" height="102"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="nAV-hV-aNI" userLabel="Left margin placeholder">
<rect key="frame" x="0.0" y="0.0" width="34" height="93.333333333333329"/>
<rect key="frame" x="0.0" y="0.0" width="34" height="102"/>
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
</view>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="pu7-Aa-OIE" userLabel="Right margin placeholder">
<rect key="frame" x="359" y="0.0" width="34" height="93.333333333333329"/>
<rect key="frame" x="359" y="0.0" width="34" height="102"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
</view>
<label opaque="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Universal Monthly" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="c6Y-nW-xhv">
<rect key="frame" x="76" y="17.333333333333311" width="309" height="38.666666666666657"/>
<rect key="frame" x="76" y="22.000000000000004" width="309" height="38.333333333333343"/>
<constraints>
<constraint firstAttribute="height" constant="38.5" id="PoX-VC-lK0"/>
</constraints>
@@ -1485,13 +1485,13 @@
<nil key="highlightedColor"/>
</label>
<label opaque="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="iPads, iPhones, and Macs" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="SLG-gG-QTX">
<rect key="frame" x="76" y="50" width="309" height="17.333333333333329"/>
<rect key="frame" x="76" y="54.333333333333371" width="309" height="17.333333333333329"/>
<fontDescription key="fontDescription" name="Montserrat-Regular" family="Montserrat" pointSize="14"/>
<color key="textColor" red="0.72156862749999995" green="0.72156862749999995" blue="0.72336632010000002" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
</label>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="hqL-Xy-82O" customClass="M13Checkbox" customModule="Lockdown" customModuleProvider="target">
<rect key="frame" x="34" y="30.666666666666629" width="32" height="32"/>
<rect key="frame" x="34" y="35" width="32" height="32"/>
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
<color key="tintColor" red="0.0" green="0.67751116069999995" blue="0.90461090690000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<accessibility key="accessibilityConfiguration" hint="Pro Monthly supports iPads and iPhones and Macs. Double tap using VoiceOver to select." label="Checkbox for &quot;Pro Monthly&quot; Plan">
@@ -1551,10 +1551,10 @@
</constraints>
</view>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="vLJ-Wh-wvh">
<rect key="frame" x="0.0" y="280" width="393" height="93.333333333333314"/>
<rect key="frame" x="0.0" y="306.33333333333331" width="393" height="102.33333333333331"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="d44-u4-ZF6" customClass="M13Checkbox" customModule="Lockdown" customModuleProvider="target">
<rect key="frame" x="34" y="30.666666666666686" width="32" height="32"/>
<rect key="frame" x="34" y="35.333333333333371" width="32" height="32"/>
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
<color key="tintColor" red="0.0" green="0.67751116069999995" blue="0.90461090690000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<accessibility key="accessibilityConfiguration" hint="Pro Annual supports iPads and iPhones and Macs. Double tap using VoiceOver to select." label="Checkbox for &quot;Pro Annual&quot; Plan">
@@ -1579,7 +1579,7 @@
</connections>
</view>
<label opaque="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Universal Annual (Save ~30%)" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ASZ-so-4BJ">
<rect key="frame" x="76" y="17.333333333333311" width="309" height="38.666666666666657"/>
<rect key="frame" x="76" y="21.999999999999996" width="309" height="38.666666666666657"/>
<constraints>
<constraint firstAttribute="height" constant="38.5" id="TS3-2d-dVZ"/>
</constraints>
@@ -1587,7 +1587,7 @@
<nil key="highlightedColor"/>
</label>
<label opaque="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="iPad, iPhones, and Macs" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsLetterSpacingToFitWidth="YES" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="yvR-wl-rIt">
<rect key="frame" x="76" y="50" width="309" height="17.333333333333329"/>
<rect key="frame" x="76" y="54.666666666666686" width="309" height="17.333333333333329"/>
<fontDescription key="fontDescription" name="Montserrat-Regular" family="Montserrat" pointSize="14"/>
<color key="textColor" red="0.72156862749999995" green="0.72156862749999995" blue="0.72336632010000002" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
@@ -1605,23 +1605,23 @@
</constraints>
</view>
<view contentMode="scaleToFill" verticalHuggingPriority="1" verticalCompressionResistancePriority="1" translatesAutoresizingMaskIntoConstraints="NO" id="FBP-S2-evP" userLabel="Filler">
<rect key="frame" x="0.0" y="373.33333333333331" width="393" height="1"/>
<rect key="frame" x="0.0" y="408.66666666666669" width="393" height="1"/>
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
<constraints>
<constraint firstAttribute="height" constant="1" id="uXW-6W-SOM"/>
</constraints>
</view>
<view contentMode="bottom" translatesAutoresizingMaskIntoConstraints="NO" id="Nfm-Xe-Oyf">
<rect key="frame" x="0.0" y="374.33333333333331" width="393" height="247.66666666666669"/>
<rect key="frame" x="0.0" y="409.66666666666674" width="393" height="271.33333333333326"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="You'll automatically be credited for your existing subscription." textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="lEt-3l-yTH">
<rect key="frame" x="50" y="53.333333333333321" width="293" height="29.333333333333336"/>
<rect key="frame" x="50" y="65.333333333333314" width="293" height="29.333333333333329"/>
<fontDescription key="fontDescription" name="Montserrat-Regular" family="Montserrat" pointSize="12"/>
<color key="textColor" red="0.72156862749999995" green="0.72156862749999995" blue="0.72336632010000002" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
</label>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="v8r-0N-ycQ" customClass="TKTransitionSubmitButton" customModule="Lockdown" customModuleProvider="target">
<rect key="frame" x="34" y="90.666666666666686" width="325" height="66"/>
<rect key="frame" x="34" y="102.66666666666669" width="325" height="66"/>
<color key="backgroundColor" red="0.0" green="0.67751116069999995" blue="0.90461090690000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstAttribute="width" constant="325" id="k9x-6s-NK5">
@@ -1653,7 +1653,7 @@
</connections>
</button>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Dm9-pY-Snm" customClass="TKTransitionSubmitButton" customModule="Lockdown" customModuleProvider="target">
<rect key="frame" x="34" y="164.66666666666669" width="325" height="36.333333333333343"/>
<rect key="frame" x="34" y="176.66666666666669" width="325" height="36.333333333333343"/>
<fontDescription key="fontDescription" name="Montserrat-Medium" family="Montserrat" pointSize="14"/>
<inset key="titleEdgeInsets" minX="0.0" minY="0.0" maxX="0.0" maxY="1"/>
<state key="normal" title="Restore Purchase">
@@ -1669,7 +1669,7 @@
</connections>
</button>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="$49.99/year after (~$4.17/month)" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="XQI-S7-VjW">
<rect key="frame" x="57" y="126.66666666666669" width="279" height="20"/>
<rect key="frame" x="57" y="138.66666666666669" width="279" height="20"/>
<constraints>
<constraint firstAttribute="height" constant="20" id="D0T-Lk-uFo"/>
<constraint firstAttribute="width" constant="279" id="z5V-9Q-IbW"/>
@@ -1737,7 +1737,7 @@
</connections>
</button>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="v8T-bw-mkT">
<rect key="frame" x="0.0" y="723" width="196.66666666666666" height="40"/>
<rect key="frame" x="0.0" y="782" width="196.66666666666666" height="40"/>
<fontDescription key="fontDescription" name="Montserrat-Regular" family="Montserrat" pointSize="12"/>
<state key="normal" title="Privacy Policy">
<color key="titleColor" red="0.72156862749999995" green="0.72156862749999995" blue="0.72336632010000002" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
@@ -1750,7 +1750,7 @@
</connections>
</button>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="lOA-PB-b5V">
<rect key="frame" x="196.66666666666663" y="723" width="196.33333333333337" height="40"/>
<rect key="frame" x="196.66666666666663" y="782" width="196.33333333333337" height="40"/>
<constraints>
<constraint firstAttribute="height" constant="40" id="WSr-ig-run"/>
</constraints>
@@ -1934,7 +1934,7 @@
<viewControllerLayoutGuide type="bottom" id="vEy-JD-Tzv"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="wB1-BS-FOo">
<rect key="frame" x="0.0" y="0.0" width="393" height="783"/>
<rect key="frame" x="0.0" y="0.0" width="393" height="842"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Tunnel Whitelist" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="uA3-l4-Qe0">
@@ -1963,7 +1963,7 @@
</connections>
</button>
<tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="grouped" separatorStyle="default" rowHeight="-1" estimatedRowHeight="-1" sectionHeaderHeight="45" sectionFooterHeight="1" translatesAutoresizingMaskIntoConstraints="NO" id="1hl-Mi-sjg">
<rect key="frame" x="0.0" y="126.66666666666669" width="393" height="656.33333333333326"/>
<rect key="frame" x="0.0" y="126.66666666666669" width="393" height="715.33333333333326"/>
<color key="backgroundColor" systemColor="groupTableViewBackgroundColor"/>
<prototypes>
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" insetsLayoutMarginsFromSafeArea="NO" selectionStyle="none" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="whitelistCell" rowHeight="50" id="p4O-VD-BkX" customClass="WhitelistCell" customModule="Lockdown" customModuleProvider="target">
@@ -2090,7 +2090,7 @@
<viewControllerLayoutGuide type="bottom" id="Y6r-dp-LQf"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="YWV-lY-gOd">
<rect key="frame" x="0.0" y="0.0" width="393" height="783"/>
<rect key="frame" x="0.0" y="0.0" width="393" height="842"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Set Region" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="KtJ-Jg-Z3X">
@@ -2119,7 +2119,7 @@
</connections>
</button>
<tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="grouped" separatorStyle="default" rowHeight="-1" estimatedRowHeight="-1" sectionHeaderHeight="20" sectionFooterHeight="1" translatesAutoresizingMaskIntoConstraints="NO" id="vRA-Bf-F9U">
<rect key="frame" x="0.0" y="126.66666666666669" width="393" height="656.33333333333326"/>
<rect key="frame" x="0.0" y="126.66666666666669" width="393" height="715.33333333333326"/>
<color key="backgroundColor" systemColor="groupTableViewBackgroundColor"/>
<prototypes>
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" insetsLayoutMarginsFromSafeArea="NO" selectionStyle="none" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="setRegionCell" rowHeight="55" id="zQM-w2-Vaa" customClass="SetRegionCell" customModule="Lockdown" customModuleProvider="target">
@@ -2225,11 +2225,11 @@
<viewControllerLayoutGuide type="bottom" id="tZI-zM-i82"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="WfU-6k-XU6">
<rect key="frame" x="0.0" y="0.0" width="393" height="783"/>
<rect key="frame" x="0.0" y="0.0" width="393" height="842"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" tag="1" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" verticalCompressionResistancePriority="749" text="Firewall" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="LE2-86-d4U">
<rect key="frame" x="24" y="204.66666666666666" width="345" height="53.999999999999972"/>
<rect key="frame" x="24" y="234" width="345" height="54"/>
<constraints>
<constraint firstAttribute="height" constant="54" id="n7q-xX-azr"/>
</constraints>
@@ -2238,13 +2238,13 @@
<nil key="highlightedColor"/>
</label>
<label opaque="NO" tag="2" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" minimumScaleFactor="0.5" translatesAutoresizingMaskIntoConstraints="NO" id="T2B-yz-40I">
<rect key="frame" x="24" y="289.66666666666669" width="345" height="134.33333333333331"/>
<rect key="frame" x="24" y="319" width="345" height="134.33333333333337"/>
<string key="text">Lockdown Firewall is 100% on-device, so it does not collect or transmit any data to any servers - everything stays on your device.</string>
<fontDescription key="fontDescription" name="Montserrat-Regular" family="Montserrat" pointSize="22"/>
<nil key="highlightedColor"/>
</label>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="7nc-lb-z6u">
<rect key="frame" x="86.666666666666686" y="608" width="220" height="60"/>
<rect key="frame" x="86.666666666666686" y="701" width="220" height="60"/>
<color key="backgroundColor" red="0.0" green="0.67751116069999995" blue="0.90461090690000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstAttribute="height" constant="60" id="VSE-eg-fwE">
@@ -2269,7 +2269,7 @@
</connections>
</button>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="xku-wv-T8F">
<rect key="frame" x="73.666666666666686" y="541" width="246" height="55"/>
<rect key="frame" x="73.666666666666686" y="634" width="246" height="55"/>
<subviews>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="a37-qm-xpZ">
<rect key="frame" x="71.333333333333329" y="23.666666666666629" width="102.99999999999999" height="18.333333333333329"/>
@@ -2302,7 +2302,7 @@
</constraints>
</view>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="BhW-8r-pbC">
<rect key="frame" x="104.66666666666669" y="684" width="184" height="32"/>
<rect key="frame" x="104.66666666666669" y="777" width="184" height="32"/>
<fontDescription key="fontDescription" name="Montserrat-SemiBold" family="Montserrat" pointSize="16"/>
<state key="normal" title="Why Trust Lockdown?">
<color key="titleColor" red="0.0" green="0.67843137249999996" blue="0.90588235289999997" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
@@ -2326,7 +2326,7 @@
</connections>
</button>
<label opaque="NO" tag="2" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="World's Simplest Privacy Policy" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" minimumScaleFactor="0.5" translatesAutoresizingMaskIntoConstraints="NO" id="6sx-m3-XUn">
<rect key="frame" x="24" y="258.66666666666669" width="345" height="27"/>
<rect key="frame" x="24" y="288" width="345" height="27"/>
<constraints>
<constraint firstAttribute="height" constant="27" id="kgN-J6-mrV"/>
</constraints>
@@ -2380,11 +2380,11 @@
<viewControllerLayoutGuide type="bottom" id="GWG-xr-FBb"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="zdg-gR-3YW">
<rect key="frame" x="0.0" y="0.0" width="393" height="783"/>
<rect key="frame" x="0.0" y="0.0" width="393" height="842"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" tag="1" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" verticalCompressionResistancePriority="749" text="VPN" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="aXL-VV-lJa">
<rect key="frame" x="24" y="204.66666666666666" width="345" height="53.999999999999972"/>
<rect key="frame" x="24" y="234" width="345" height="54"/>
<constraints>
<constraint firstAttribute="height" constant="54" id="aux-MJ-d8k"/>
</constraints>
@@ -2393,13 +2393,13 @@
<nil key="highlightedColor"/>
</label>
<label opaque="NO" tag="2" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" minimumScaleFactor="0.5" translatesAutoresizingMaskIntoConstraints="NO" id="UJ5-nt-aYy">
<rect key="frame" x="24" y="289.66666666666669" width="345" height="134.33333333333331"/>
<rect key="frame" x="24" y="319" width="345" height="134.33333333333337"/>
<string key="text">Lockdown VPN is 100% open source, fully audited, and has a strict no-logs policy. Proof of your data protection is in the Privacy Policy.</string>
<fontDescription key="fontDescription" name="Montserrat-Regular" family="Montserrat" pointSize="22"/>
<nil key="highlightedColor"/>
</label>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="tzL-mY-IJs">
<rect key="frame" x="86.666666666666686" y="608" width="220" height="60"/>
<rect key="frame" x="86.666666666666686" y="701" width="220" height="60"/>
<color key="backgroundColor" red="0.0" green="0.67751116069999995" blue="0.90461090690000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstAttribute="height" constant="60" id="3RI-sW-deI">
@@ -2424,7 +2424,7 @@
</connections>
</button>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="RIq-9v-N6V">
<rect key="frame" x="36.666666666666657" y="541" width="320" height="55"/>
<rect key="frame" x="36.666666666666657" y="634" width="320" height="55"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="8fl-bc-qTb" customClass="M13Checkbox" customModule="Lockdown" customModuleProvider="target">
<rect key="frame" x="17" y="9.6666666666666288" width="36" height="36"/>
@@ -2489,7 +2489,7 @@
</constraints>
</view>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="A3S-Ro-tUz">
<rect key="frame" x="104.66666666666669" y="684" width="184" height="32"/>
<rect key="frame" x="104.66666666666669" y="777" width="184" height="32"/>
<fontDescription key="fontDescription" name="Montserrat-SemiBold" family="Montserrat" pointSize="16"/>
<state key="normal" title="Why Trust Lockdown?">
<color key="titleColor" red="0.0" green="0.67843137249999996" blue="0.90588235289999997" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
@@ -2513,7 +2513,7 @@
</connections>
</button>
<label opaque="NO" tag="2" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Protect Good Connections" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" minimumScaleFactor="0.5" translatesAutoresizingMaskIntoConstraints="NO" id="TaD-Vg-S5A">
<rect key="frame" x="24" y="258.66666666666669" width="345" height="27"/>
<rect key="frame" x="24" y="288" width="345" height="27"/>
<constraints>
<constraint firstAttribute="height" constant="27" id="PPU-m0-NYL"/>
</constraints>
@@ -2560,6 +2560,25 @@
</objects>
<point key="canvasLocation" x="-4665" y="516"/>
</scene>
<!--Feedback-->
<scene sceneID="AxW-3b-BhF">
<objects>
<viewController id="GZv-gQ-vbv" sceneMemberID="viewController">
<layoutGuides>
<viewControllerLayoutGuide type="top" id="JAt-m5-efS"/>
<viewControllerLayoutGuide type="bottom" id="ISE-r9-KAV"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="3kG-dv-hjq">
<rect key="frame" x="0.0" y="0.0" width="393" height="852"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
</view>
<tabBarItem key="tabBarItem" title="Feedback" image="message.fill" catalog="system" id="hqu-8v-XrR"/>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="TYo-Lj-A6R" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="-3908" y="2679"/>
</scene>
<!--What Is Vpn View Controller-->
<scene sceneID="1vb-KB-0es">
<objects>
@@ -2569,11 +2588,11 @@
<viewControllerLayoutGuide type="bottom" id="MUb-wW-Cjc"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="Tlq-UG-aVF">
<rect key="frame" x="0.0" y="0.0" width="393" height="783"/>
<rect key="frame" x="0.0" y="0.0" width="393" height="842"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="VK2-VJ-AkH">
<rect key="frame" x="61.666666666666657" y="659" width="270" height="54"/>
<rect key="frame" x="61.666666666666657" y="752" width="270" height="54"/>
<color key="backgroundColor" red="0.0" green="0.67843137249999996" blue="0.90588235289999997" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstAttribute="width" constant="270" id="YKR-nb-aGR"/>
@@ -2625,13 +2644,13 @@
<nil key="highlightedColor"/>
</label>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" translatesAutoresizingMaskIntoConstraints="NO" id="F5W-Oj-v86">
<rect key="frame" x="16" y="136" width="361" height="511"/>
<rect key="frame" x="16" y="136" width="361" height="604"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="IVk-Gz-tKF">
<rect key="frame" x="0.0" y="0.0" width="361" height="202"/>
<rect key="frame" x="0.0" y="0.0" width="361" height="248.66666666666666"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="e3m-dG-rre">
<rect key="frame" x="20.666666666666657" y="41" width="320" height="120"/>
<rect key="frame" x="20.666666666666657" y="64.333333333333343" width="320" height="120"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="cHI-27-7tw">
<rect key="frame" x="218" y="22" width="3" height="36"/>
@@ -2642,7 +2661,7 @@
</constraints>
</view>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="zvM-wf-VkQ">
<rect key="frame" x="154.33333333333334" y="62" width="3" height="24"/>
<rect key="frame" x="154.33333333333334" y="61.999999999999972" width="3" height="24"/>
<color key="backgroundColor" white="0.93000000000000005" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="width" constant="3" id="BEX-xc-Gif"/>
@@ -2658,7 +2677,7 @@
</constraints>
</view>
<view multipleTouchEnabled="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="FCh-cx-iYu" customClass="NicoProgressBar" customModule="NicoProgress">
<rect key="frame" x="30" y="57" width="260" height="6"/>
<rect key="frame" x="30" y="56.999999999999972" width="260" height="6"/>
<color key="backgroundColor" red="0.90588235294117647" green="0.29803921568627451" blue="0.23529411764705882" alpha="1" colorSpace="calibratedRGB"/>
<constraints>
<constraint firstAttribute="height" constant="6" id="SmM-vC-OYr"/>
@@ -2716,7 +2735,7 @@
</userDefinedRuntimeAttributes>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="To: joe@email.comRe: Q4 2019 Finance Review" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" minimumScaleFactor="0.40000000596046448" adjustsLetterSpacingToFitWidth="YES" translatesAutoresizingMaskIntoConstraints="NO" id="mRH-Ie-0qb">
<rect key="frame" x="66" y="84" width="180" height="34"/>
<rect key="frame" x="66" y="83.999999999999972" width="180" height="34"/>
<color key="backgroundColor" white="0.92890808390000001" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="height" constant="34" id="8PQ-t4-9LM"/>
@@ -2766,7 +2785,7 @@
</constraints>
</view>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="WQf-uA-Wbx">
<rect key="frame" x="0.0" y="202" width="361" height="107"/>
<rect key="frame" x="0.0" y="248.66666666666669" width="361" height="107"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" usesAttributedText="YES" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="yRI-86-Bas">
<rect key="frame" x="66.333333333333329" y="0.0" width="228.66666666666669" height="107"/>
@@ -2803,10 +2822,10 @@
</constraints>
</view>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="RJ8-Mo-Kvx">
<rect key="frame" x="0.0" y="309" width="361" height="202"/>
<rect key="frame" x="0.0" y="355.66666666666669" width="361" height="248.33333333333331"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Lgj-pF-gac" customClass="CircularView" customModule="Lockdown" customModuleProvider="target">
<rect key="frame" x="130.66666666666666" y="35" width="100" height="100"/>
<rect key="frame" x="130.66666666666666" y="57.999999999999943" width="100" height="100"/>
<subviews>
<button opaque="NO" userInteractionEnabled="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="rVv-AB-Lz6">
<rect key="frame" x="0.0" y="0.0" width="100" height="100"/>
@@ -2830,7 +2849,7 @@
</userDefinedRuntimeAttributes>
</view>
<button opaque="NO" contentMode="scaleAspectFit" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="O4a-yi-uRp">
<rect key="frame" x="17.333333333333343" y="17.666666666666686" width="65" height="65"/>
<rect key="frame" x="17.333333333333343" y="17.666666666666742" width="65" height="65"/>
<color key="tintColor" white="0.66666666669999997" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<state key="normal" title="Button" image="power"/>
<connections>
@@ -2859,7 +2878,7 @@
</constraints>
</view>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="TUNNEL OFF" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="cVg-HS-AW8">
<rect key="frame" x="125.66666666666666" y="143" width="110" height="19"/>
<rect key="frame" x="125.66666666666666" y="165.99999999999994" width="110" height="19"/>
<color key="backgroundColor" red="0.94509803920000002" green="0.76862745099999996" blue="0.058823529409999999" alpha="1" colorSpace="calibratedRGB"/>
<constraints>
<constraint firstAttribute="width" constant="110" id="W7Q-v4-wDc"/>
@@ -2893,7 +2912,7 @@
</constraints>
</stackView>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Vhr-9g-C3l">
<rect key="frame" x="149.66666666666666" y="717" width="94" height="32"/>
<rect key="frame" x="149.66666666666666" y="810" width="94" height="32"/>
<fontDescription key="fontDescription" name="Montserrat-SemiBold" family="Montserrat" pointSize="16"/>
<state key="normal" title="Learn More">
<color key="titleColor" red="0.0" green="0.67843137249999996" blue="0.90588235289999997" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
@@ -3307,11 +3326,11 @@
<viewControllerLayoutGuide type="bottom" id="9Ri-Pq-5BT"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="dN1-rk-xyP">
<rect key="frame" x="0.0" y="0.0" width="393" height="783"/>
<rect key="frame" x="0.0" y="0.0" width="393" height="842"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="j43-ba-oDJ">
<rect key="frame" x="86.666666666666686" y="601" width="220" height="60"/>
<rect key="frame" x="86.666666666666686" y="694" width="220" height="60"/>
<color key="backgroundColor" red="0.0" green="0.67751116069999995" blue="0.90461090690000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstAttribute="height" constant="60" id="IM4-zE-QJg">
@@ -3469,6 +3488,7 @@
<connections>
<segue destination="NZN-Gg-FQX" kind="relationship" relationship="viewControllers" id="UBf-7M-z1O"/>
<segue destination="x5h-bb-His" kind="relationship" relationship="viewControllers" id="w5t-4Q-3eL"/>
<segue destination="GZv-gQ-vbv" kind="relationship" relationship="viewControllers" id="5sx-qJ-7ON"/>
</connections>
</tabBarController>
<placeholder placeholderIdentifier="IBFirstResponder" id="Zkl-A7-EXa" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/>
@@ -3653,7 +3673,7 @@
<objects>
<navigationController navigationBarHidden="YES" id="0CN-pU-wkU" sceneMemberID="viewController">
<navigationBar key="navigationBar" contentMode="scaleToFill" id="xnF-hM-zEQ">
<rect key="frame" x="0.0" y="-69" width="0.0" height="0.0"/>
<rect key="frame" x="0.0" y="-10" width="0.0" height="0.0"/>
<autoresizingMask key="autoresizingMask"/>
</navigationBar>
<connections>
@@ -3673,7 +3693,7 @@
<viewControllerLayoutGuide type="bottom" id="KGW-Mx-ovj"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="SZI-F2-PEF">
<rect key="frame" x="0.0" y="0.0" width="393" height="783"/>
<rect key="frame" x="0.0" y="0.0" width="393" height="842"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
</view>
@@ -3704,6 +3724,7 @@
<image name="icn_firewall" width="19" height="22"/>
<image name="icn_vpn" width="22" height="22"/>
<image name="lock.shield.fill" catalog="system" width="128" height="119"/>
<image name="message.fill" catalog="system" width="128" height="114"/>
<image name="person.crop.circle.fill" catalog="system" width="128" height="123"/>
<image name="power" width="284" height="284"/>
<namedColor name="Confirmed Blue">

View File

@@ -368,6 +368,8 @@ class HomeViewController: BaseViewController, AwesomeSpotlightViewDelegate, Load
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
tabBarController?.delegate = self
}
override func viewDidAppear(_ animated: Bool) {
@@ -1196,3 +1198,24 @@ extension NEVPNStatus: CustomStringConvertible {
}
}
}
extension HomeViewController: UITabBarControllerDelegate {
func tabBarController(_ tabBarController: UITabBarController, shouldSelect viewController: UIViewController) -> Bool {
if viewController is UINavigationController || viewController is HomeViewController {
return true
}
let stepsViewController = StepsViewController()
var viewModel = StepsViewModel { [weak self] message in
self?.sendMessage(
message,
subject: "Lockdown Error Reporting Form (iOS \(Bundle.main.versionString))"
)
}
stepsViewController.viewModel = viewModel
stepsViewController.modalPresentationStyle = .fullScreen
present(stepsViewController, animated: true)
return false
}
}