Commit 8d05af0c8765b5d849be87f153b8363b97f0ce5d
1 parent
235e6900
Exists in
newLive
no message
Showing
9 changed files
with
453 additions
and
199 deletions
Show diff stats
YouerLiveVideo/YouerLiveVideo.xcodeproj/project.pbxproj
| ... | ... | @@ -47,6 +47,7 @@ |
| 47 | 47 | 599B2CE11DE52F7E00B4F7FD /* UMShareMenuSelectionView.m in Sources */ = {isa = PBXBuildFile; fileRef = 599B2CCE1DE52F7E00B4F7FD /* UMShareMenuSelectionView.m */; }; |
| 48 | 48 | 599B2CE21DE52F7E00B4F7FD /* UMSocialShareScrollView.m in Sources */ = {isa = PBXBuildFile; fileRef = 599B2CD01DE52F7E00B4F7FD /* UMSocialShareScrollView.m */; }; |
| 49 | 49 | 599B2CE31DE52F7E00B4F7FD /* UMSocialUIManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 599B2CD21DE52F7E00B4F7FD /* UMSocialUIManager.m */; }; |
| 50 | + 59AE3DF91ECE8A90003E2C62 /* pinyin.c in Sources */ = {isa = PBXBuildFile; fileRef = 59AE3DF71ECE8A90003E2C62 /* pinyin.c */; }; | |
| 50 | 51 | 59BA13251E25CF2B00540DE0 /* AliyunPlayerSDK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 59BA13241E25CF2B00540DE0 /* AliyunPlayerSDK.framework */; }; |
| 51 | 52 | 59BA13271E25CF4B00540DE0 /* AliyunPlayerSDK.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 59BA13241E25CF2B00540DE0 /* AliyunPlayerSDK.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; |
| 52 | 53 | 59BA13311E25D1C000540DE0 /* Reachability.m in Sources */ = {isa = PBXBuildFile; fileRef = 59BA13301E25D1C000540DE0 /* Reachability.m */; }; |
| ... | ... | @@ -329,6 +330,8 @@ |
| 329 | 330 | 599B2CD01DE52F7E00B4F7FD /* UMSocialShareScrollView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UMSocialShareScrollView.m; sourceTree = "<group>"; }; |
| 330 | 331 | 599B2CD11DE52F7E00B4F7FD /* UMSocialUIManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UMSocialUIManager.h; sourceTree = "<group>"; }; |
| 331 | 332 | 599B2CD21DE52F7E00B4F7FD /* UMSocialUIManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UMSocialUIManager.m; sourceTree = "<group>"; }; |
| 333 | + 59AE3DF71ECE8A90003E2C62 /* pinyin.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pinyin.c; sourceTree = "<group>"; }; | |
| 334 | + 59AE3DF81ECE8A90003E2C62 /* pinyin.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pinyin.h; sourceTree = "<group>"; }; | |
| 332 | 335 | 59BA13241E25CF2B00540DE0 /* AliyunPlayerSDK.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AliyunPlayerSDK.framework; path = YouerLiveVideo/lib/AliyunPlayerSDK.framework; sourceTree = "<group>"; }; |
| 333 | 336 | 59BA132F1E25D1C000540DE0 /* Reachability.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Reachability.h; sourceTree = "<group>"; }; |
| 334 | 337 | 59BA13301E25D1C000540DE0 /* Reachability.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Reachability.m; sourceTree = "<group>"; }; |
| ... | ... | @@ -1224,6 +1227,8 @@ |
| 1224 | 1227 | children = ( |
| 1225 | 1228 | BFBB83D41ECC4446008B404B /* PassWordView.swift */, |
| 1226 | 1229 | BFBB83D51ECC4446008B404B /* PassWordView.xib */, |
| 1230 | + 59AE3DF71ECE8A90003E2C62 /* pinyin.c */, | |
| 1231 | + 59AE3DF81ECE8A90003E2C62 /* pinyin.h */, | |
| 1227 | 1232 | 59F801A91DD57253000A78B0 /* ZSDSetPasswordView.h */, |
| 1228 | 1233 | 59F801AA1DD57253000A78B0 /* ZSDSetPasswordView.m */, |
| 1229 | 1234 | BFDFDEC81DD55C0D0040F102 /* account.swift */, |
| ... | ... | @@ -1498,6 +1503,7 @@ |
| 1498 | 1503 | BF7B75A81E305A6D0011D5C7 /* UIScrollView+MJRefresh.m in Sources */, |
| 1499 | 1504 | BF25E0021DDAA36A003EC0C1 /* UIButton+WebCache.m in Sources */, |
| 1500 | 1505 | BF7B759E1E305A6D0011D5C7 /* MJRefreshBackGifFooter.m in Sources */, |
| 1506 | + 59AE3DF91ECE8A90003E2C62 /* pinyin.c in Sources */, | |
| 1501 | 1507 | BF25DFF81DDAA36A003EC0C1 /* NSData+ImageContentType.m in Sources */, |
| 1502 | 1508 | BF25E0151DDAAF73003EC0C1 /* SVIndefiniteAnimatedView.m in Sources */, |
| 1503 | 1509 | BFF5F4921DD5B7CA00D33B89 /* SwiftyJSON.swift in Sources */, | ... | ... |
YouerLiveVideo/YouerLiveVideo/YouerLiveVideo-Bridging-Header.h
YouerLiveVideo/YouerLiveVideo/controllers/TVStation/SearchTVStationListViewController.swift
| ... | ... | @@ -8,21 +8,78 @@ |
| 8 | 8 | |
| 9 | 9 | import UIKit |
| 10 | 10 | |
| 11 | -class SearchTVStationListViewController: UIViewController { | |
| 11 | +class SearchTVStationListViewController: UIViewController,UISearchBarDelegate { | |
| 12 | 12 | var alList:[String] = ["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"] |
| 13 | - var grad:[String] = ["小学","初中","高中","全部年段"] | |
| 13 | + var grad:[String] = [] | |
| 14 | + | |
| 15 | + @IBOutlet weak var selectTableView: UITableView! | |
| 16 | + | |
| 14 | 17 | @IBOutlet weak var downIcon: UIImageView! |
| 15 | 18 | @IBOutlet weak var gradName: UILabel! |
| 16 | 19 | @IBOutlet weak var tableView: UITableView! |
| 17 | 20 | @IBOutlet weak var selectView: UIView! |
| 18 | - | |
| 21 | + var dataSet:[TVStationInfor] = [] | |
| 22 | + var dataDic:[String:[TVStationInfor]] = [:] | |
| 23 | + var allKeys:[String] = [] | |
| 19 | 24 | override func viewDidLoad() { |
| 20 | 25 | super.viewDidLoad() |
| 21 | 26 | gradName.text = "全部年段" |
| 22 | 27 | tableView.tintColor = UIColor.lightGray |
| 28 | + AppDelegate.instance().httpServer.getAllSchool(parameters: nil) { (str, error) in | |
| 29 | + httpJsonResule(jsonString: str, error: error, successHandler: { (json) in | |
| 30 | + self.grad.append("全部年段") | |
| 31 | + for item in json.contentData().arrayValue{ | |
| 32 | + self.dataSet.append(TVStationInfor(json: item)) | |
| 33 | + for (index,gr) in self.grad.enumerated(){ | |
| 34 | + if item["f_SchoolType"].stringValue == gr{ | |
| 35 | + break | |
| 36 | + } | |
| 37 | + if index == self.grad.count-1{ | |
| 38 | + self.grad.insert(item["f_SchoolType"].stringValue, at: 0) | |
| 39 | + } | |
| 40 | + } | |
| 41 | + } | |
| 42 | + self.dataSet = self.dataSet.sorted { (t1, t2) -> Bool in | |
| 43 | + return getFirstLetter(str: t1.f_SchoolName) < getFirstLetter(str: t2.f_SchoolName) | |
| 44 | + } | |
| 45 | + self.sortDataSet(arr: self.dataSet,type: self.grad.last!) | |
| 46 | + }, failHandler: { (error) in | |
| 47 | + | |
| 48 | + }) | |
| 49 | + } | |
| 23 | 50 | // Do any additional setup after loading the view. |
| 24 | 51 | } |
| 25 | - | |
| 52 | + | |
| 53 | + //在一个的列表选择所有当前要求的年段的列表并放到dic中 | |
| 54 | + func sortDataSet(arr:[TVStationInfor],type:String){ | |
| 55 | + dataDic.removeAll() | |
| 56 | + var array:[TVStationInfor] = [] | |
| 57 | + if type == grad.last{ | |
| 58 | + array = arr | |
| 59 | + }else{ | |
| 60 | + for item in arr { | |
| 61 | + if item.f_SchoolType == type{ | |
| 62 | + array.append(item) | |
| 63 | + } | |
| 64 | + } | |
| 65 | + } | |
| 66 | + for al in alList { | |
| 67 | + var tmp:[TVStationInfor] = [] | |
| 68 | + for item in array { | |
| 69 | + if getFirstLetter(str: item.f_SchoolName) == al{ | |
| 70 | + tmp.append(item) | |
| 71 | + } | |
| 72 | + } | |
| 73 | + if tmp.count > 0{ | |
| 74 | + dataDic.updateValue(tmp, forKey: al) | |
| 75 | + } | |
| 76 | + } | |
| 77 | + allKeys = Array(dataDic.keys).sorted(by: { (s1, s2) -> Bool in | |
| 78 | + return s1 < s2 | |
| 79 | + }) | |
| 80 | + tableView.reloadData() | |
| 81 | + } | |
| 82 | + | |
| 26 | 83 | override func didReceiveMemoryWarning() { |
| 27 | 84 | super.didReceiveMemoryWarning() |
| 28 | 85 | // Dispose of any resources that can be recreated. |
| ... | ... | @@ -30,24 +87,21 @@ class SearchTVStationListViewController: UIViewController { |
| 30 | 87 | |
| 31 | 88 | @IBAction func selectGradClick(_ sender: UIButton) { |
| 32 | 89 | selectView.isHidden = false |
| 90 | + selectTableView.reloadData() | |
| 33 | 91 | } |
| 34 | - | |
| 35 | 92 | |
| 36 | - @IBAction func selectBtnClick(_ sender: UIButton) { | |
| 37 | - selectView.isHidden = true | |
| 38 | - switch sender.tag { | |
| 39 | - case 101: | |
| 40 | - break | |
| 41 | - case 102: | |
| 42 | - break | |
| 43 | - case 103: | |
| 44 | - break | |
| 45 | - case 104: | |
| 46 | - break | |
| 47 | - default: | |
| 48 | - break | |
| 93 | + //搜索:根据搜索框中内容帅选全部符合的列表 | |
| 94 | + func searchBarSearchButtonClicked(_ searchBar: UISearchBar) { | |
| 95 | + searchBar.resignFirstResponder() | |
| 96 | + if searchBar.text != nil && searchBar.text != ""{ | |
| 97 | + var arr:[TVStationInfor] = [] | |
| 98 | + for item in dataSet { | |
| 99 | + if item.f_SchoolName.contains(searchBar.text!) { | |
| 100 | + arr.append(item) | |
| 101 | + } | |
| 102 | + } | |
| 103 | + sortDataSet(arr: arr, type: gradName.text!) | |
| 49 | 104 | } |
| 50 | - gradName.text = grad[sender.tag-101] | |
| 51 | 105 | } |
| 52 | 106 | |
| 53 | 107 | /* |
| ... | ... | @@ -64,38 +118,84 @@ class SearchTVStationListViewController: UIViewController { |
| 64 | 118 | |
| 65 | 119 | extension SearchTVStationListViewController:UITableViewDataSource,UITableViewDelegate{ |
| 66 | 120 | func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { |
| 67 | - | |
| 121 | + if tableView == selectTableView{ | |
| 122 | + selectView.isHidden = true | |
| 123 | + gradName.text = grad[indexPath.row] | |
| 124 | + sortDataSet(arr: dataSet,type: grad[indexPath.row]) | |
| 125 | + } | |
| 68 | 126 | } |
| 69 | 127 | |
| 70 | 128 | func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { |
| 71 | - return 1 | |
| 129 | + if tableView == selectTableView{ | |
| 130 | + return grad.count | |
| 131 | + }else{ | |
| 132 | + return dataDic[allKeys[section]]!.count | |
| 133 | + } | |
| 134 | + | |
| 72 | 135 | } |
| 73 | 136 | |
| 74 | 137 | func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { |
| 75 | - let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) | |
| 76 | - return cell | |
| 138 | + if tableView == selectTableView{ | |
| 139 | + let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as! SearchSelectCell | |
| 140 | + cell.selectName.text = grad[indexPath.row] | |
| 141 | + return cell | |
| 142 | + }else{ | |
| 143 | + let item = dataDic[allKeys[indexPath.section]]![indexPath.row] | |
| 144 | + let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as! SearchTVStationListCell | |
| 145 | + cell.stationName.text = item.f_SchoolName | |
| 146 | + cell.tvStationImage.sd_setImage(with: URL(string: item.f_Logo), placeholderImage: UIImage(named:"icon")) | |
| 147 | + return cell | |
| 148 | + } | |
| 149 | + | |
| 77 | 150 | } |
| 78 | 151 | |
| 79 | 152 | func sectionIndexTitles(for tableView: UITableView) -> [String]? { |
| 80 | - return alList+["#"] | |
| 153 | + if tableView == selectTableView{ | |
| 154 | + return [] | |
| 155 | + }else{ | |
| 156 | + return allKeys+["#"] | |
| 157 | + } | |
| 158 | + | |
| 81 | 159 | } |
| 82 | 160 | |
| 83 | 161 | func numberOfSections(in tableView: UITableView) -> Int { |
| 84 | - return alList.count | |
| 162 | + if tableView == selectTableView{ | |
| 163 | + return 1 | |
| 164 | + }else{ | |
| 165 | + return dataDic.keys.count | |
| 166 | + } | |
| 167 | + | |
| 85 | 168 | } |
| 86 | 169 | |
| 87 | 170 | func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? { |
| 88 | - return alList[section] | |
| 171 | + if tableView == selectTableView{ | |
| 172 | + return nil | |
| 173 | + }else{ | |
| 174 | + return allKeys[section] | |
| 175 | + } | |
| 89 | 176 | } |
| 90 | 177 | |
| 91 | 178 | func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat { |
| 92 | - return 44 | |
| 179 | + if tableView == selectTableView{ | |
| 180 | + return 0 | |
| 181 | + }else{ | |
| 182 | + return 44 | |
| 183 | + } | |
| 184 | + } | |
| 185 | + | |
| 186 | + func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat { | |
| 187 | + return 1 | |
| 93 | 188 | } |
| 94 | 189 | } |
| 95 | 190 | |
| 96 | 191 | class SearchTVStationListCell: UITableViewCell { |
| 97 | - | |
| 98 | 192 | @IBOutlet weak var stationName: UILabel! |
| 99 | 193 | @IBOutlet weak var tvStationImage: UIImageView! |
| 100 | 194 | |
| 101 | 195 | } |
| 196 | + | |
| 197 | +class SearchSelectCell: UITableViewCell { | |
| 198 | + | |
| 199 | + @IBOutlet weak var selectName: UILabel! | |
| 200 | + | |
| 201 | +} | ... | ... |
YouerLiveVideo/YouerLiveVideo/controllers/TVStation/TVStation.storyboard
| ... | ... | @@ -204,181 +204,47 @@ |
| 204 | 204 | <view hidden="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="LO5-7p-BlF"> |
| 205 | 205 | <rect key="frame" x="0.0" y="92" width="375" height="575"/> |
| 206 | 206 | <subviews> |
| 207 | - <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="pA5-mr-wp5"> | |
| 208 | - <rect key="frame" x="0.0" y="0.0" width="375" height="48"/> | |
| 209 | - <subviews> | |
| 210 | - <button opaque="NO" tag="101" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="fd9-K0-dbd"> | |
| 211 | - <rect key="frame" x="0.0" y="0.0" width="375" height="48"/> | |
| 212 | - <connections> | |
| 213 | - <action selector="selectBtnClick:" destination="zPk-GV-x5H" eventType="touchUpInside" id="9rC-7O-cx4"/> | |
| 214 | - </connections> | |
| 215 | - </button> | |
| 216 | - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Unb-Qo-FiA"> | |
| 217 | - <rect key="frame" x="16" y="0.0" width="343" height="0.0"/> | |
| 218 | - <color key="backgroundColor" white="0.66666666666666663" alpha="1" colorSpace="calibratedWhite"/> | |
| 219 | - <constraints> | |
| 220 | - <constraint firstAttribute="height" id="BI9-34-fQB"/> | |
| 221 | - </constraints> | |
| 222 | - <fontDescription key="fontDescription" type="system" pointSize="17"/> | |
| 223 | - <nil key="textColor"/> | |
| 224 | - <nil key="highlightedColor"/> | |
| 225 | - </label> | |
| 226 | - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="小学" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="rF3-mJ-pPr"> | |
| 227 | - <rect key="frame" x="170" y="13" width="35" height="21"/> | |
| 228 | - <fontDescription key="fontDescription" type="system" pointSize="17"/> | |
| 229 | - <nil key="textColor"/> | |
| 230 | - <nil key="highlightedColor"/> | |
| 231 | - </label> | |
| 232 | - </subviews> | |
| 233 | - <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | |
| 234 | - <constraints> | |
| 235 | - <constraint firstAttribute="bottom" secondItem="fd9-K0-dbd" secondAttribute="bottom" id="6rw-GD-06f"/> | |
| 236 | - <constraint firstItem="rF3-mJ-pPr" firstAttribute="centerY" secondItem="pA5-mr-wp5" secondAttribute="centerY" id="Ncu-FL-IUg"/> | |
| 237 | - <constraint firstItem="fd9-K0-dbd" firstAttribute="top" secondItem="pA5-mr-wp5" secondAttribute="top" id="S2u-C5-cpE"/> | |
| 238 | - <constraint firstAttribute="trailing" secondItem="Unb-Qo-FiA" secondAttribute="trailing" constant="16" id="Wee-qc-CcZ"/> | |
| 239 | - <constraint firstAttribute="trailing" secondItem="fd9-K0-dbd" secondAttribute="trailing" id="Wz9-N2-5FD"/> | |
| 240 | - <constraint firstAttribute="height" constant="48" id="YGb-kx-Bvs"/> | |
| 241 | - <constraint firstItem="Unb-Qo-FiA" firstAttribute="leading" secondItem="pA5-mr-wp5" secondAttribute="leading" constant="16" id="eAi-qh-uTW"/> | |
| 242 | - <constraint firstItem="fd9-K0-dbd" firstAttribute="leading" secondItem="pA5-mr-wp5" secondAttribute="leading" id="lsn-sl-gUI"/> | |
| 243 | - <constraint firstItem="rF3-mJ-pPr" firstAttribute="centerX" secondItem="pA5-mr-wp5" secondAttribute="centerX" id="sKe-eU-InU"/> | |
| 244 | - <constraint firstItem="Unb-Qo-FiA" firstAttribute="top" secondItem="pA5-mr-wp5" secondAttribute="top" id="zmH-Rb-P8G"/> | |
| 245 | - </constraints> | |
| 246 | - </view> | |
| 247 | - <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="pKJ-J9-5CR"> | |
| 248 | - <rect key="frame" x="0.0" y="48" width="375" height="48"/> | |
| 249 | - <subviews> | |
| 250 | - <button opaque="NO" tag="102" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="veE-AU-inD"> | |
| 251 | - <rect key="frame" x="0.0" y="0.0" width="375" height="48"/> | |
| 252 | - <connections> | |
| 253 | - <action selector="selectBtnClick:" destination="zPk-GV-x5H" eventType="touchUpInside" id="eza-Xp-8Wo"/> | |
| 254 | - </connections> | |
| 255 | - </button> | |
| 256 | - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ma4-Vs-Ai5"> | |
| 257 | - <rect key="frame" x="16" y="0.0" width="343" height="0.0"/> | |
| 258 | - <color key="backgroundColor" white="0.66666666666666663" alpha="1" colorSpace="calibratedWhite"/> | |
| 259 | - <constraints> | |
| 260 | - <constraint firstAttribute="height" id="jyL-SO-bbs"/> | |
| 261 | - </constraints> | |
| 262 | - <fontDescription key="fontDescription" type="system" pointSize="17"/> | |
| 263 | - <nil key="textColor"/> | |
| 264 | - <nil key="highlightedColor"/> | |
| 265 | - </label> | |
| 266 | - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="初中" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="FLD-Vw-eZ9"> | |
| 267 | - <rect key="frame" x="170" y="13" width="35" height="21"/> | |
| 268 | - <fontDescription key="fontDescription" type="system" pointSize="17"/> | |
| 269 | - <nil key="textColor"/> | |
| 270 | - <nil key="highlightedColor"/> | |
| 271 | - </label> | |
| 272 | - </subviews> | |
| 273 | - <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | |
| 274 | - <constraints> | |
| 275 | - <constraint firstItem="ma4-Vs-Ai5" firstAttribute="top" secondItem="pKJ-J9-5CR" secondAttribute="top" id="Em3-dK-r7A"/> | |
| 276 | - <constraint firstItem="veE-AU-inD" firstAttribute="top" secondItem="pKJ-J9-5CR" secondAttribute="top" id="FHs-Rr-oDw"/> | |
| 277 | - <constraint firstItem="FLD-Vw-eZ9" firstAttribute="centerX" secondItem="pKJ-J9-5CR" secondAttribute="centerX" id="MaF-vn-NFk"/> | |
| 278 | - <constraint firstItem="FLD-Vw-eZ9" firstAttribute="centerY" secondItem="pKJ-J9-5CR" secondAttribute="centerY" id="OSS-PS-lIG"/> | |
| 279 | - <constraint firstAttribute="trailing" secondItem="ma4-Vs-Ai5" secondAttribute="trailing" constant="16" id="TK9-u0-NYJ"/> | |
| 280 | - <constraint firstAttribute="trailing" secondItem="veE-AU-inD" secondAttribute="trailing" id="he0-3w-aKO"/> | |
| 281 | - <constraint firstItem="ma4-Vs-Ai5" firstAttribute="leading" secondItem="pKJ-J9-5CR" secondAttribute="leading" constant="16" id="hvr-W0-KtG"/> | |
| 282 | - <constraint firstItem="veE-AU-inD" firstAttribute="leading" secondItem="pKJ-J9-5CR" secondAttribute="leading" id="iIG-ef-wiQ"/> | |
| 283 | - <constraint firstAttribute="bottom" secondItem="veE-AU-inD" secondAttribute="bottom" id="nnX-Fn-UsA"/> | |
| 284 | - <constraint firstAttribute="height" constant="48" id="zHI-3d-Hhy"/> | |
| 285 | - </constraints> | |
| 286 | - </view> | |
| 287 | - <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="jQ0-hJ-LW9"> | |
| 288 | - <rect key="frame" x="0.0" y="96" width="375" height="48"/> | |
| 289 | - <subviews> | |
| 290 | - <button opaque="NO" tag="103" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="rrk-re-JuF"> | |
| 291 | - <rect key="frame" x="0.0" y="0.0" width="375" height="48"/> | |
| 292 | - <connections> | |
| 293 | - <action selector="selectBtnClick:" destination="zPk-GV-x5H" eventType="touchUpInside" id="apL-Gu-0OT"/> | |
| 294 | - </connections> | |
| 295 | - </button> | |
| 296 | - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="TwL-7i-SFE"> | |
| 297 | - <rect key="frame" x="16" y="0.0" width="343" height="0.0"/> | |
| 298 | - <color key="backgroundColor" white="0.66666666666666663" alpha="1" colorSpace="calibratedWhite"/> | |
| 299 | - <constraints> | |
| 300 | - <constraint firstAttribute="height" id="wf7-2t-CcQ"/> | |
| 301 | - </constraints> | |
| 302 | - <fontDescription key="fontDescription" type="system" pointSize="17"/> | |
| 303 | - <nil key="textColor"/> | |
| 304 | - <nil key="highlightedColor"/> | |
| 305 | - </label> | |
| 306 | - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="高中" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="bx3-SK-e4z"> | |
| 307 | - <rect key="frame" x="170" y="13" width="35" height="21"/> | |
| 308 | - <fontDescription key="fontDescription" type="system" pointSize="17"/> | |
| 309 | - <nil key="textColor"/> | |
| 310 | - <nil key="highlightedColor"/> | |
| 311 | - </label> | |
| 312 | - </subviews> | |
| 313 | - <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | |
| 314 | - <constraints> | |
| 315 | - <constraint firstAttribute="bottom" secondItem="rrk-re-JuF" secondAttribute="bottom" id="1aG-FJ-kgi"/> | |
| 316 | - <constraint firstItem="rrk-re-JuF" firstAttribute="top" secondItem="jQ0-hJ-LW9" secondAttribute="top" id="4mU-tH-19D"/> | |
| 317 | - <constraint firstItem="rrk-re-JuF" firstAttribute="leading" secondItem="jQ0-hJ-LW9" secondAttribute="leading" id="8FP-Fd-szb"/> | |
| 318 | - <constraint firstAttribute="trailing" secondItem="TwL-7i-SFE" secondAttribute="trailing" constant="16" id="FJF-cd-6MQ"/> | |
| 319 | - <constraint firstItem="TwL-7i-SFE" firstAttribute="top" secondItem="jQ0-hJ-LW9" secondAttribute="top" id="HJS-18-xud"/> | |
| 320 | - <constraint firstAttribute="height" constant="48" id="L2i-9Z-Zje"/> | |
| 321 | - <constraint firstItem="TwL-7i-SFE" firstAttribute="leading" secondItem="jQ0-hJ-LW9" secondAttribute="leading" constant="16" id="WjE-rt-bZ1"/> | |
| 322 | - <constraint firstAttribute="trailing" secondItem="rrk-re-JuF" secondAttribute="trailing" id="ech-I6-0JJ"/> | |
| 323 | - <constraint firstItem="bx3-SK-e4z" firstAttribute="centerX" secondItem="jQ0-hJ-LW9" secondAttribute="centerX" id="l2K-Ec-fBQ"/> | |
| 324 | - <constraint firstItem="bx3-SK-e4z" firstAttribute="centerY" secondItem="jQ0-hJ-LW9" secondAttribute="centerY" id="yXB-yv-iX2"/> | |
| 325 | - </constraints> | |
| 326 | - </view> | |
| 327 | - <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="PdH-vs-Gjn"> | |
| 328 | - <rect key="frame" x="0.0" y="144" width="375" height="48"/> | |
| 329 | - <subviews> | |
| 330 | - <button opaque="NO" tag="104" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="bqH-ub-Nyu"> | |
| 331 | - <rect key="frame" x="0.0" y="0.0" width="375" height="48"/> | |
| 207 | + <tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="default" rowHeight="44" sectionHeaderHeight="28" sectionFooterHeight="28" translatesAutoresizingMaskIntoConstraints="NO" id="IbJ-62-QUz"> | |
| 208 | + <rect key="frame" x="0.0" y="0.0" width="375" height="575"/> | |
| 209 | + <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> | |
| 210 | + <prototypes> | |
| 211 | + <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" reuseIdentifier="cell" id="1Ns-5p-fDD" customClass="SearchSelectCell" customModule="YouerLiveVideo" customModuleProvider="target"> | |
| 212 | + <rect key="frame" x="0.0" y="28" width="375" height="44"/> | |
| 213 | + <autoresizingMask key="autoresizingMask"/> | |
| 214 | + <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="1Ns-5p-fDD" id="vyn-xK-ILQ"> | |
| 215 | + <rect key="frame" x="0.0" y="0.0" width="375" height="43"/> | |
| 216 | + <autoresizingMask key="autoresizingMask"/> | |
| 217 | + <subviews> | |
| 218 | + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="vrU-H8-dYc"> | |
| 219 | + <rect key="frame" x="166" y="11" width="42" height="21"/> | |
| 220 | + <fontDescription key="fontDescription" type="system" pointSize="17"/> | |
| 221 | + <nil key="textColor"/> | |
| 222 | + <nil key="highlightedColor"/> | |
| 223 | + </label> | |
| 224 | + </subviews> | |
| 225 | + <constraints> | |
| 226 | + <constraint firstItem="vrU-H8-dYc" firstAttribute="centerX" secondItem="vyn-xK-ILQ" secondAttribute="centerX" id="5wV-xH-hMA"/> | |
| 227 | + <constraint firstItem="vrU-H8-dYc" firstAttribute="centerY" secondItem="vyn-xK-ILQ" secondAttribute="centerY" id="zWG-wG-2M2"/> | |
| 228 | + </constraints> | |
| 229 | + </tableViewCellContentView> | |
| 230 | + <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | |
| 332 | 231 | <connections> |
| 333 | - <action selector="selectBtnClick:" destination="zPk-GV-x5H" eventType="touchUpInside" id="a7l-bV-toi"/> | |
| 232 | + <outlet property="selectName" destination="vrU-H8-dYc" id="ywV-L6-dGm"/> | |
| 334 | 233 | </connections> |
| 335 | - </button> | |
| 336 | - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="BGW-tg-2H6"> | |
| 337 | - <rect key="frame" x="16" y="0.0" width="343" height="0.0"/> | |
| 338 | - <color key="backgroundColor" white="0.66666666666666663" alpha="1" colorSpace="calibratedWhite"/> | |
| 339 | - <constraints> | |
| 340 | - <constraint firstAttribute="height" id="eIc-hV-0qY"/> | |
| 341 | - </constraints> | |
| 342 | - <fontDescription key="fontDescription" type="system" pointSize="17"/> | |
| 343 | - <nil key="textColor"/> | |
| 344 | - <nil key="highlightedColor"/> | |
| 345 | - </label> | |
| 346 | - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="全部学段" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="VfQ-qt-gdx"> | |
| 347 | - <rect key="frame" x="152" y="13" width="70" height="21"/> | |
| 348 | - <fontDescription key="fontDescription" type="system" pointSize="17"/> | |
| 349 | - <nil key="textColor"/> | |
| 350 | - <nil key="highlightedColor"/> | |
| 351 | - </label> | |
| 352 | - </subviews> | |
| 353 | - <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | |
| 354 | - <constraints> | |
| 355 | - <constraint firstItem="BGW-tg-2H6" firstAttribute="leading" secondItem="PdH-vs-Gjn" secondAttribute="leading" constant="16" id="46b-DV-o1H"/> | |
| 356 | - <constraint firstAttribute="trailing" secondItem="bqH-ub-Nyu" secondAttribute="trailing" id="8sC-if-wSg"/> | |
| 357 | - <constraint firstAttribute="height" constant="48" id="Kcs-Jq-OVL"/> | |
| 358 | - <constraint firstItem="VfQ-qt-gdx" firstAttribute="centerY" secondItem="PdH-vs-Gjn" secondAttribute="centerY" id="OqZ-vB-B5C"/> | |
| 359 | - <constraint firstAttribute="trailing" secondItem="BGW-tg-2H6" secondAttribute="trailing" constant="16" id="Rw7-eI-JeT"/> | |
| 360 | - <constraint firstItem="VfQ-qt-gdx" firstAttribute="centerX" secondItem="PdH-vs-Gjn" secondAttribute="centerX" id="UYW-un-bnL"/> | |
| 361 | - <constraint firstItem="bqH-ub-Nyu" firstAttribute="leading" secondItem="PdH-vs-Gjn" secondAttribute="leading" id="gA6-4E-cUz"/> | |
| 362 | - <constraint firstAttribute="bottom" secondItem="bqH-ub-Nyu" secondAttribute="bottom" id="kIr-4b-3GM"/> | |
| 363 | - <constraint firstItem="BGW-tg-2H6" firstAttribute="top" secondItem="PdH-vs-Gjn" secondAttribute="top" id="waV-La-z9s"/> | |
| 364 | - <constraint firstItem="bqH-ub-Nyu" firstAttribute="top" secondItem="PdH-vs-Gjn" secondAttribute="top" id="z5F-fk-r4o"/> | |
| 365 | - </constraints> | |
| 366 | - </view> | |
| 234 | + </tableViewCell> | |
| 235 | + </prototypes> | |
| 236 | + <connections> | |
| 237 | + <outlet property="dataSource" destination="zPk-GV-x5H" id="i24-vK-mDm"/> | |
| 238 | + <outlet property="delegate" destination="zPk-GV-x5H" id="oP3-9x-9qA"/> | |
| 239 | + </connections> | |
| 240 | + </tableView> | |
| 367 | 241 | </subviews> |
| 368 | 242 | <color key="backgroundColor" white="0.66666666666666663" alpha="0.50786493288590606" colorSpace="calibratedWhite"/> |
| 369 | 243 | <constraints> |
| 370 | - <constraint firstItem="pKJ-J9-5CR" firstAttribute="top" secondItem="pA5-mr-wp5" secondAttribute="bottom" id="As5-CP-OI8"/> | |
| 371 | - <constraint firstItem="PdH-vs-Gjn" firstAttribute="leading" secondItem="LO5-7p-BlF" secondAttribute="leading" id="EiX-RE-2mV"/> | |
| 372 | - <constraint firstItem="pA5-mr-wp5" firstAttribute="leading" secondItem="LO5-7p-BlF" secondAttribute="leading" id="NGc-W1-gFS"/> | |
| 373 | - <constraint firstItem="jQ0-hJ-LW9" firstAttribute="top" secondItem="pKJ-J9-5CR" secondAttribute="bottom" id="Rxs-mm-zbn"/> | |
| 374 | - <constraint firstItem="jQ0-hJ-LW9" firstAttribute="leading" secondItem="LO5-7p-BlF" secondAttribute="leading" id="SBR-LH-mkw"/> | |
| 375 | - <constraint firstItem="PdH-vs-Gjn" firstAttribute="top" secondItem="jQ0-hJ-LW9" secondAttribute="bottom" id="gRO-D5-TbH"/> | |
| 376 | - <constraint firstItem="pKJ-J9-5CR" firstAttribute="leading" secondItem="LO5-7p-BlF" secondAttribute="leading" id="krW-ip-UgT"/> | |
| 377 | - <constraint firstAttribute="trailing" secondItem="pA5-mr-wp5" secondAttribute="trailing" id="n92-8Z-2xl"/> | |
| 378 | - <constraint firstAttribute="trailing" secondItem="PdH-vs-Gjn" secondAttribute="trailing" id="nWt-wP-1JQ"/> | |
| 379 | - <constraint firstItem="pA5-mr-wp5" firstAttribute="top" secondItem="LO5-7p-BlF" secondAttribute="top" id="nsI-me-a5D"/> | |
| 380 | - <constraint firstAttribute="trailing" secondItem="pKJ-J9-5CR" secondAttribute="trailing" id="pqL-tc-0qy"/> | |
| 381 | - <constraint firstAttribute="trailing" secondItem="jQ0-hJ-LW9" secondAttribute="trailing" id="yc8-tE-p0i"/> | |
| 244 | + <constraint firstItem="IbJ-62-QUz" firstAttribute="leading" secondItem="LO5-7p-BlF" secondAttribute="leading" id="JAu-J6-dIy"/> | |
| 245 | + <constraint firstAttribute="bottom" secondItem="IbJ-62-QUz" secondAttribute="bottom" id="JKF-1f-M6c"/> | |
| 246 | + <constraint firstAttribute="trailing" secondItem="IbJ-62-QUz" secondAttribute="trailing" id="KD6-Yw-jTW"/> | |
| 247 | + <constraint firstItem="IbJ-62-QUz" firstAttribute="top" secondItem="LO5-7p-BlF" secondAttribute="top" id="o12-8S-W6V"/> | |
| 382 | 248 | </constraints> |
| 383 | 249 | </view> |
| 384 | 250 | <searchBar contentMode="redraw" placeholder="搜索" translatesAutoresizingMaskIntoConstraints="NO" id="ChK-me-hP6"> |
| ... | ... | @@ -387,6 +253,9 @@ |
| 387 | 253 | <constraint firstAttribute="height" constant="44" id="wzh-nF-6vU"/> |
| 388 | 254 | </constraints> |
| 389 | 255 | <textInputTraits key="textInputTraits"/> |
| 256 | + <connections> | |
| 257 | + <outlet property="delegate" destination="zPk-GV-x5H" id="KiT-X3-fSi"/> | |
| 258 | + </connections> | |
| 390 | 259 | </searchBar> |
| 391 | 260 | </subviews> |
| 392 | 261 | <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
| ... | ... | @@ -410,6 +279,7 @@ |
| 410 | 279 | <connections> |
| 411 | 280 | <outlet property="downIcon" destination="30V-Xl-lRB" id="GHM-Kf-F2D"/> |
| 412 | 281 | <outlet property="gradName" destination="EkU-OV-GCU" id="1x2-I5-Dmb"/> |
| 282 | + <outlet property="selectTableView" destination="IbJ-62-QUz" id="g3g-lN-96y"/> | |
| 413 | 283 | <outlet property="selectView" destination="LO5-7p-BlF" id="BCJ-8J-krQ"/> |
| 414 | 284 | <outlet property="tableView" destination="o4U-1y-nqL" id="mW2-XQ-YbM"/> |
| 415 | 285 | </connections> | ... | ... |
YouerLiveVideo/YouerLiveVideo/controllers/TVStation/TVStationViewController.swift
| ... | ... | @@ -196,6 +196,7 @@ class TVStationViewControllerCollectionCell:UICollectionViewCell{ |
| 196 | 196 | } |
| 197 | 197 | |
| 198 | 198 | class TVStationInfor { |
| 199 | + var f_SchoolType:String! | |
| 199 | 200 | var f_Id:String! //标识字段,Guid标识 , |
| 200 | 201 | var f_DeleteMark:Bool = false //删除标识,1-已删除 , |
| 201 | 202 | var f_CreatorTime:String!//创建时间 , |
| ... | ... | @@ -212,6 +213,7 @@ class TVStationInfor { |
| 212 | 213 | var f_Url:String!// 机构地址 |
| 213 | 214 | |
| 214 | 215 | init(json:JSON){ |
| 216 | + f_SchoolType = json["f_SchoolType"].stringValue | |
| 215 | 217 | f_Id = json["f_Id"].stringValue |
| 216 | 218 | f_DeleteMark = json["f_DeleteMark"].boolValue |
| 217 | 219 | f_CreatorTime = json["f_CreatorTime"].stringValue | ... | ... |
YouerLiveVideo/YouerLiveVideo/util/network.swift
| ... | ... | @@ -124,6 +124,10 @@ final class HTTPServer{ |
| 124 | 124 | static let URL_COURSEGETTESTCATAGORY=HOST+"/api/Course/GetTestCatagory" //获取考点目录(已初始化成ztree所要求的格式) |
| 125 | 125 | static let URL_COURSEGETTELEVISIONSTATIONCATAGORY=HOST+"/api/Course/GetTelevisionStationCatagory" //获取电视台目录 |
| 126 | 126 | |
| 127 | + //MARK:-APP | |
| 128 | + static let URL_APPGETALLSCHOOL=HOST+"/api/App/GetAllSchool" //获取所有学校 | |
| 129 | + static let URL_APPGETSCHOOLBYID=HOST+"/api/App/GetSchoolById" //获取学校详情 | |
| 130 | + | |
| 127 | 131 | //MARK:-DataStatistics(url) |
| 128 | 132 | static let URL_DATASTATISTICGETSCHOOLGENERAL=HOST+"/api/DataStatistics/GetSchoolGeneral" //获取前十学校的综合排行 |
| 129 | 133 | static let URL_DATASTATISTICGETSCHOOLPV=HOST+"/api/DataStatistics/GetSchoolPv" //获取前十学校的阅读量排行 |
| ... | ... | @@ -290,6 +294,17 @@ final class HTTPServer{ |
| 290 | 294 | KHttp.GET(url: HTTPServer.URL_COURSEGETTELEVISIONSTATIONCATAGORY, parameters: parameters,headers:["Authorization":token!], completionHandler: completionHandler) |
| 291 | 295 | } |
| 292 | 296 | |
| 297 | + //MARK:-APP | |
| 298 | + //获取所有学校 | |
| 299 | + func getAllSchool(parameters: [String : AnyObject]?,completionHandler:@escaping (String?, NSError?) -> ()){ | |
| 300 | + KHttp.GET(url: HTTPServer.URL_APPGETALLSCHOOL, parameters: parameters,headers:["Authorization":token!], completionHandler: completionHandler) | |
| 301 | + } | |
| 302 | + | |
| 303 | + //获取学校详情 | |
| 304 | + func getSchoolById(parameters: [String : AnyObject]?,completionHandler:@escaping (String?, NSError?) -> ()){ | |
| 305 | + KHttp.GET(url: HTTPServer.URL_APPGETSCHOOLBYID, parameters: parameters,headers:["Authorization":token!], completionHandler: completionHandler) | |
| 306 | + } | |
| 307 | + | |
| 293 | 308 | |
| 294 | 309 | //MARK:-DataStatistics |
| 295 | 310 | //获取前十学校的综合排行 | ... | ... |
| ... | ... | @@ -0,0 +1,235 @@ |
| 1 | +/* | |
| 2 | + * pinyin.c | |
| 3 | + * Chinese Pinyin First Letter | |
| 4 | + * | |
| 5 | + * Created by George on 4/21/10. | |
| 6 | + * Copyright 2010 RED/SAFI. All rights reserved. | |
| 7 | + * | |
| 8 | + */ | |
| 9 | +#define HANZI_START 19968 | |
| 10 | +#define HANZI_COUNT 20902 | |
| 11 | + | |
| 12 | +static char firstLetterArray[HANZI_COUNT] = | |
| 13 | +"ydkqsxnwzssxjbymgcczqpssqbycdscdqldylybssjgyqzjjfgcclzznwdwzjljpfyynnjjtmynzwzhflzppqhgccyynmjqyxxgd" | |
| 14 | +"nnsnsjnjnsnnmlnrxyfsngnnnnqzggllyjlnyzssecykyyhqwjssggyxyqyjtwktjhychmnxjtlhjyqbyxdldwrrjnwysrldzjpc" | |
| 15 | +"bzjjbrcfslnczstzfxxchtrqggddlyccssymmrjcyqzpwwjjyfcrwfdfzqpyddwyxkyjawjffxjbcftzyhhycyswccyxsclcxxwz" | |
| 16 | +"cxnbgnnxbxlzsqsbsjpysazdhmdzbqbscwdzzyytzhbtsyyfzgntnxjywqnknphhlxgybfmjnbjhhgqtjcysxstkzglyckglysmz" | |
| 17 | +"xyalmeldccxgzyrjxjzlnjzcqkcnnjwhjczccqljststbnhbtyxceqxkkwjyflzqlyhjxspsfxlmpbysxxxytccnylllsjxfhjxp" | |
| 18 | +"jbtffyabyxbcczbzyclwlczggbtssmdtjcxpthyqtgjjxcjfzkjzjqnlzwlslhdzbwjncjzyzsqnycqynzcjjwybrtwpyftwexcs" | |
| 19 | +"kdzctbyhyzqyyjxzcfbzzmjyxxsdczottbzljwfckscsxfyrlrygmbdthjxsqjccsbxyytswfbjdztnbcnzlcyzzpsacyzzsqqcs" | |
| 20 | +"hzqydxlbpjllmqxqydzxsqjtzpxlcglqdcwzfhctdjjsfxjejjtlbgxsxjmyjjqpfzasyjnsydjxkjcdjsznbartcclnjqmwnqnc" | |
| 21 | +"lllkbdbzzsyhqcltwlccrshllzntylnewyzyxczxxgdkdmtcedejtsyyssdqdfmxdbjlkrwnqlybglxnlgtgxbqjdznyjsjyjcjm" | |
| 22 | +"rnymgrcjczgjmzmgxmmryxkjnymsgmzzymknfxmbdtgfbhcjhkylpfmdxlxjjsmsqgzsjlqdldgjycalcmzcsdjllnxdjffffjcn" | |
| 23 | +"fnnffpfkhkgdpqxktacjdhhzdddrrcfqyjkqccwjdxhwjlyllzgcfcqjsmlzpbjjblsbcjggdckkdezsqcckjgcgkdjtjllzycxk" | |
| 24 | +"lqccgjcltfpcqczgwbjdqyzjjbyjhsjddwgfsjgzkcjctllfspkjgqjhzzljplgjgjjthjjyjzccmlzlyqbgjwmljkxzdznjqsyz" | |
| 25 | +"mljlljkywxmkjlhskjhbmclyymkxjqlbmllkmdxxkwyxwslmlpsjqqjqxyqfjtjdxmxxllcrqbsyjbgwynnggbcnxpjtgpapfgdj" | |
| 26 | +"qbhbncfjyzjkjkhxqfgqckfhygkhdkllsdjqxpqyaybnqsxqnszswhbsxwhxwbzzxdmndjbsbkbbzklylxgwxjjwaqzmywsjqlsj" | |
| 27 | +"xxjqwjeqxnchetlzalyyyszzpnkyzcptlshtzcfycyxyljsdcjqagyslcllyyysslqqqnldxzsccscadycjysfsgbfrsszqsbxjp" | |
| 28 | +"sjysdrckgjlgtkzjzbdktcsyqpyhstcldjnhmymcgxyzhjdctmhltxzhylamoxyjcltyfbqqjpfbdfehthsqhzywwcncxcdwhowg" | |
| 29 | +"yjlegmdqcwgfjhcsntmydolbygnqwesqpwnmlrydzszzlyqpzgcwxhnxpyxshmdqjgztdppbfbhzhhjyfdzwkgkzbldnzsxhqeeg" | |
| 30 | +"zxylzmmzyjzgszxkhkhtxexxgylyapsthxdwhzydpxagkydxbhnhnkdnjnmyhylpmgecslnzhkxxlbzzlbmlsfbhhgsgyyggbhsc" | |
| 31 | +"yajtxglxtzmcwzydqdqmngdnllszhngjzwfyhqswscelqajynytlsxthaznkzzsdhlaxxtwwcjhqqtddwzbcchyqzflxpslzqgpz" | |
| 32 | +"sznglydqtbdlxntctajdkywnsyzljhhdzckryyzywmhychhhxhjkzwsxhdnxlyscqydpslyzwmypnkxyjlkchtyhaxqsyshxasmc" | |
| 33 | +"hkdscrsgjpwqsgzjlwwschsjhsqnhnsngndantbaalczmsstdqjcjktscjnxplggxhhgoxzcxpdmmhldgtybynjmxhmrzplxjzck" | |
| 34 | +"zxshflqxxcdhxwzpckczcdytcjyxqhlxdhypjqxnlsyydzozjnhhqezysjyayxkypdgxddnsppyzndhthrhxydpcjjhtcnnctlhb" | |
| 35 | +"ynyhmhzllnnxmylllmdcppxhmxdkycyrdltxjchhznxclcclylnzsxnjzzlnnnnwhyqsnjhxynttdkyjpychhyegkcwtwlgjrlgg" | |
| 36 | +"tgtygyhpyhylqyqgcwyqkpyyettttlhyylltyttsylnyzwgywgpydqqzzdqnnkcqnmjjzzbxtqfjkdffbtkhzkbxdjjkdjjtlbwf" | |
| 37 | +"zpptkqtztgpdwntpjyfalqmkgxbcclzfhzcllllanpnxtjklcclgyhdzfgyddgcyyfgydxkssendhykdndknnaxxhbpbyyhxccga" | |
| 38 | +"pfqyjjdmlxcsjzllpcnbsxgjyndybwjspcwjlzkzddtacsbkzdyzypjzqsjnkktknjdjgyepgtlnyqnacdntcyhblgdzhbbydmjr" | |
| 39 | +"egkzyheyybjmcdtafzjzhgcjnlghldwxjjkytcyksssmtwcttqzlpbszdtwcxgzagyktywxlnlcpbclloqmmzsslcmbjcsdzkydc" | |
| 40 | +"zjgqjdsmcytzqqlnzqzxssbpkdfqmddzzsddtdmfhtdycnaqjqkypbdjyyxtljhdrqxlmhkydhrnlklytwhllrllrcxylbnsrnzz" | |
| 41 | +"symqzzhhkyhxksmzsyzgcxfbnbsqlfzxxnnxkxwymsddyqnggqmmyhcdzttfgyyhgsbttybykjdnkyjbelhdypjqnfxfdnkzhqks" | |
| 42 | +"byjtzbxhfdsbdaswpawajldyjsfhblcnndnqjtjnchxfjsrfwhzfmdrfjyxwzpdjkzyjympcyznynxfbytfyfwygdbnzzzdnytxz" | |
| 43 | +"emmqbsqehxfznbmflzzsrsyqjgsxwzjsprytjsjgskjjgljjynzjjxhgjkymlpyyycxycgqzswhwlyrjlpxslcxmnsmwklcdnkny" | |
| 44 | +"npsjszhdzeptxmwywxyysywlxjqcqxzdclaeelmcpjpclwbxsqhfwrtfnjtnqjhjqdxhwlbyccfjlylkyynldxnhycstyywncjtx" | |
| 45 | +"ywtrmdrqnwqcmfjdxzmhmayxnwmyzqtxtlmrspwwjhanbxtgzypxyyrrclmpamgkqjszycymyjsnxtplnbappypylxmyzkynldgy" | |
| 46 | +"jzcchnlmzhhanqnbgwqtzmxxmllhgdzxnhxhrxycjmffxywcfsbssqlhnndycannmtcjcypnxnytycnnymnmsxndlylysljnlxys" | |
| 47 | +"sqmllyzlzjjjkyzzcsfbzxxmstbjgnxnchlsnmcjscyznfzlxbrnnnylmnrtgzqysatswryhyjzmgdhzgzdwybsscskxsyhytsxg" | |
| 48 | +"cqgxzzbhyxjscrhmkkbsczjyjymkqhzjfnbhmqhysnjnzybknqmcjgqhwlsnzswxkhljhyybqcbfcdsxdldspfzfskjjzwzxsddx" | |
| 49 | +"jseeegjscssygclxxnwwyllymwwwgydkzjggggggsycknjwnjpcxbjjtqtjwdsspjxcxnzxnmelptfsxtllxcljxjjljsxctnswx" | |
| 50 | +"lennlyqrwhsycsqnybyaywjejqfwqcqqcjqgxaldbzzyjgkgxbltqyfxjltpydkyqhpmatlcndnkxmtxynhklefxdllegqtymsaw" | |
| 51 | +"hzmljtkynxlyjzljeeyybqqffnlyxhdsctgjhxywlkllxqkcctnhjlqmkkzgcyygllljdcgydhzwypysjbzjdzgyzzhywyfqdtyz" | |
| 52 | +"szyezklymgjjhtsmqwyzljyywzcsrkqyqltdxwcdrjalwsqzwbdcqyncjnnszjlncdcdtlzzzacqqzzddxyblxcbqjylzllljddz" | |
| 53 | +"jgyqyjzyxnyyyexjxksdaznyrdlzyyynjlslldyxjcykywnqcclddnyyynycgczhjxcclgzqjgnwnncqqjysbzzxyjxjnxjfzbsb" | |
| 54 | +"dsfnsfpzxhdwztdmpptflzzbzdmyypqjrsdzsqzsqxbdgcpzswdwcsqzgmdhzxmwwfybpngphdmjthzsmmbgzmbzjcfzhfcbbnmq" | |
| 55 | +"dfmbcmcjxlgpnjbbxgyhyyjgptzgzmqbqdcgybjxlwnkydpdymgcftpfxyztzxdzxtgkptybbclbjaskytssqyymscxfjhhlslls" | |
| 56 | +"jpqjjqaklyldlycctsxmcwfgngbqxllllnyxtyltyxytdpjhnhgnkbyqnfjyyzbyyessessgdyhfhwtcqbsdzjtfdmxhcnjzymqw" | |
| 57 | +"srxjdzjqbdqbbsdjgnfbknbxdkqhmkwjjjgdllthzhhyyyyhhsxztyyyccbdbpypzyccztjpzywcbdlfwzcwjdxxhyhlhwczxjtc" | |
| 58 | +"nlcdpxnqczczlyxjjcjbhfxwpywxzpcdzzbdccjwjhmlxbqxxbylrddgjrrctttgqdczwmxfytmmzcwjwxyywzzkybzcccttqnhx" | |
| 59 | +"nwxxkhkfhtswoccjybcmpzzykbnnzpbthhjdlszddytyfjpxyngfxbyqxzbhxcpxxtnzdnnycnxsxlhkmzxlthdhkghxxsshqyhh" | |
| 60 | +"cjyxglhzxcxnhekdtgqxqypkdhentykcnymyyjmkqyyyjxzlthhqtbyqhxbmyhsqckwwyllhcyylnneqxqwmcfbdccmljggxdqkt" | |
| 61 | +"lxkknqcdgcjwyjjlyhhqyttnwchhxcxwherzjydjccdbqcdgdnyxzdhcqrxcbhztqcbxwgqwyybxhmbymykdyecmqkyaqyngyzsl" | |
| 62 | +"fnkkqgyssqyshngjctxkzycssbkyxhyylstycxqthysmnscpmmgcccccmnztasmgqzjhklosjylswtmqzyqkdzljqqyplzycztcq" | |
| 63 | +"qpbbcjzclpkhqcyyxxdtdddsjcxffllchqxmjlwcjcxtspycxndtjshjwhdqqqckxyamylsjhmlalygxcyydmamdqmlmcznnyybz" | |
| 64 | +"xkyflmcncmlhxrcjjhsylnmtjggzgywjxsrxcwjgjqhqzdqjdcjjskjkgdzcgjjyjylxzxxcdqhhheslmhlfsbdjsyyshfyssczq" | |
| 65 | +"lpbdrfnztzdkykhsccgkwtqzckmsynbcrxqbjyfaxpzzedzcjykbcjwhyjbqzzywnyszptdkzpfpbaztklqnhbbzptpptyzzybhn" | |
| 66 | +"ydcpzmmcycqmcjfzzdcmnlfpbplngqjtbttajzpzbbdnjkljqylnbzqhksjznggqstzkcxchpzsnbcgzkddzqanzgjkdrtlzldwj" | |
| 67 | +"njzlywtxndjzjhxnatncbgtzcsskmljpjytsnwxcfjwjjtkhtzplbhsnjssyjbhbjyzlstlsbjhdnwqpslmmfbjdwajyzccjtbnn" | |
| 68 | +"nzwxxcdslqgdsdpdzgjtqqpsqlyyjzlgyhsdlctcbjtktyczjtqkbsjlgnnzdncsgpynjzjjyyknhrpwszxmtncszzyshbyhyzax" | |
| 69 | +"ywkcjtllckjjtjhgcssxyqyczbynnlwqcglzgjgqyqcczssbcrbcskydznxjsqgxssjmecnstjtpbdlthzwxqwqczexnqczgwesg" | |
| 70 | +"ssbybstscslccgbfsdqnzlccglllzghzcthcnmjgyzazcmsksstzmmzckbjygqljyjppldxrkzyxccsnhshhdznlzhzjjcddcbcj" | |
| 71 | +"xlbfqbczztpqdnnxljcthqzjgylklszzpcjdscqjhjqkdxgpbajynnsmjtzdxlcjyryynhjbngzjkmjxltbsllrzpylssznxjhll" | |
| 72 | +"hyllqqzqlsymrcncxsljmlzltzldwdjjllnzggqxppskyggggbfzbdkmwggcxmcgdxjmcjsdycabxjdlnbcddygskydqdxdjjyxh" | |
| 73 | +"saqazdzfslqxxjnqzylblxxwxqqzbjzlfbblylwdsljhxjyzjwtdjcyfqzqzzdzsxzzqlzcdzfxhwspynpqzmlpplffxjjnzzyls" | |
| 74 | +"jnyqzfpfzgsywjjjhrdjzzxtxxglghtdxcskyswmmtcwybazbjkshfhgcxmhfqhyxxyzftsjyzbxyxpzlchmzmbxhzzssyfdmncw" | |
| 75 | +"dabazlxktcshhxkxjjzjsthygxsxyyhhhjwxkzxssbzzwhhhcwtzzzpjxsyxqqjgzyzawllcwxznxgyxyhfmkhydwsqmnjnaycys" | |
| 76 | +"pmjkgwcqhylajgmzxhmmcnzhbhxclxdjpltxyjkdyylttxfqzhyxxsjbjnayrsmxyplckdnyhlxrlnllstycyyqygzhhsccsmcct" | |
| 77 | +"zcxhyqfpyyrpbflfqnntszlljmhwtcjqyzwtlnmlmdwmbzzsnzrbpdddlqjjbxtcsnzqqygwcsxfwzlxccrszdzmcyggdyqsgtnn" | |
| 78 | +"nlsmymmsyhfbjdgyxccpshxczcsbsjyygjmpbwaffyfnxhydxzylremzgzzyndsznlljcsqfnxxkptxzgxjjgbmyyssnbtylbnlh" | |
| 79 | +"bfzdcyfbmgqrrmzszxysjtznnydzzcdgnjafjbdknzblczszpsgcycjszlmnrznbzzldlnllysxsqzqlcxzlsgkbrxbrbzcycxzj" | |
| 80 | +"zeeyfgklzlnyhgzcgzlfjhgtgwkraajyzkzqtsshjjxdzyznynnzyrzdqqhgjzxsszbtkjbbfrtjxllfqwjgclqtymblpzdxtzag" | |
| 81 | +"bdhzzrbgjhwnjtjxlkscfsmwlldcysjtxkzscfwjlbnntzlljzllqblcqmqqcgcdfpbphzczjlpyyghdtgwdxfczqyyyqysrclqz" | |
| 82 | +"fklzzzgffcqnwglhjycjjczlqzzyjbjzzbpdcsnnjgxdqnknlznnnnpsntsdyfwwdjzjysxyyczcyhzwbbyhxrylybhkjksfxtjj" | |
| 83 | +"mmchhlltnyymsxxyzpdjjycsycwmdjjkqyrhllngpngtlyycljnnnxjyzfnmlrgjjtyzbsyzmsjyjhgfzqmsyxrszcytlrtqzsst" | |
| 84 | +"kxgqkgsptgxdnjsgcqcqhmxggztqydjjznlbznxqlhyqgggthqscbyhjhhkyygkggcmjdzllcclxqsftgjslllmlcskctbljszsz" | |
| 85 | +"mmnytpzsxqhjcnnqnyexzqzcpshkzzyzxxdfgmwqrllqxrfztlystctmjcsjjthjnxtnrztzfqrhcgllgcnnnnjdnlnnytsjtlny" | |
| 86 | +"xsszxcgjzyqpylfhdjsbbdczgjjjqzjqdybssllcmyttmqnbhjqmnygjyeqyqmzgcjkpdcnmyzgqllslnclmholzgdylfzslncnz" | |
| 87 | +"lylzcjeshnyllnxnjxlyjyyyxnbcljsswcqqnnyllzldjnllzllbnylnqchxyyqoxccqkyjxxxyklksxeyqhcqkkkkcsnyxxyqxy" | |
| 88 | +"gwtjohthxpxxhsnlcykychzzcbwqbbwjqcscszsslcylgddsjzmmymcytsdsxxscjpqqsqylyfzychdjynywcbtjsydchcyddjlb" | |
| 89 | +"djjsodzyqyskkyxdhhgqjyohdyxwgmmmazdybbbppbcmnnpnjzsmtxerxjmhqdntpjdcbsnmssythjtslmltrcplzszmlqdsdmjm" | |
| 90 | +"qpnqdxcfrnnfsdqqyxhyaykqyddlqyyysszbydslntfgtzqbzmchdhczcwfdxtmqqsphqwwxsrgjcwnntzcqmgwqjrjhtqjbbgwz" | |
| 91 | +"fxjhnqfxxqywyyhyscdydhhqmrmtmwctbszppzzglmzfollcfwhmmsjzttdhlmyffytzzgzyskjjxqyjzqbhmbzclyghgfmshpcf" | |
| 92 | +"zsnclpbqsnjyzslxxfpmtyjygbxlldlxpzjyzjyhhzcywhjylsjexfszzywxkzjlnadymlymqjpwxxhxsktqjezrpxxzghmhwqpw" | |
| 93 | +"qlyjjqjjzszcnhjlchhnxjlqwzjhbmzyxbdhhypylhlhlgfwlcfyytlhjjcwmscpxstkpnhjxsntyxxtestjctlsslstdlllwwyh" | |
| 94 | +"dnrjzsfgxssyczykwhtdhwjglhtzdqdjzxxqgghltzphcsqfclnjtclzpfstpdynylgmjllycqhynspchylhqyqtmzymbywrfqyk" | |
| 95 | +"jsyslzdnjmpxyyssrhzjnyqtqdfzbwwdwwrxcwggyhxmkmyyyhmxmzhnksepmlqqmtcwctmxmxjpjjhfxyyzsjzhtybmstsyjznq" | |
| 96 | +"jnytlhynbyqclcycnzwsmylknjxlggnnpjgtysylymzskttwlgsmzsylmpwlcwxwqcssyzsyxyrhssntsrwpccpwcmhdhhxzdzyf" | |
| 97 | +"jhgzttsbjhgyglzysmyclllxbtyxhbbzjkssdmalhhycfygmqypjyjqxjllljgclzgqlycjcctotyxmtmshllwlqfxymzmklpszz" | |
| 98 | +"cxhkjyclctyjcyhxsgyxnnxlzwpyjpxhjwpjpwxqqxlxsdhmrslzzydwdtcxknstzshbsccstplwsscjchjlcgchssphylhfhhxj" | |
| 99 | +"sxallnylmzdhzxylsxlmzykcldyahlcmddyspjtqjzlngjfsjshctsdszlblmssmnyymjqbjhrzwtyydchjljapzwbgqxbkfnbjd" | |
| 100 | +"llllyylsjydwhxpsbcmljpscgbhxlqhyrljxyswxhhzlldfhlnnymjljyflyjycdrjlfsyzfsllcqyqfgqyhnszlylmdtdjcnhbz" | |
| 101 | +"llnwlqxygyyhbmgdhxxnhlzzjzxczzzcyqzfngwpylcpkpykpmclgkdgxzgxwqbdxzzkzfbddlzxjtpjpttbythzzdwslcpnhslt" | |
| 102 | +"jxxqlhyxxxywzyswttzkhlxzxzpyhgzhknfsyhntjrnxfjcpjztwhplshfcrhnslxxjxxyhzqdxqwnnhyhmjdbflkhcxcwhjfyjc" | |
| 103 | +"fpqcxqxzyyyjygrpynscsnnnnchkzdyhflxxhjjbyzwttxnncyjjymswyxqrmhxzwfqsylznggbhyxnnbwttcsybhxxwxyhhxyxn" | |
| 104 | +"knyxmlywrnnqlxbbcljsylfsytjzyhyzawlhorjmnsczjxxxyxchcyqryxqzddsjfslyltsffyxlmtyjmnnyyyxltzcsxqclhzxl" | |
| 105 | +"wyxzhnnlrxkxjcdyhlbrlmbrdlaxksnlljlyxxlynrylcjtgncmtlzllcyzlpzpzyawnjjfybdyyzsepckzzqdqpbpsjpdyttbdb" | |
| 106 | +"bbyndycncpjmtmlrmfmmrwyfbsjgygsmdqqqztxmkqwgxllpjgzbqrdjjjfpkjkcxbljmswldtsjxldlppbxcwkcqqbfqbccajzg" | |
| 107 | +"mykbhyhhzykndqzybpjnspxthlfpnsygyjdbgxnhhjhzjhstrstldxskzysybmxjlxyslbzyslzxjhfybqnbylljqkygzmcyzzym" | |
| 108 | +"ccslnlhzhwfwyxzmwyxtynxjhbyymcysbmhysmydyshnyzchmjjmzcaahcbjbbhblytylsxsnxgjdhkxxtxxnbhnmlngsltxmrhn" | |
| 109 | +"lxqqxmzllyswqgdlbjhdcgjyqyymhwfmjybbbyjyjwjmdpwhxqldyapdfxxbcgjspckrssyzjmslbzzjfljjjlgxzgyxyxlszqkx" | |
| 110 | +"bexyxhgcxbpndyhwectwwcjmbtxchxyqqllxflyxlljlssnwdbzcmyjclwswdczpchqekcqbwlcgydblqppqzqfnqdjhymmcxtxd" | |
| 111 | +"rmzwrhxcjzylqxdyynhyyhrslnrsywwjjymtltllgtqcjzyabtckzcjyccqlysqxalmzynywlwdnzxqdllqshgpjfjljnjabcqzd" | |
| 112 | +"jgthhsstnyjfbswzlxjxrhgldlzrlzqzgsllllzlymxxgdzhgbdphzpbrlwnjqbpfdwonnnhlypcnjccndmbcpbzzncyqxldomzb" | |
| 113 | +"lzwpdwyygdstthcsqsccrsssyslfybnntyjszdfndpdhtqzmbqlxlcmyffgtjjqwftmnpjwdnlbzcmmcngbdzlqlpnfhyymjylsd" | |
| 114 | +"chdcjwjcctljcldtljjcbddpndsszycndbjlggjzxsxnlycybjjxxcbylzcfzppgkcxqdzfztjjfjdjxzbnzyjqctyjwhdyczhym" | |
| 115 | +"djxttmpxsplzcdwslshxypzgtfmlcjtacbbmgdewycyzxdszjyhflystygwhkjyylsjcxgywjcbllcsnddbtzbsclyzczzssqdll" | |
| 116 | +"mjyyhfllqllxfdyhabxggnywyypllsdldllbjcyxjznlhljdxyyqytdlllbngpfdfbbqbzzmdpjhgclgmjjpgaehhbwcqxajhhhz" | |
| 117 | +"chxyphjaxhlphjpgpzjqcqzgjjzzgzdmqyybzzphyhybwhazyjhykfgdpfqsdlzmljxjpgalxzdaglmdgxmmzqwtxdxxpfdmmssy" | |
| 118 | +"mpfmdmmkxksyzyshdzkjsysmmzzzmdydyzzczxbmlstmdyemxckjmztyymzmzzmsshhdccjewxxkljsthwlsqlyjzllsjssdppmh" | |
| 119 | +"nlgjczyhmxxhgncjmdhxtkgrmxfwmckmwkdcksxqmmmszzydkmsclcmpcjmhrpxqpzdsslcxkyxtwlkjyahzjgzjwcjnxyhmmbml" | |
| 120 | +"gjxmhlmlgmxctkzmjlyscjsyszhsyjzjcdajzhbsdqjzgwtkqxfkdmsdjlfmnhkzqkjfeypzyszcdpynffmzqykttdzzefmzlbnp" | |
| 121 | +"plplpbpszalltnlkckqzkgenjlwalkxydpxnhsxqnwqnkxqclhyxxmlnccwlymqyckynnlcjnszkpyzkcqzqljbdmdjhlasqlbyd" | |
| 122 | +"wqlwdgbqcryddztjybkbwszdxdtnpjdtcnqnfxqqmgnseclstbhpwslctxxlpwydzklnqgzcqapllkqcylbqmqczqcnjslqzdjxl" | |
| 123 | +"ddhpzqdljjxzqdjyzhhzlkcjqdwjppypqakjyrmpzbnmcxkllzllfqpylllmbsglzysslrsysqtmxyxzqzbscnysyztffmzzsmzq" | |
| 124 | +"hzssccmlyxwtpzgxzjgzgsjzgkddhtqggzllbjdzlsbzhyxyzhzfywxytymsdnzzyjgtcmtnxqyxjscxhslnndlrytzlryylxqht" | |
| 125 | +"xsrtzcgyxbnqqzfhykmzjbzymkbpnlyzpblmcnqyzzzsjztjctzhhyzzjrdyzhnfxklfzslkgjtctssyllgzrzbbjzzklpkbczys" | |
| 126 | +"nnyxbjfbnjzzxcdwlzyjxzzdjjgggrsnjkmsmzjlsjywqsnyhqjsxpjztnlsnshrnynjtwchglbnrjlzxwjqxqkysjycztlqzybb" | |
| 127 | +"ybyzjqdwgyzcytjcjxckcwdkkzxsnkdnywwyyjqyytlytdjlxwkcjnklccpzcqqdzzqlcsfqchqqgssmjzzllbjjzysjhtsjdysj" | |
| 128 | +"qjpdszcdchjkjzzlpycgmzndjxbsjzzsyzyhgxcpbjydssxdzncglqmbtsfcbfdzdlznfgfjgfsmpnjqlnblgqcyyxbqgdjjqsrf" | |
| 129 | +"kztjdhczklbsdzcfytplljgjhtxzcsszzxstjygkgckgynqxjplzbbbgcgyjzgczqszlbjlsjfzgkqqjcgycjbzqtldxrjnbsxxp" | |
| 130 | +"zshszycfwdsjjhxmfczpfzhqhqmqnknlyhtycgfrzgnqxcgpdlbzcsczqlljblhbdcypscppdymzzxgyhckcpzjgslzlnscnsldl" | |
| 131 | +"xbmsdlddfjmkdqdhslzxlsznpqpgjdlybdskgqlbzlnlkyyhzttmcjnqtzzfszqktlljtyyllnllqyzqlbdzlslyyzxmdfszsnxl" | |
| 132 | +"xznczqnbbwskrfbcylctnblgjpmczzlstlxshtzcyzlzbnfmqnlxflcjlyljqcbclzjgnsstbrmhxzhjzclxfnbgxgtqncztmsfz" | |
| 133 | +"kjmssncljkbhszjntnlzdntlmmjxgzjyjczxyhyhwrwwqnztnfjscpyshzjfyrdjsfscjzbjfzqzchzlxfxsbzqlzsgyftzdcszx" | |
| 134 | +"zjbjpszkjrhxjzcgbjkhcggtxkjqglxbxfgtrtylxqxhdtsjxhjzjjcmzlcqsbtxwqgxtxxhxftsdkfjhzyjfjxnzldlllcqsqqz" | |
| 135 | +"qwqxswqtwgwbzcgcllqzbclmqjtzgzyzxljfrmyzflxnsnxxjkxrmjdzdmmyxbsqbhgzmwfwygmjlzbyytgzyccdjyzxsngnyjyz" | |
| 136 | +"nbgpzjcqsyxsxrtfyzgrhztxszzthcbfclsyxzlzqmzlmplmxzjssfsbysmzqhxxnxrxhqzzzsslyflczjrcrxhhzxqndshxsjjh" | |
| 137 | +"qcjjbcynsysxjbqjpxzqplmlxzkyxlxcnlcycxxzzlxdlllmjyhzxhyjwkjrwyhcpsgnrzlfzwfzznsxgxflzsxzzzbfcsyjdbrj" | |
| 138 | +"krdhhjxjljjtgxjxxstjtjxlyxqfcsgswmsbctlqzzwlzzkxjmltmjyhsddbxgzhdlbmyjfrzfcgclyjbpmlysmsxlszjqqhjzfx" | |
| 139 | +"gfqfqbphngyyqxgztnqwyltlgwgwwhnlfmfgzjmgmgbgtjflyzzgzyzaflsspmlbflcwbjztljjmzlpjjlymqtmyyyfbgygqzgly" | |
| 140 | +"zdxqyxrqqqhsxyyqxygjtyxfsfsllgnqcygycwfhcccfxpylypllzqxxxxxqqhhsshjzcftsczjxspzwhhhhhapylqnlpqafyhxd" | |
| 141 | +"ylnkmzqgggddesrenzltzgchyppcsqjjhclljtolnjpzljlhymhezdydsqycddhgznndzclzywllznteydgnlhslpjjbdgwxpcnn" | |
| 142 | +"tycklkclwkllcasstknzdnnjttlyyzssysszzryljqkcgdhhyrxrzydgrgcwcgzqffbppjfzynakrgywyjpqxxfkjtszzxswzddf" | |
| 143 | +"bbqtbgtzkznpzfpzxzpjszbmqhkyyxyldkljnypkyghgdzjxxeaxpnznctzcmxcxmmjxnkszqnmnlwbwwqjjyhclstmcsxnjcxxt" | |
| 144 | +"pcnfdtnnpglllzcjlspblpgjcdtnjjlyarscffjfqwdpgzdwmrzzcgodaxnssnyzrestyjwjyjdbcfxnmwttbqlwstszgybljpxg" | |
| 145 | +"lbnclgpcbjftmxzljylzxcltpnclcgxtfzjshcrxsfysgdkntlbyjcyjllstgqcbxnhzxbxklylhzlqzlnzcqwgzlgzjncjgcmnz" | |
| 146 | +"zgjdzxtzjxycyycxxjyyxjjxsssjstsstdppghtcsxwzdcsynptfbchfbblzjclzzdbxgcjlhpxnfzflsyltnwbmnjhszbmdnbcy" | |
| 147 | +"sccldnycndqlyjjhmqllcsgljjsyfpyyccyltjantjjpwycmmgqyysxdxqmzhszxbftwwzqswqrfkjlzjqqyfbrxjhhfwjgzyqac" | |
| 148 | +"myfrhcyybynwlpexcczsyyrlttdmqlrkmpbgmyyjprkznbbsqyxbhyzdjdnghpmfsgbwfzmfqmmbzmzdcgjlnnnxyqgmlrygqccy" | |
| 149 | +"xzlwdkcjcggmcjjfyzzjhycfrrcmtznzxhkqgdjxccjeascrjthpljlrzdjrbcqhjdnrhylyqjsymhzydwcdfryhbbydtssccwbx" | |
| 150 | +"glpzmlzjdqsscfjmmxjcxjytycghycjwynsxlfemwjnmkllswtxhyyyncmmcyjdqdjzglljwjnkhpzggflccsczmcbltbhbqjxqd" | |
| 151 | +"jpdjztghglfjawbzyzjltstdhjhctcbchflqmpwdshyytqwcnntjtlnnmnndyyyxsqkxwyyflxxnzwcxypmaelyhgjwzzjbrxxaq" | |
| 152 | +"jfllpfhhhytzzxsgqjmhspgdzqwbwpjhzjdyjcqwxkthxsqlzyymysdzgnqckknjlwpnsyscsyzlnmhqsyljxbcxtlhzqzpcycyk" | |
| 153 | +"pppnsxfyzjjrcemhszmnxlxglrwgcstlrsxbygbzgnxcnlnjlclynymdxwtzpalcxpqjcjwtcyyjlblxbzlqmyljbghdslssdmxm" | |
| 154 | +"bdczsxyhamlczcpjmcnhjyjnsykchskqmczqdllkablwjqsfmocdxjrrlyqchjmybyqlrhetfjzfrfksryxfjdwtsxxywsqjysly" | |
| 155 | +"xwjhsdlxyyxhbhawhwjcxlmyljcsqlkydttxbzslfdxgxsjkhsxxybssxdpwncmrptqzczenygcxqfjxkjbdmljzmqqxnoxslyxx" | |
| 156 | +"lylljdzptymhbfsttqqwlhsgynlzzalzxclhtwrrqhlstmypyxjjxmnsjnnbryxyjllyqyltwylqyfmlkljdnlltfzwkzhljmlhl" | |
| 157 | +"jnljnnlqxylmbhhlnlzxqchxcfxxlhyhjjgbyzzkbxscqdjqdsndzsygzhhmgsxcsymxfepcqwwrbpyyjqryqcyjhqqzyhmwffhg" | |
| 158 | +"zfrjfcdbxntqyzpcyhhjlfrzgpbxzdbbgrqstlgdgylcqmgchhmfywlzyxkjlypjhsywmqqggzmnzjnsqxlqsyjtcbehsxfszfxz" | |
| 159 | +"wfllbcyyjdytdthwzsfjmqqyjlmqsxlldttkghybfpwdyysqqrnqwlgwdebzwcyygcnlkjxtmxmyjsxhybrwfymwfrxyymxysctz" | |
| 160 | +"ztfykmldhqdlgyjnlcryjtlpsxxxywlsbrrjwxhqybhtydnhhxmmywytycnnmnssccdalwztcpqpyjllqzyjswjwzzmmglmxclmx" | |
| 161 | +"nzmxmzsqtzppjqblpgxjzhfljjhycjsrxwcxsncdlxsyjdcqzxslqyclzxlzzxmxqrjmhrhzjbhmfljlmlclqnldxzlllfyprgjy" | |
| 162 | +"nxcqqdcmqjzzxhnpnxzmemmsxykynlxsxtljxyhwdcwdzhqyybgybcyscfgfsjnzdrzzxqxrzrqjjymcanhrjtldbpyzbstjhxxz" | |
| 163 | +"ypbdwfgzzrpymnnkxcqbyxnbnfyckrjjcmjegrzgyclnnzdnkknsjkcljspgyyclqqjybzssqlllkjftbgtylcccdblsppfylgyd" | |
| 164 | +"tzjqjzgkntsfcxbdkdxxhybbfytyhbclnnytgdhryrnjsbtcsnyjqhklllzslydxxwbcjqsbxnpjzjzjdzfbxxbrmladhcsnclbj" | |
| 165 | +"dstblprznswsbxbcllxxlzdnzsjpynyxxyftnnfbhjjjgbygjpmmmmsszljmtlyzjxswxtyledqpjmpgqzjgdjlqjwjqllsdgjgy" | |
| 166 | +"gmscljjxdtygjqjjjcjzcjgdzdshqgzjggcjhqxsnjlzzbxhsgzxcxyljxyxyydfqqjhjfxdhctxjyrxysqtjxyefyyssyxjxncy" | |
| 167 | +"zxfxcsxszxyyschshxzzzgzzzgfjdldylnpzgsjaztyqzpbxcbdztzczyxxyhhscjshcggqhjhgxhsctmzmehyxgebtclzkkwytj" | |
| 168 | +"zrslekestdbcyhqqsayxcjxwwgsphjszsdncsjkqcxswxfctynydpccczjqtcwjqjzzzqzljzhlsbhpydxpsxshhezdxfptjqyzc" | |
| 169 | +"xhyaxncfzyyhxgnqmywntzsjbnhhgymxmxqcnssbcqsjyxxtyyhybcqlmmszmjzzllcogxzaajzyhjmchhcxzsxsdznleyjjzjbh" | |
| 170 | +"zwjzsqtzpsxzzdsqjjjlnyazphhyysrnqzthzhnyjyjhdzxzlswclybzyecwcycrylchzhzydzydyjdfrjjhtrsqtxyxjrjhojyn" | |
| 171 | +"xelxsfsfjzghpzsxzszdzcqzbyyklsgsjhczshdgqgxyzgxchxzjwyqwgyhksseqzzndzfkwyssdclzstsymcdhjxxyweyxczayd" | |
| 172 | +"mpxmdsxybsqmjmzjmtjqlpjyqzcgqhyjhhhqxhlhdldjqcfdwbsxfzzyyschtytyjbhecxhjkgqfxbhyzjfxhwhbdzfyzbchpnpg" | |
| 173 | +"dydmsxhkhhmamlnbyjtmpxejmcthqbzyfcgtyhwphftgzzezsbzegpbmdskftycmhbllhgpzjxzjgzjyxzsbbqsczzlzscstpgxm" | |
| 174 | +"jsfdcczjzdjxsybzlfcjsazfgszlwbczzzbyztzynswyjgxzbdsynxlgzbzfygczxbzhzftpbgzgejbstgkdmfhyzzjhzllzzgjq" | |
| 175 | +"zlsfdjsscbzgpdlfzfzszyzyzsygcxsnxxchczxtzzljfzgqsqqxcjqccccdjcdszzyqjccgxztdlgscxzsyjjqtcclqdqztqchq" | |
| 176 | +"qyzynzzzpbkhdjfcjfztypqyqttynlmbdktjcpqzjdzfpjsbnjlgyjdxjdcqkzgqkxclbzjtcjdqbxdjjjstcxnxbxqmslyjcxnt" | |
| 177 | +"jqwwcjjnjjlllhjcwqtbzqqczczpzzdzyddcyzdzccjgtjfzdprntctjdcxtqzdtjnplzbcllctdsxkjzqdmzlbznbtjdcxfczdb" | |
| 178 | +"czjjltqqpldckztbbzjcqdcjwynllzlzccdwllxwzlxrxntqjczxkjlsgdnqtddglnlajjtnnynkqlldzntdnycygjwyxdxfrsqs" | |
| 179 | +"tcdenqmrrqzhhqhdldazfkapbggpzrebzzykyqspeqjjglkqzzzjlysyhyzwfqznlzzlzhwcgkypqgnpgblplrrjyxcccgyhsfzf" | |
| 180 | +"wbzywtgzxyljczwhncjzplfflgskhyjdeyxhlpllllcygxdrzelrhgklzzyhzlyqszzjzqljzflnbhgwlczcfjwspyxzlzlxgccp" | |
| 181 | +"zbllcxbbbbnbbcbbcrnnzccnrbbnnldcgqyyqxygmqzwnzytyjhyfwtehznjywlccntzyjjcdedpwdztstnjhtymbjnyjzlxtsst" | |
| 182 | +"phndjxxbyxqtzqddtjtdyztgwscszqflshlnzbcjbhdlyzjyckwtydylbnydsdsycctyszyyebgexhqddwnygyclxtdcystqnygz" | |
| 183 | +"ascsszzdzlcclzrqxyywljsbymxshzdembbllyyllytdqyshymrqnkfkbfxnnsbychxbwjyhtqbpbsbwdzylkgzskyghqzjxhxjx" | |
| 184 | +"gnljkzlyycdxlfwfghljgjybxblybxqpqgntzplncybxdjyqydymrbeyjyyhkxxstmxrczzjwxyhybmcflyzhqyzfwxdbxbcwzms" | |
| 185 | +"lpdmyckfmzklzcyqycclhxfzlydqzpzygyjyzmdxtzfnnyttqtzhgsfcdmlccytzxjcytjmkslpzhysnwllytpzctzccktxdhxxt" | |
| 186 | +"qcyfksmqccyyazhtjplylzlyjbjxtfnyljyynrxcylmmnxjsmybcsysslzylljjgyldzdlqhfzzblfndsqkczfyhhgqmjdsxyctt" | |
| 187 | +"xnqnjpyybfcjtyyfbnxejdgyqbjrcnfyyqpghyjsyzngrhtknlnndzntsmgklbygbpyszbydjzsstjztsxzbhbscsbzczptqfzlq" | |
| 188 | +"flypybbjgszmnxdjmtsyskkbjtxhjcegbsmjyjzcstmljyxrczqscxxqpyzhmkyxxxjcljyrmyygadyskqlnadhrskqxzxztcggz" | |
| 189 | +"dlmlwxybwsyctbhjhcfcwzsxwwtgzlxqshnyczjxemplsrcgltnzntlzjcyjgdtclglbllqpjmzpapxyzlaktkdwczzbncctdqqz" | |
| 190 | +"qyjgmcdxltgcszlmlhbglkznnwzndxnhlnmkydlgxdtwcfrjerctzhydxykxhwfzcqshknmqqhzhhymjdjskhxzjzbzzxympajnm" | |
| 191 | +"ctbxlsxlzynwrtsqgscbptbsgzwyhtlkssswhzzlyytnxjgmjrnsnnnnlskztxgxlsammlbwldqhylakqcqctmycfjbslxclzjcl" | |
| 192 | +"xxknbnnzlhjphqplsxsckslnhpsfqcytxjjzljldtzjjzdlydjntptnndskjfsljhylzqqzlbthydgdjfdbyadxdzhzjnthqbykn" | |
| 193 | +"xjjqczmlljzkspldsclbblnnlelxjlbjycxjxgcnlcqplzlznjtsljgyzdzpltqcssfdmnycxgbtjdcznbgbqyqjwgkfhtnbyqzq" | |
| 194 | +"gbkpbbyzmtjdytblsqmbsxtbnpdxklemyycjynzdtldykzzxtdxhqshygmzsjycctayrzlpwltlkxslzcggexclfxlkjrtlqjaqz" | |
| 195 | +"ncmbqdkkcxglczjzxjhptdjjmzqykqsecqzdshhadmlzfmmzbgntjnnlhbyjbrbtmlbyjdzxlcjlpldlpcqdhlhzlycblcxccjad" | |
| 196 | +"qlmzmmsshmybhbnkkbhrsxxjmxmdznnpklbbrhgghfchgmnklltsyyycqlcskymyehywxnxqywbawykqldnntndkhqcgdqktgpkx" | |
| 197 | +"hcpdhtwnmssyhbwcrwxhjmkmzngwtmlkfghkjyldyycxwhyyclqhkqhtdqkhffldxqwytyydesbpkyrzpjfyyzjceqdzzdlattpb" | |
| 198 | +"fjllcxdlmjsdxegwgsjqxcfbssszpdyzcxznyxppzydlyjccpltxlnxyzyrscyyytylwwndsahjsygyhgywwaxtjzdaxysrltdps" | |
| 199 | +"syxfnejdxyzhlxlllzhzsjnyqyqyxyjghzgjcyjchzlycdshhsgczyjscllnxzjjyyxnfsmwfpyllyllabmddhwzxjmcxztzpmlq" | |
| 200 | +"chsfwzynctlndywlslxhymmylmbwwkyxyaddxylldjpybpwnxjmmmllhafdllaflbnhhbqqjqzjcqjjdjtffkmmmpythygdrjrdd" | |
| 201 | +"wrqjxnbysrmzdbyytbjhpymyjtjxaahggdqtmystqxkbtzbkjlxrbyqqhxmjjbdjntgtbxpgbktlgqxjjjcdhxqdwjlwrfmjgwqh" | |
| 202 | +"cnrxswgbtgygbwhswdwrfhwytjjxxxjyzyslphyypyyxhydqpxshxyxgskqhywbdddpplcjlhqeewjgsyykdpplfjthkjltcyjhh" | |
| 203 | +"jttpltzzcdlyhqkcjqysteeyhkyzyxxyysddjkllpymqyhqgxqhzrhbxpllnqydqhxsxxwgdqbshyllpjjjthyjkyphthyyktyez" | |
| 204 | +"yenmdshlzrpqfbnfxzbsftlgxsjbswyysksflxlpplbbblnsfbfyzbsjssylpbbffffsscjdstjsxtryjcyffsyzyzbjtlctsbsd" | |
| 205 | +"hrtjjbytcxyyeylycbnebjdsysyhgsjzbxbytfzwgenhhhthjhhxfwgcstbgxklstyymtmbyxjskzscdyjrcythxzfhmymcxlzns" | |
| 206 | +"djtxtxrycfyjsbsdyerxhljxbbdeynjghxgckgscymblxjmsznskgxfbnbbthfjyafxwxfbxmyfhdttcxzzpxrsywzdlybbktyqw" | |
| 207 | +"qjbzypzjznjpzjlztfysbttslmptzrtdxqsjehbnylndxljsqmlhtxtjecxalzzspktlzkqqyfsyjywpcpqfhjhytqxzkrsgtksq" | |
| 208 | +"czlptxcdyyzsslzslxlzmacpcqbzyxhbsxlzdltztjtylzjyytbzypltxjsjxhlbmytxcqrblzssfjzztnjytxmyjhlhpblcyxqj" | |
| 209 | +"qqkzzscpzkswalqsplczzjsxgwwwygyatjbbctdkhqhkgtgpbkqyslbxbbckbmllndzstbklggqkqlzbkktfxrmdkbftpzfrtppm" | |
| 210 | +"ferqnxgjpzsstlbztpszqzsjdhljqlzbpmsmmsxlqqnhknblrddnhxdkddjcyyljfqgzlgsygmjqjkhbpmxyxlytqwlwjcpbmjxc" | |
| 211 | +"yzydrjbhtdjyeqshtmgsfyplwhlzffnynnhxqhpltbqpfbjwjdbygpnxtbfzjgnnntjshxeawtzylltyqbwjpgxghnnkndjtmszs" | |
| 212 | +"qynzggnwqtfhclssgmnnnnynzqqxncjdqgzdlfnykljcjllzlmzznnnnsshthxjlzjbbhqjwwycrdhlyqqjbeyfsjhthnrnwjhwp" | |
| 213 | +"slmssgzttygrqqwrnlalhmjtqjsmxqbjjzjqzyzkxbjqxbjxshzssfglxmxnxfghkzszggslcnnarjxhnlllmzxelglxydjytlfb" | |
| 214 | +"kbpnlyzfbbhptgjkwetzhkjjxzxxglljlstgshjjyqlqzfkcgnndjsszfdbctwwseqfhqjbsaqtgypjlbxbmmywxgslzhglsgnyf" | |
| 215 | +"ljbyfdjfngsfmbyzhqffwjsyfyjjphzbyyzffwotjnlmftwlbzgyzqxcdjygzyyryzynyzwegazyhjjlzrthlrmgrjxzclnnnljj" | |
| 216 | +"yhtbwjybxxbxjjtjteekhwslnnlbsfazpqqbdlqjjtyyqlyzkdksqjnejzldqcgjqnnjsncmrfqthtejmfctyhypymhydmjncfgy" | |
| 217 | +"yxwshctxrljgjzhzcyyyjltkttntmjlzclzzayyoczlrlbszywjytsjyhbyshfjlykjxxtmzyyltxxypslqyjzyzyypnhmymdyyl" | |
| 218 | +"blhlsyygqllnjjymsoycbzgdlyxylcqyxtszegxhzglhwbljheyxtwqmakbpqcgyshhegqcmwyywljyjhyyzlljjylhzyhmgsljl" | |
| 219 | +"jxcjjyclycjbcpzjzjmmwlcjlnqljjjlxyjmlszljqlycmmgcfmmfpqqmfxlqmcffqmmmmhnznfhhjgtthxkhslnchhyqzxtmmqd" | |
| 220 | +"cydyxyqmyqylddcyaytazdcymdydlzfffmmycqcwzzmabtbyctdmndzggdftypcgqyttssffwbdttqssystwnjhjytsxxylbyyhh" | |
| 221 | +"whxgzxwznnqzjzjjqjccchykxbzszcnjtllcqxynjnckycynccqnxyewyczdcjycchyjlbtzyycqwlpgpyllgktltlgkgqbgychj" | |
| 222 | +"xy"; | |
| 223 | + | |
| 224 | +char pinyinFirstLetter(unsigned short hanzi) | |
| 225 | +{ | |
| 226 | + int index = hanzi - HANZI_START; | |
| 227 | + if (index >= 0 && index <= HANZI_COUNT) | |
| 228 | + { | |
| 229 | + return firstLetterArray[index]; | |
| 230 | + } | |
| 231 | + else | |
| 232 | + { | |
| 233 | + return hanzi; | |
| 234 | + } | |
| 235 | +} | |
| 0 | 236 | \ No newline at end of file | ... | ... |
| ... | ... | @@ -0,0 +1,23 @@ |
| 1 | +/* | |
| 2 | + * pinyin.h | |
| 3 | + * Chinese Pinyin First Letter | |
| 4 | + * | |
| 5 | + * Created by George on 4/21/10. | |
| 6 | + * Copyright 2010 RED/SAFI. All rights reserved. | |
| 7 | + * | |
| 8 | + */ | |
| 9 | + | |
| 10 | +/* | |
| 11 | + * // Example | |
| 12 | + * | |
| 13 | + * #import "pinyin.h" | |
| 14 | + * | |
| 15 | + * NSString *hanyu = @"中国共产党万岁!"; | |
| 16 | + * for (int i = 0; i < [hanyu length]; i++) | |
| 17 | + * { | |
| 18 | + * printf("%c", pinyinFirstLetter([hanyu characterAtIndex:i])); | |
| 19 | + * } | |
| 20 | + * | |
| 21 | + */ | |
| 22 | +#define ALPHA @"ABCDEFGHIJKLMNOPQRSTUVWXYZ#" | |
| 23 | +char pinyinFirstLetter(unsigned short hanzi); | |
| 0 | 24 | \ No newline at end of file | ... | ... |
YouerLiveVideo/YouerLiveVideo/util/utiles.swift