-- MySQL dump 10.13 Distrib 5.7.23-23, for Linux (x86_64) -- -- Host: localhost Database: softwax3_cropMap -- ------------------------------------------------------ -- Server version 5.7.23-23 /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8 */; /*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; /*!40103 SET TIME_ZONE='+00:00' */; /*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; /*!50717 SELECT COUNT(*) INTO @rocksdb_has_p_s_session_variables FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'performance_schema' AND TABLE_NAME = 'session_variables' */; /*!50717 SET @rocksdb_get_is_supported = IF (@rocksdb_has_p_s_session_variables, 'SELECT COUNT(*) INTO @rocksdb_is_supported FROM performance_schema.session_variables WHERE VARIABLE_NAME=\'rocksdb_bulk_load\'', 'SELECT 0') */; /*!50717 PREPARE s FROM @rocksdb_get_is_supported */; /*!50717 EXECUTE s */; /*!50717 DEALLOCATE PREPARE s */; /*!50717 SET @rocksdb_enable_bulk_load = IF (@rocksdb_is_supported, 'SET SESSION rocksdb_bulk_load = 1', 'SET @rocksdb_dummy_bulk_load = 0') */; /*!50717 PREPARE s FROM @rocksdb_enable_bulk_load */; /*!50717 EXECUTE s */; /*!50717 DEALLOCATE PREPARE s */; -- -- Table structure for table `categories` -- DROP TABLE IF EXISTS `categories`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `categories` ( `categoryid` smallint(6) NOT NULL AUTO_INCREMENT, `category` varchar(25) NOT NULL, `archive` tinyint(4) NOT NULL, `keywords` varchar(250) NOT NULL, PRIMARY KEY (`categoryid`) ) ENGINE=MyISAM AUTO_INCREMENT=14 DEFAULT CHARSET=latin1; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Dumping data for table `categories` -- LOCK TABLES `categories` WRITE; /*!40000 ALTER TABLE `categories` DISABLE KEYS */; INSERT INTO `categories` VALUES (1,'Location',0,'gps coordinates'),(2,'Soil Tests',0,'field'),(3,'Yield Results',0,''),(4,'Acreage',0,'crop acres'),(5,'Farm Service',0,'usda'),(6,'Seed',0,'pioneer, dekalb'),(7,'Misc',0,''),(8,'Repairs',0,'highway 257'),(9,'Plow',0,''),(10,'Hp Pivot piplines',0,''),(11,'Planting',0,'gated pipe and corner'),(12,'Map',0,'farm images'),(13,'Hemp',0,'Maps location variety'); /*!40000 ALTER TABLE `categories` ENABLE KEYS */; UNLOCK TABLES; -- -- Table structure for table `chemical_used` -- DROP TABLE IF EXISTS `chemical_used`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `chemical_used` ( `chemicalid` mediumint(9) NOT NULL AUTO_INCREMENT, `mapid` smallint(6) NOT NULL, `product1` smallint(6) NOT NULL, `amount1` decimal(6,2) NOT NULL, `product2` smallint(6) NOT NULL, `amount2` decimal(6,2) NOT NULL, `product3` smallint(6) NOT NULL, `amount3` decimal(6,2) NOT NULL, `product4` smallint(6) NOT NULL, `amount4` decimal(6,2) NOT NULL, `product5` smallint(6) NOT NULL, `amount5` decimal(6,2) NOT NULL, `date` datetime NOT NULL, `hour` tinyint(4) NOT NULL, `notes` varchar(200) NOT NULL, `gps` varchar(40) NOT NULL, `crop_year` smallint(6) NOT NULL, PRIMARY KEY (`chemicalid`) ) ENGINE=MyISAM AUTO_INCREMENT=38 DEFAULT CHARSET=latin1; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Dumping data for table `chemical_used` -- LOCK TABLES `chemical_used` WRITE; /*!40000 ALTER TABLE `chemical_used` DISABLE KEYS */; INSERT INTO `chemical_used` VALUES (1,4,1,20.00,4,4.00,2,2.00,3,25.00,0,0.00,'2011-06-02 06:18:14',0,'hay in corn needs to be sprayed. 2 rounds short of completing lake field also.','',2011),(3,18,1,20.00,4,4.00,2,1.50,3,25.00,0,0.00,'2011-06-01 13:13:20',0,'Alfalfa in corn. Did outside of field with some from yard spray. Tank empty at end of field.\r\n\r\nRoundup in quarts, banvel quarts, amonium lbs, adwet quarts','',2011),(4,3,1,20.00,4,4.00,2,2.00,3,25.00,0,0.00,'2011-06-02 09:39:14',0,'2 rounds in lake field.','',2011),(5,7,1,10.00,4,2.00,2,1.00,3,12.00,0,0.00,'2011-06-02 10:32:08',0,'2 rounds in lake field.','',2011),(6,1,1,10.00,4,2.00,2,1.00,3,12.00,0,0.00,'2011-06-04 06:14:48',0,'90 gal from hpsw to finish.','',2011),(7,8,1,20.00,4,4.00,2,2.00,3,25.00,0,0.00,'2011-06-05 07:32:42',0,'Empty tank.','',2011),(8,6,1,20.00,4,4.00,2,2.00,3,25.00,0,0.00,'2011-06-05 07:32:53',0,'Empty tank. Some went to finish hpsheep.','',2011),(9,2,1,20.00,4,4.00,2,2.00,3,25.00,0,0.00,'2011-06-06 08:50:42',0,'Empty tank. Some will be needed to finish hptopmid.','',2011),(10,10,1,10.00,4,2.00,2,1.00,3,12.00,0,0.00,'2011-06-06 18:52:13',0,'3 rounds in hpnorth finished with load. Most used to do ends.','',2011),(11,10,1,20.00,5,4.00,2,2.00,3,25.00,0,0.00,'2011-06-07 06:06:06',0,'10 gal','',2011),(12,12,1,20.00,5,4.00,2,2.00,3,25.00,0,0.00,'2011-06-07 07:30:16',0,'0 gal','',2011),(13,11,1,20.00,5,4.00,2,2.00,3,25.00,0,0.00,'2011-06-08 06:26:21',0,'0 gal finish up sev09','',2011),(14,11,1,20.00,5,4.00,2,2.00,3,25.00,0,0.00,'2011-06-08 07:20:00',0,'10 gal','',2011),(15,10,1,20.00,5,4.00,2,2.00,3,25.00,0,0.00,'2011-06-08 08:46:20',0,'0 gal','',2011),(16,13,1,20.00,5,4.00,2,2.00,3,25.00,0,0.00,'2011-06-08 10:09:10',0,'10 gal 1 rounds sev5 and sev10','',2011),(17,13,1,20.00,5,4.00,2,2.00,3,25.00,0,0.00,'2011-06-08 11:45:06',0,'10 gal','',2011),(18,13,1,10.00,5,2.00,2,1.00,3,12.00,0,0.00,'2011-06-08 13:33:47',0,'Finish up last load','',2011),(19,8,1,20.00,5,4.00,2,2.00,3,25.00,0,0.00,'2012-05-22 06:01:01',0,'I just sprayed the big weeds on the top of the field','',2012),(20,1,1,20.00,5,4.00,2,2.00,3,25.00,0,0.00,'2012-05-26 06:01:01',0,'Sprayed everything except last round on short rows.','',2012),(21,18,1,20.00,5,4.00,2,1.75,3,25.00,0,0.00,'2012-05-29 06:01:01',0,'Sprayed everything except last 2 round on short rows.','',2012),(22,11,1,20.00,5,4.00,2,1.75,3,25.00,0,0.00,'2012-05-30 08:13:26',0,'Sprayed some on sev09 perimeter','',2012),(23,11,1,20.00,5,4.00,2,1.75,3,25.00,0,0.00,'2012-05-30 09:35:39',0,'Finished field except for pass accross top','',2012),(24,12,1,20.00,5,4.00,2,1.75,3,25.00,0,0.00,'2012-05-31 06:08:23',1,'perimiter sprayed from previous load.','',2012),(25,10,1,20.00,5,4.00,2,1.50,3,25.00,0,0.00,'2012-05-31 08:32:25',0,'part of load used to finish sev09','',2012),(26,10,1,20.00,5,4.00,2,1.50,3,25.00,0,0.00,'2012-05-31 09:34:53',0,'2nd part to finish field','',2012),(27,15,1,20.00,5,4.00,2,1.50,3,25.00,0,0.00,'2012-05-31 10:55:07',0,'3nd part to finish field','',2012),(28,15,1,20.00,5,4.00,2,1.50,3,25.00,0,0.00,'2012-05-31 12:55:27',0,'3nd part to finish field','',2012),(29,13,1,20.00,5,4.00,2,1.50,3,25.00,0,0.00,'2012-06-01 06:43:35',0,'Part of load used to finish last field','',2012),(30,13,1,20.00,5,4.00,2,1.50,3,25.00,0,0.00,'2012-06-01 20:38:40',0,'2nd load','',2012),(31,7,1,20.00,5,4.00,2,1.50,3,25.00,0,0.00,'2012-06-01 20:39:52',0,'South 2/3rds of field','',2012),(32,3,1,10.00,5,2.00,2,0.75,3,12.00,0,0.00,'2012-06-02 08:25:29',0,'south half the field','',2012),(33,4,1,20.00,5,4.00,2,1.50,3,25.00,0,0.00,'2012-06-11 09:31:40',0,'finished up that load on hp take. Did make 1 round on hp sheep','',2012),(34,2,1,20.00,5,4.00,2,1.50,3,25.00,0,0.00,'2012-06-12 09:34:02',0,'','',2012),(35,2,1,20.00,5,4.00,2,1.50,3,25.00,0,0.00,'2012-06-14 10:10:54',0,'finished up hp top mid an h p s w','',2012),(36,8,1,20.00,5,4.00,2,1.50,3,25.00,0,0.00,'2012-06-14 12:12:15',0,'spray for the second time','',2012),(37,8,1,11.00,5,2.00,2,0.75,3,12.00,0,0.00,'2012-06-16 06:12:13',0,'spray for the second time. Batch 2','',2012); /*!40000 ALTER TABLE `chemical_used` ENABLE KEYS */; UNLOCK TABLES; -- -- Table structure for table `chemicals` -- DROP TABLE IF EXISTS `chemicals`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `chemicals` ( `chemicalid` smallint(6) NOT NULL AUTO_INCREMENT, `product` varchar(50) NOT NULL, `manufactured` varchar(25) NOT NULL, `technology` varchar(200) NOT NULL, `notes` text NOT NULL, `number` smallint(6) NOT NULL, `archive` tinyint(6) NOT NULL, PRIMARY KEY (`chemicalid`) ) ENGINE=MyISAM AUTO_INCREMENT=12 DEFAULT CHARSET=latin1; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Dumping data for table `chemicals` -- LOCK TABLES `chemicals` WRITE; /*!40000 ALTER TABLE `chemicals` DISABLE KEYS */; INSERT INTO `chemicals` VALUES (1,'Bacanneer Plus','Monsanto','plus','1qt per acre. 1.2 works great. Sprayer dumps 11 gal acre.\r\n\r\nunits in quarts\r\n\r\n51.230 gal 5/27/11\r\n51.25 gal 6/6/11',409,0),(2,'Ad Wet','Ad Max 90','soap scum\r\n$33 gal 5/22/18','1 qt per 100 gals measured quarts',15,0),(3,'Amonium Sulfate','','fertilizer solid\r\n$0.60 a pound','25 lbs per 200 gals. Units of measure LBS\r\n\r\n306 LBS 6/1/11\r\n51 LBS 6/6/11',408,0),(4,'Banvel','ARYSTA','molucule ripper','1/3 pt per acre. 1 gal per 200 gal water. Units used quarts\r\n\r\n10 gal 5/27',40,0),(5,'Detonate','','Banvel equivalent\r\n$70 a gallon','noticed book had the 8 oz rate',60,0),(6,'Prowel 3.3','','$51 gallon','.875 gal 5/11',5,0),(7,'Balance Pro','','','8 OZ 5/11',8,0),(8,'WIDEMATCH','','stinger','units in quarts',4,0),(9,'Option','Bayer','Formasulfuron','1.5 ounces per acre .\r\nmust be mixed with methylated or ethalated seed oil at 1.5 pints per acre. also 2 pounds per acre of ammonium sulfate.\r\n\r\ncan be mixed with banvel herbicide.',0,0),(10,'Methylated Seed Oil','Pierce','Vegetable oil,alkylphenol ethoxlate, polysiloxane.','this is use with option\r\n1.5 pints per acre .',3,0),(11,'Glystar Plus','','Round up\r\n$14.10','',100,0); /*!40000 ALTER TABLE `chemicals` ENABLE KEYS */; UNLOCK TABLES; -- -- Table structure for table `contacts` -- DROP TABLE IF EXISTS `contacts`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `contacts` ( `contactid` smallint(6) NOT NULL AUTO_INCREMENT, `contact` varchar(60) NOT NULL, `text` tinyint(4) NOT NULL, `name` varchar(50) NOT NULL, PRIMARY KEY (`contactid`) ) ENGINE=MyISAM AUTO_INCREMENT=10 DEFAULT CHARSET=latin1; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Dumping data for table `contacts` -- LOCK TABLES `contacts` WRITE; /*!40000 ALTER TABLE `contacts` DISABLE KEYS */; INSERT INTO `contacts` VALUES (1,'steve@softwarewebdesign.com',0,'Steve Winter'),(2,'9702315854@vtext.com',0,'Steve Winter Cell'),(3,'9706920034@vtext.com',1,'Davids Cell'),(4,'kklatt@agfinityinc.com',0,'Kevin Klatt'),(5,'9702315855@vtext.com',1,'Calebs Cell'),(6,'steve@sjwfarms.com',0,'Steve Farm'),(7,'Sons@sjwfarms.com',0,'Caleb Winter'),(8,'softwarewebdesign@gmail.com',0,'Steve Winter Gmail'),(9,'paul.hahn1@chsinc.com',0,'Paul HAHN'); /*!40000 ALTER TABLE `contacts` ENABLE KEYS */; UNLOCK TABLES; -- -- Table structure for table `farmNotes` -- DROP TABLE IF EXISTS `farmNotes`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `farmNotes` ( `noteid` mediumint(9) NOT NULL AUTO_INCREMENT, `farmid` smallint(6) NOT NULL, `categoryid` smallint(6) NOT NULL, `year` smallint(6) NOT NULL, `note` text NOT NULL, `pdf` varchar(12) NOT NULL, PRIMARY KEY (`noteid`), KEY `farmid` (`farmid`,`year`) ) ENGINE=MyISAM AUTO_INCREMENT=131 DEFAULT CHARSET=latin1; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Dumping data for table `farmNotes` -- LOCK TABLES `farmNotes` WRITE; /*!40000 ALTER TABLE `farmNotes` DISABLE KEYS */; INSERT INTO `farmNotes` VALUES (1,1,4,2011,'Severance Alfalfa 78.0 \r\nSeverance Desert 10.0 \r\nSeverance whole corn 144.5 \r\n\r\nFirst descent rain 5/1/2011\r\nFirst frost date 10/20/2011','1.pdf'),(2,2,4,2011,'Acerage by Farm\r\nFARM Crop Acres \r\nHome Alfalfa 25.0 \r\nHome Desert 10.0 \r\nHome whole corn 109.0 \r\nTotal \r\n--------------------------------------------------------------------------------\r\n\r\nFirst frost 10/19/2011','2.pdf'),(3,1,1,2014,'Pipeline covered from sump \r\nlat 40 32 31.38\r\nlong -104 51 42.238','3.pdf'),(6,2,7,2015,'Fertilizer Prices via email\r\n\r\nSteve,\r\n\r\nWe have you down for seed prepay at $13,928.54, but I didn’t see any fertilizer prepay. This is what the fertilizer pricing would be for Feb 2015:\r\n\r\n46-0-0-$525\r\n11-52-0-$590\r\n00-00-60-$630\r\nMN-32% -$1.20/lb\r\n\r\nI think these cover most of your needs. We will have the air max available tomorrow to spread, if that works. We do also have the spinner truck as well.\r\n\r\nThanks,\r\n\r\ndavid\r\nTimnath SGS','6.pdf'),(7,1,2,2015,'\r\n
LAB NUMBER SAMPLE ID ORGANIC PHOS P1 PHOS P2 PHOS BiCarb POTASSIUM MAGNESIUM CALCIUM SODIUM PH Soil EXCHANGE %K %MG %CA %H %NA LAB NUMBER Nitrate ppm Nitrate lb/A Nitrate depth Nitrate total Sulfur s ZINC Zn MANGANESE Mn IRON Fe COPPER Cu BORON B lime rate SOLUBLE SALTS\r\n
063291SEV042.1_L57_VH115_VH33_VH392_VH683_VH3782_H368.025.83.922.173.40.00.606329301080-1210831_VH3.6_H3_VL12_M1.0_M1.7_H_H0.5_L\r\n
063302SEV051.7_L59_VH140_VH26_VH366_VH540_VH3373_H438.122.54.220.075.00.00.80633025900-129035_VH3.0_M2_VL7_L0.9_M1.3_H_H0.5_L\r\n
063313HPSWEST1.7_L60_VH127_VH27_VH288_VH422_VH2808_H358.118.44.019.176.10.00.8063319320-123226_VH3.0_M2_VL10_L1.0_M1.1_M_M0.5_L\r\n
063324HPNORTH1.9_L8_L52_H15_M285_VH607_VH3502_H468.223.53.121.574.50.00.90633210360-123630_VH2.1_M2_VL9_L1.0_M1.1_M_H0.5_L\r\n
','7.pdf'),(8,1,2,2014,'\r\n
LAB NUMBER SAMPLE ID ORGANIC PHOS P1 PHOS P2 PHOS BiCarb POTASSIUM MAGNESIUM CALCIUM SODIUM PH Soil EXCHANGE %K %MG %CA %H %NA LAB NUMBER Nitrate ppm Nitrate lb/A Nitrate depth Nitrate total Sulfur s ZINC Zn MANGANESE Mn IRON Fe COPPER Cu BORON B lime rate SOLUBLE SALTS\r\n
778431HECKMAN1.6_L45_VH109_VH39_VH170_M806_VH2993_M284VH8.223.41.928.764.10.05.3778437410-124172_VH3.9_H2_VL30_VH1.3_H2.4_VH_L1.1_M\r\n
778452SEV71.6_L8_L46_H10_L234_H595_VH3144_H708.221.62.823.072.80.01.477845171010-121059_VH2.3_M3_VL19_H1.1_M1.0_M_M0.6_L\r\n
7784635B1.8_L5_VL58_H16_H212_H786_VH2926_M155VH8.222.42.429.265.40.03.077846241410-1214169_VH1.9_M3_VL14_M1.0_M1.9_VH_M0.8_L\r\n
778474SHEPCORRA1.9_L83_VH129_VH45_VH342_VH535_VH2789_H577.919.54.522.971.30.01.377847211310-121334_VH3.4_H3_VL13_M1.1_M1.6_H_L0.4_L\r\n
','8.pdf'),(11,1,2,2012,'- 20- - 190 - 19 - 11 - . - 207 - 14 - 165 - 14 - 26 - 280 - VI - 0-10 - 0-10 - 0-10 - 0-10 - 0-10 - Midwest - %iof - Laboratories, Inc.\' - 13611 \"B\" Street - • Omaha, Nebraska 68144-3693 (402) 334-7770 FAX (402) 334-9121 - www.midwestlabs.com - IDENTIFICATION - STEVE WINTER - SIMPLOT SOIL SOLUTIONS - WINDSOR COLORADO - P0 BOX 63 - TIMNATH CO 80547 - SOIL ANALYSIS REPORT - NLUTAI. AMMQMIUM ATATEEXCFANGEAELE) - MAGNESIUM - PAGE 1/1 - INFO SHEET: 447259 - :.PERCENTI.BASE.SATURATION - .(COMPIJTEP) - REPORT NUMBER - 12-030-0019 - REPORT DATE - ACCOUNT - Jan 3l,2012 - 8149 - RECEIVED DATE - Jan 30, 2012 - 2.1 - 58973 - 58974 - 58975 - 58976 - 58977 - 1 SEV 10 - 2 SEV 6W - 3HP LAKE - 4HP NORTH - 5HP SWEST - 652v - 514..i. - 597v - 539 - 445vH - 3310 - 3548 - 3482..:: - 3388 - 321 - 22.7 - 22.7 - 23.0 - 22.2 - 20.7 - 23.9 - 18.9 - 21.6 - 20.2 - 17.9 - 72.8 - 78.2 - 75.7 - 76.4 - 77.8 - 1 .9 - 1.9 - 1.8 - 1.8 - 61 - 33. - 50 - 39 - 39 - 8.1 - 8.2 - 8.2 - 8.2 - 8.1 - 2.1 - 2.3 - 1.8 - 2.6 - 3.5 - 0.0 - 0.0 - 0.0 - 0.0 - 0.0 - 1.2 - 0.6 - 0.9 - 0.8 - 0.8 - 58973 - 58974 - 58975 - 58976 - 58977 - 39 - 33 - 45 - 18 - 21 - RATE-N (Fl) - S - . - 0LU01- - : - SALTS - 0.6... - 0.4 - 0.4 - 0.4 - 0.4 - 13 - 11 - 15 - 6 - 7 - MANE ANtS - 39 - 33 - 45 - 18 - 21 - 9 - 15 - 22 - 19 - 29 - H - H - 2.9 - 2.9 - 4.7 - 2.3 - 2.5 - 3 - 3 - 2 - 3 - 2 - L - 17 - 16 - 13 - 14 - 12 - 1.0 - 1.1 - 0.8 - 0.9 - 0.9 - 1.0 - 1.0 - M - M - M - M - L - L - L - REV. 12/03 - Our reports and letters are - br - the exclusive and conticleuitial use ot our clients and may not be reproduced in whole or in part, nor may any reterence be made - to the work, the results, or the company in any advertising, news release, or other public announcements without obtaining our prior written authorization. - The abpve analvficl results app/v - poly - to the sample(s) ubmitte/. Samples re retained maximum 0130 days. - \r\n\r\nRECEIVED DATE - Jan 30, 2012 - 13611 \"B\" Street• - Omaha, Nebraska 68144-3693 (402) 334-7770 FAX (402) 334-9121 - www.midwestlabs.com - IDENTIFICATION - STEVE WINTER - SIMPLOT SOIL SOLUTIONS - WINDSOR COLORADO - P0 BOX 63 - TIMNATH Co 80547 - SOIL FERTILITY RECOMMENDATIONS (POUNDS PER ACRE) - 1 SEV 10 - CORN - bu - 200.0 - CORN - bu - 0.7 - 5.5 - 70 - 35 - 205 - ELEMENTAL - SULFUR. - LBSIA - GYPSUM - IONS/A - YOUR - SAMPLE - NUMBER - (LAB NUMBER) - 1NTENDED - CR - • - sO1LAMEND.MENTS: - YIELD - .11 - GOAL - p. - FHOSPHAT - Cu - COPE - B - BORON, - (23658977) - (23658973) - CORN - bu - 200.0 - CORN - bu - 200 - 1.1 - 6.1 - 6.1 - 90 - 75 - RE\'!. 12103 - 0.9 - 6.1 - 225 - CORN - bu - 200.0 - CORN - bu - (23658975) - 4HP NORTH - • - (23658916) - 5HP SWEST - REPORT NUMBER - 12-030-0019 - REPORT DATE - ACCOUNT - Jan 31, 2012 - 8149 - Midwest, - 440 - \'I/ Laboratories, lncm\' - PAGE 1/1 - The alove analvticpl resets ajplv.oply to the stnple(s) submitter!. Samples aie reta!I7ed.a maximum of 30 deys. - Our reports and letters are tor me exClusive and conlideñtial use ot our clients and may not be reproduced in wflole or in part, nor may any reterence be made - to the work, the results, or the company in any advertising, news release, or other public announcements without obtaining our prior written authorization. - Midwest - 13611 “B” Street - x - Omaha, Nebraska 68144-3693 - x - (402) 334-7770 - x - FAX (402 334-9121 - www.midwestlabs.com - Our reports and letters are for the exclusive and confidential use of our - clients and may not be reproduced in whole or in part, nor may any refere - nce be made - to the work, the results, or the company in any advertising, news release, or other public announcements without obtaining our prior written au - thorization. - Laborator - ies - Inc. - ® -NITRATE-N (FIA) - ORGANIC - MATTER - PHOSPHORUS - PERCENT BASE SATURATION (COMPUTED) - P - 1 - (WEAK BRAY) - P - 2 - (STRONG BRAY) - LAB - NUMBER - SAMPLE - IDENTIFICATION - CATION - EXCHANGE - CAPACITY - C.E.C. - meq/100g - SOIL - pH - 1:1 - OLSEN - P - K - POTASSIUM - MAGNESIUM - Mg - CALCIUM - Ca - SODIUM - Na - pH - NEUTRAL AMMONIUM ACETATE (EXCHANGEABLE) - % - Mg - % - Ca - % - H - % - Na - % - K - BUFFER - INDEX - RATE - ppm - RATE - ppm - RATE - ppm - RATE - ppm - RATE - ppm - RATE - ppm - RATE - percent - SOIL ANA - LYSIS REPO - RT - REV. 12/03 - ppm - ppm - ppm - lbs/A - lbs/A - depth - (in) - depth - (in) - depth - (in) - lbs/A - Total - lbs/A - RATE - ppm - EXCESS - LIME - RATE - SULFUR - S - ZINC - Zn - MANGANESE - Mn - IRON - Fe - COPPER - Cu - BORON - B - SOLUBLE - SALTS - 1:1 - RATE - mmhos/ - cm - RATE - ppm - RATE - ppm - RATE - ppm - RATE - ppm - RATE - ppm - RATE - ppm - ICAP - LAB - NUMBER - SURFACE - SUBSOIL 1 - SUBSOIL 2 - L - . - O - . I. - BICARBONATE - 12-338-0258 - Dec 5, 2012 - Dec 3, 2012 - STEVE WINTER - 8149 - SIMPLOT SOIL SOLUTIONS - PO BOX 63 - TIMNATH CO 80547 - The above analytical results apply only to the sample(s) sub - mitted. Samples are retained a maximum of 30 days. - REPORT NUMBER - REPORT DATE - RECEIVED DATE - ACCOUNT - IDENTIFICATION - DTPA - DTPA - DTPA - DTPA - SORB. DTPA - 1:7 - 1:7 - INFO SHEET: 523472 - *248* - *248* - PAGE 1/1 - 98711 - 1HPTOPMID - 1.8 33 69 17 214 448 3233 - 39 8.2 - 20.6 2.7 18.1 78.4 0.0 0.8 - L - VH - VH - H - H - VH - H - 98711 13 8 - 8 47 3.6 - 3 - 31 1.3 - 1.0 - 0.5 - H - VH - H - VL - VH - H - M - L - 10-12 - 98712 - 2SEV 06E - 1.7 43 91 28 201 550 3533 - 33 8.2 - 22.9 2.3 20.0 77.1 0.0 0.6 - L - VH - VH - VH - H - VH - H - 98712 24 14 - 14 30 3.9 - 3 - 13 1.0 - 1.0 - 0.5 - H - VH - H - VL - M - M - M - L - 10-12 - 98713 - 3SEV 09 - 2.0 18 47 29 298 922 3630 - 52 8.2 - 26.8 2.9 28.7 67.6 0.0 0.8 - L - M - H - VH - VH - VH - H - 98713 26 16 - 16 56 2.8 - 3 - 11 1.1 - 1.7 - 0.7 - M - VH - M - VL - M - M - H - L - 10-12 - Midwest - 13611 “B” Street - x - Omaha, Nebraska 68144-3693 - x - (402) 334-7770 - x - FAX (402 334-9121 - www.midwestlabs.com - Our reports and letters are for the exclusive and confidential use of our - clients and may not be reproduced in whole or in part, nor may any refere - nce be made - to the work, the results, or the company in any advertising, news release, or other public announcements without obtaining our prior written au - thorization. - Laborator - ies - Inc. - ® -  -  -  -  -  -  - YOUR - SAMPLE - NUMBER - (LAB NUMBER) - YIELD - GOAL - NP - 2 - O - 5 - K - 2 - OMg S ZnMnFeCuB - INTENDED - CROP - SOIL AMENDMENTS - NITROGEN - PHOSPHATE - POTASH - MAGNE- - SIUM - SULFUR - ZINC - MANGA- - NESE - IRON - COPPER - BORON - LIME - LBS/A OF - LIME TON - GYPSUM - TONS/A - ELEMENTAL - SULFUR - LBS/A - SOIL FERTILITY RECOMMENDATIONS (POUNDS PER ACRE) - REV. 12/03 - PREVIOUS - CROP - 12-338-0258 - Dec 5, 2012 - Dec 3, 2012 - STEVE WINTER - 8149 - SIMPLOT SOIL SOLUTIONS - PO BOX 63 - TIMNATH CO 80547 - The above analytical results apply only to the sample(s) sub - mitted. Samples are retained a maximum of 30 days. - REPORT NUMBER - REPORT DATE - RECEIVED DATE - ACCOUNT - IDENTIFICATION - PAGE 1/1 - 1HPTOPMID - CORN - bu - 200.0 CORN - bu - 235 - 30 - 55 - -- - -- - -- - 5.5 -- - -- - -- - (24898711) - 2SEV 06E CORN - bu - 200.0 CORN - bu - 230 - -- - 65 - -- - -- - -- - 5.5 -- 0.7 -- - (24898712) - 3SEV 09 - CORN - bu - 200.0 CORN - bu - 225 - 30 - -- - -- - -- - -- - 5.5 -- - -- - -- - (24898713) -','11.pdf'),(12,1,1,2015,'GPS the old pre-pivot road from old sump to drain tile\r\n\r\n40.53800, 104.86238\r\n40.53835, 104.86260\r\n40.53874, 104.86284\r\n40.53904, 104.86302\r\n40.53929, 104.86317\r\n40.53941, 104.86326\r\n40.53964, 104.86350\r\n40.53989, 104.86391\r\n40.54024, 104.86440\r\n40.54045, 104.86464\r\n40.54084, 104.86492 This marks drain tile 2 feet south','12.jpg'),(13,1,5,2015,'Acre report sign up','13.pdf'),(14,2,5,2015,'Producer Farm Data Report\r\nDate: 2/2/15 10:21 AM\r\nCrop Year: 2015 \r\n\r\nContains Farm numbers and tracts','14.pdf'),(15,2,3,2017,'Plot data in raw form.','15.jpg'),(16,2,7,2015,'Electric meter number by lake _ PVREA 99429','16.jpg'),(17,2,7,2015,'crop insurance quote and sign up information.','17.pdf'),(18,2,7,2015,'TEMPORARY BANK STUFF','18.pdf'),(19,1,7,2015,'Corn contract from west plains. Include fall harvest $4.32, $4.08, $4.28, $4.45\r\nsummer bin $3.95','19.pdf'),(21,1,6,2015,'Pioneer invoice for 2016 in 2015','21.pdf'),(22,2,3,2015,'Yield check on home farm','22.pdf'),(23,1,6,2016,'Pioneer seed delivery for plot.\r\nPioneer Delivery Ticket 4_25_2016 3_51_29 PM.pdf','23.pdf'),(24,1,7,2016,'Severance Pivot electrical hookup info:\r\nNema L16 - 20 -R 20 amps 480 volts than 30','24.jpg'),(25,1,7,2016,'Walking your fields planting notes','25.pdf'),(26,1,7,2017,'crop contracts from west plains. Grain sold in bins in accounting record','26.pdf'),(62,1,7,2017,'

Liquid N

\r\n131 acres under pivot or 262 under both\r\n$280 ton \r\n750 x 4 x 11 x0.32= 11000 lbs N or 42 lb N/acre\r\n\r\nDate: 06/02/2017 Invoice No: 740023274 Product Unit of Measure Qty Price Ext. Price\r\nTotals: $2,983.40\r\n32-00-00 TRI-N-32 [T] Tons 10.655 $280.000 $2,983.40\r\n\r\nDate: 06/28/2017 Invoice No: 740023505 Product Unit of Measure Qty Price Ext. Price\r\nTotals: $1,104.60\r\n32-00-00 TRI-N-32 [T] Tons 3.945 $280.000 $1,104.60\r\n\r\nDate: 07/11/2017 Invoice No: 740023599 Product Unit of Measure Qty Price Ext. Price\r\nTotals: $2,164.40\r\n32-00-00 TRI-N-32 [T] Tons 7.730 $280.000 $2,164.40\r\nDate: 07/20/2017 Invoice No: 740023658\r\n\r\n22 tons= 53 lb N/acre','62.jpg'),(28,2,4,2016,'this is the yield reports on the home place that was done on November 9th 2016\r\nAcerage by crop\r\n\r\nCrop Acres\r\nalfalfa 91.0\r\nDesert 20.0\r\nwhole corn 269.0\r\ntotal \r\n380\r\nAcerage by Farm\r\n\r\nFARM Crop Acres\r\nHome 9504 alfalfa 38.0\r\nHome 9504 Desert 10.0\r\nHome 9504 whole corn 96.0\r\nSeverance 7847 Alfalfa 53.0\r\nSeverance 7847 Desert 10.0\r\nSeverance 7847 whole corn 173.0\r\nTotal \r\n380','28.pdf'),(29,2,10,2017,'Pump hookup\r\n\r\n
  • 40.55077 - 104.90948 west couple\r\n40.55075- 104.90945 east couple\r\n45 degree elbow 40.55075 - 104.90949\r\nEast of pump General pipe layout. 40.55067 - 104.90948 5ft west of actual pipe.\r\n
  • Pic of the Curve 40.55026 -104.90942 5ft west\r\n
  • Electric hookup measure 5 foot to the West again 40.55050 - 104.90945\r\n
  • Where the pipe straightens out going to the pond 40.55005 104.90926\r\n
  • Just remember that the electric line is on the downhill side or east side of the pipe and due to the size of the trench with the bucket he could be up to 2 feet away from the existing pipeline if you ever decide to dig. Because most of my measurements were done on my GPS device with the trench open I got it standing on the uphill side or the west side of the pipeline trench unless noted in the thing by the measurements are all at least five feet to the downhill side or east side of the Trench. I did climb in the trench where the initial hookup was the ground was frozen I could stand next to the pipe.\r\n
  • Angle change in the pipe going to the pond. 40.54967 Dash 104.90888\r\n
  • Right on top the electric line where it makes a curve. 40.54928 - 104.90884','29.jpg'),(30,2,10,2017,'Hook up 2\r\n\r\n
  • 40.55077 - 104.90948 west couple\r\n40.55075- 104.90945 east couple\r\n45 degree elbow 40.55075 - 104.90949\r\nEast of pump General pipe layout. 40.55067 - 104.90948 5ft west of actual pipe.\r\n
  • Pic of the Curve 40.55026 -104.90942 5ft west\r\n
  • Electric hookup measure 5 foot to the West again 40.55050 - 104.90945\r\n
  • Where the pipe straightens out going to the pond 40.55005 104.90926\r\n
  • Just remember that the electric line is on the downhill side or east side of the pipe and due to the size of the trench with the bucket he could be up to 2 feet away from the existing pipeline if you ever decide to dig. Because most of my measurements were done on my GPS device with the trench open I got it standing on the uphill side or the west side of the pipeline trench unless noted in the thing by the measurements are all at least five feet to the downhill side or east side of the Trench. I did climb in the trench where the initial hookup was the ground was frozen I could stand next to the pipe.\r\n
  • Angle change in the pipe going to the pond. 40.54967 Dash 104.90888\r\n
  • Right on top the electric line where it makes a curve. 40.54928 - 104.90884','30.jpg'),(31,2,10,2017,'Pipe location\r\n
  • Pic of the Curve 40.55026 -104.90942 5ft west','31.jpg'),(32,2,10,2017,'Electric hook up\r\n\r\n
  • Electric hookup measure 5 foot to the West again 40.55050 - 104.90945','32.jpg'),(33,1,11,2019,'Planting coordinates\r\nSEVERANCE top of hill split gps coordinates\r\nI use the multi Point GPS in the tractor the starting points are latitude 40.5 37989 what longitude is -104.86 1 3 3 5\r\nNew coordinates for the gated pipe. Walking south to north\r\n40.53812 104.86128 00\r\n40.53838 104.86130 40\r\n40.53867 104.86131 40\r\n40.53888 104.86131 25\r\n40.53908 104.86129 25\r\n40.53954 104.86123 65 steps\r\n\r\n-104.861261,40.538042\r\n-104.861301,40.538348\r\n-104.861314,40.538621\r\n-104.861311,40.538888\r\n-104.861286,40.539168\r\n-104.861244,40.539428\r\n\r\n\r\n\r\n\r\n\r\n\r\nH 145.879 degrees planting\r\n\r\nSouth track -104.865153,40.538072\r\n\r\nGoogle maps 2016 view North to south\r\n-104.861209,40.539456 just south of atv path\r\n-104.861219,40.539365 -104.861239,40.539276 -104.861251,40.539211 -104.861259,40.539159 -104.861270,40.539077 -104.861288,40.539012 -104.861296,40.538966 -104.861304,40.538918 -104.861308,40.538869 -104.861307,40.538841 -104.861303,40.538796 -104.861304,40.538751 -104.861300,40.538697 -104.861291,40.538630 -104.861288,40.538567 -104.861288,40.538503 -104.861288,40.538438 -104.861279,40.538304 -104.861268,40.538232 -104.861268,40.538160 -104.861264,40.538105 -104.861257,40.538049 -104.861253,40.538002 -104.861257,40.537931','33.jpg'),(34,2,2,2017,'\r\n
    LAB NUMBER SAMPLE ID ORGANIC PHOS P1 PHOS P2 PHOS BiCarb POTASSIUM MAGNESIUM CALCIUM SODIUM PH Soil EXCHANGE %K %MG %CA %H %NA LAB NUMBER Nitrate ppm Nitrate lb/A Nitrate depth Nitrate total Sulfur s ZINC Zn MANGANESE Mn IRON Fe COPPER Cu BORON B lime rate SOLUBLE SALTS\r\n
    246211HPUPMID1.8_L23_H52_H13_M298_VH478_VH3533_H427.722.63.417.678.20.00.824621451350-1013530_VH2.4_M3_VL10_L1.0_M1.0_M_H0.6_L\r\n
    246222HPCATTLE2.2_L73_VH115_VH46_VH397_VH714_VH3328_H98_M7.624.04.224.869.20.01.824622752250-10225148_VH3.5_H4_VL11_M1.0_M1.7_H_H1.0_L\r\n
    ','34.pdf'),(35,1,9,2018,'

    Plow Schedule 2021

    \r\nSev\r\nPivot field S to N\r\nsev08 N to S East end up or W to E\r\nfall South of pivot field S to E until West crossing\r\n\r\n

    Plow Schedule 2019

    \r\nStarted north of hp pivot tower fall 2018 plowing S to N\r\nHPHILL N to S\r\n\r\nSev\r\nsev08 N to S East end up or W to E\r\nfall South of pivot field S to E until West crossing\r\n\r\n

    Plow Schedule 2018

    \r\nSEVPivNW West to East\r\nSev08 South to north. East end down both long and short rows. Waited on west end in case of ditch replacement.\r\n\r\nHP\r\nFall North to South\r\nHill- East to West Ends plowed toward field.\r\n\r\n\r\n

    Plow Schedule 2017

    No fall plowing done\r\nSev07 S to N, E end down 2016\r\n\r\nSEVPivNW - N to S, old alfalfa west end to east else west end west 1 round 2016\r\n\r\n

    Plow Schedule 2014-2015

    Sev07 N to S E end down\r\nSev 09 S to N stopped at pivot center.\r\n\r\nFirst year with pivot.\r\nThe year hail hit 3 times at the knee high length. North side worse than south. Was pretty good rains later in season. Got pivot stuck in south draw near abandoned sump.\r\n

    Acreage

    \r\nSeverance Alfalfa 32.0\r\nSeverance Desert 10.0\r\nSeverance whole corn 183.1','35.jpg'),(36,2,1,2020,'Pond location\r\n40°32\'57.20\"N,104°54\'30.51\"W\r\n\r\nPivot\r\n

    HP Pivot

    \r\nPivot location 40.54888 - 104.91344\r\ngoogleEarth: 40°32\'55.90\"N, 104°54\'48.44\"W\r\n1st year of service 2017\r\nAgSense password \r\nusername: winterfarms\r\npassword: pivot37687!\r\n\r\n40.5 45246\r\n
  • Large Gun 07/16/25\r\n27.0 - 43.0 \r\n43.0 - 48.0\r\n86.3 - 107.0\r\n156.0 - 158.0 \r\n208.1 - 233.0\r\n316.0 - 338.0 \r\n\r\nSmall gun 07/16/25\r\n21 - 33\r\n39 - 68\r\n83 - 108\r\n136 - 167.5\r\n200 - 237\r\n313 - 348\r\n\r\nVRI Table\r\n0 - 61 0.4\r\n61 - 80 0.26\r\n180 - 270 1.250in\r\n270.1 - 359.0 0.4 in\r\n\r\n\r\n127 degree by hay shed','36.jpg'),(37,1,1,2017,'

    Distance

    \r\nIn the field that by the modular house the distance from the end of the cement cut ditch to the road is 270 feet. This equates to 9 sections of gated pipe.','37.jpg'),(38,1,5,2017,'LDP sign up at USDA office 3/29/2017','38.pdf'),(39,1,6,2017,'DELIVERY TICKET RETURN ALFALFA Spring 2017\r\nApril 7, 2017 - Operation: Winter; Steve - Pioneer Hi‐Bred International, Inc.\r\n Current Delivery - Product Segment Sub‐Product Description Account Description - Units this\r\nDelivery/Return - 55VR05 Muscle GEN RR N221 50# BAG FST\r\n Winter; Steve ‐2.0 - Alfalfa Total ‐2.0 - Product Total ‐2.0\r\nThank you for using Pioneer® brand products. All disclaimers and warranties will be provided and will also be printed on the product - container. The above products invoiced are subject to availability at delivery.\r\nDiscounted price includes the value of the regular ﴾excludes replant and sample﴿ invoiced seed and any associated seed treatments - listed on this invoice, while assuming the use of all applicable discounts based on meeting qualifications for each period, or the - customer´s locked discount rate, and no other price changes.\r\nYou may pay electronically via the Pioneer.com website or make checks payable to PIONEER HI‐BRED INTERNATIONAL, INC. To - qualify for the Early Pay Savings shown above, full payment must be in Pioneer\'s possession via a cash payment, an electronic - payment that is scheduled for payment by the date shown or a Deferred Payment receipt must be created. If you are a Deferred - Payment ﴾DP﴿ Loan customer, your 2016 DP Loan must be paid in full by December 1, 2016 and you must be approved with adequate - credit available for a 2017 DP Loan with PHI Financial Services, Inc. by January 6, 2017 in order to retain the Early Pay Savings discount - above.\r\n\r\nWhen you provide a check as payment, you authorize us either to use information from your check to make an electronic fund - transfer from your account or to process the payment as a check transaction. By authorizing an electronic fund transfer you also agree - to be bound by the NACHA Operating Rules. - Terms of sale are cash PAYMENT DUE UPON DELIVERY of goods. Any unpaid account balances will accrue a finance charge at the rate - of 1.5% per month ﴾18% or at the maximum rate allowed by your state law, if less than 1.5%﴿. If you are an approved Deferred Payment - Loan customer of PHI Financial Services, Inc. under their Deferred Payment Program, then the terms of your agreement with PHI - Financial Services, Inc. shall govern this sales transaction. Except as noted above, Pioneer has a no return policy; however, Pioneer may - in its sole discretion, allow for a return of product﴾s﴿ in limited circumstances. - By the purchasing of the products listed on this invoice, you hereby consent to the jurisdiction of the state or federal courts in Polk - County, Iowa in the event of litigation concerning this purchase. If binding arbitration is required ﴾see bag﴿, the place of the arbitration - will be Des Moines, Iowa. - If you have not signed a Pioneer Technology Use Agreement, then this document is not an offer or acceptance of an offer for sale of - the products listed and any purported sale of such products is void. If you have received products without signing a Pioneer - Technology Use Agreement, your use of those products is unauthorized and unlicensed, and you must, either ﴾i﴿ return such products - to Pioneer, or ﴾ii﴿ sign a Pioneer Technology Use Agreement for such products. - EXPORT APPROVAL NOTICE: This product is fully approved in the United States and Canada. Traits included in these products may or - may not be approved in all global markets; therefore, the combination of these traits and the grain and certain by‐products ﴾including - oil, dried distillers grain, cobs, and husks﴿ from THESE PRODUCTS MAY NOT BE APPROVED for all markets. Growers that use this - product are required and agree to adhere to the stewardship requirements as outlined in the Pioneer Product Use Guide and product - specific Stewardship Requirements for this product, which include specific grain disposition requirements. For questions regarding - product stewardship and biotech traits please contact your sales representative or refer to www.pioneer.com/stewardship. Growers are - required to discuss trait acceptance and grain channeling policies with their local grain handler prior to delivering grain containing - biotech traits. - THE FOLLOWING STATEMENT APPLIES TO CORN PRODUCTS P0157AMX, P0157R, P9188AMX, P9789AMXT. By entering into this - transaction, you affirm that you are contractually obligated to comply with Insect Resistance Management ﴾IRM﴿ requirements for - growing Pioneer® brand hybrids containing any of the following traits: the Herculex® I insect protection trait, the Herculex RW - rootworm protection trait, the Herculex XTRA traits, the Agrisure® RW, Agrisure Viptera®, and/or the YieldGard®Corn Borer gene. - Consult the Product Use Guide for refuge management requirements at www.pioneer.com/IRM. Herculex® Insect Protection - technology by Dow AgroSciences and Pioneer Hi‐Bred. ® Herculex and the HX logo are registered trademarks of Dow AgroSciences - LLC. YieldGard® and the YieldGard Corn Borer design and Roundup Ready are registered trademarks used under license from - Monsanto Company. Liberty®, LibertyLink® and the Water Droplet Design are trademarks of Bayer. Agrisure® and Agrisure Viptera® - are trademarks of, and used under license from, a Syngenta Group Company. Agrisure® technology incorporated into these seeds is - commercialized under a license from Syngenta Crop Protection AG. - Refuge seed in Optimum® AcreMax® Xtra insect protection products are treated with Poncho® 1250/Votivo® “insecticide” to deliver - protection against below ground pests and disease. Some Optimum® AcreMax® , Optimum® AcreMax® RW and Optimum® - AcreMax® Xtra Insect Protection products are not resistant to Liberty® herbicide. Please check the seed label or contact your sales - professional for more information. - Refuge Optimum® AcreMax® Xtreme insect protection products are treated with Poncho® 1250/Votivo® “insecticide” to help - deliver protection against below ground pests and disease. - Refuge seed in Optimum® AcreMax® Xtra insect protection products are treated with Poncho® 1250/Votivo® “insecticide” to help - deliver protection against below ground pests and disease. - Bakel Farms - 2726 E State Highway 60 - Loveland, CO 80537 - ﴾970﴿ 669‐1275 Customer Signature - For internal use only: [ T: CDA S: 1250994 ]','39.pdf'),(40,2,6,2017,'PIONEER CORN SEED DELEIVERED\r\n\r\nProduct - Segment - Sub‐Product Description - Account Description - Units this - Delivery/Return - P0157AMX - AMX/LL/RR2/AQ - NWP9 40 PKP H IST R VO - Winter; Steve - 2.0-\r\n- P0157R - RR2/AQ - NW02 PDF 80 H IST V R - Winter; Steve - 23.0-\r\n- P9188AMX - AMX/LL/RR2 - NWP9 40 PKP H IST R VO - Winter; Steve - 2.0-\r\n- P9608AM - AM/LL/RR2 - NWP9 40 PKP H IST R VO - Winter; Steve - 2.0-\r\n- P9789AMXT - AMXT/LL/RR2 - NM04 MR 80K MD IST - Winter; Steve - 43.0-\r\n- P9789AMXT - AMXT/LL/RR2 - NVP9 40K PKP HI IST VO - Winter; Steve - 2.0-\r\n- P9998AMXT - AMXT/LL/RR2/AQ - NJP9 40K PKP MD LR - Winter; Steve - 2.0-\r\n- Corn Total - 76.0-\r\n- Product Total - 76.0','40.pdf'),(41,1,1,2021,'Pivot\r\nPond location 40°32\'41.36\"N, 104°51\'43.20\"W SEV\r\n\r\n

    Pivot Severance

    \r\nLarge gun as of 07/17/25\r\n20 - 61\r\n85 - 160 [opt 130 - 160 to keep gated pipe road dry]\r\n201 - 251\r\n287 - 321\r\n327 - 339\r\n\r\nsmall gun as of 07/17/25\r\n10 - 72\r\n76 - 170\r\n191 - 256\r\n280 - 346\r\n\r\n\r\n\r\nWater\r\n0 - 61 1.5\r\n61 - 80 1.5\r\n80 - 95 1.5\r\n95 - 270 1.5\r\n271 - 290 .7 draw in alfalfa field\r\n290 - 359 1.5\r\n\r\nSeverance Pivot info:40°32\'29.53\"N, 104°51\'54.38\"W\r\ntower 40.541544, -104.865101 - -104.865099,40.541545 from maps\r\ngoogle earth: \r\nPivot length 1294 feet 1268 to outside wheels \r\npivot road length 1511.54 feet\r\npivot pump 40.544655, -104.861962\r\n\r\nChemical hook up valve first center pivot','41.jpg'),(42,2,10,2017,'XTR midstream new electrical wire GPS points where the wire crosses over our existing pipe structures.\r\nBy the lake pump on the west side 40.55079 104.90970\r\nPivot pipe west side electric line 2ft south. 40.54919 104.90957\r\nHill field:\r\nPvc pipe top 104.908095 40.55234\r\nCrossover pt Pvc 104.90901 40.55135\r\nCrossover steel 40.55128 104.90895\r\nLake field old clay tile 104.90954 40.55062\r\nHpsheep drain tile 104.90813 --. 40.54590 estimated','42.jpg'),(43,2,8,2005,'The guy is installing the clamps and the things around the drain tile is in the progress of fixing the drain tile these pictures are out of order of course.\r\n\r\nNotice the depth of the guy sitting in the hole fixing the pipe. That will estimate approximately how deep the pipe is. it could be down at the four foot mark but that should be the maximum.','43.JPG'),(44,2,8,2005,'The section that he was putting together has now been connected to the drain tile underneath the water line.\r\n\r\nSince the sun was in the East the bright spot on the right hand side should be where the Sun was shining on the dirt so I am assuming that is the west side of the hole.\r\n\r\nAgain remember that the drain tile is headinging off at an angle. The actual water pipe above it is parallel to the highway. so make sure you notes this when trying to locate the drain tile in the field. \r\n\r\nGPS coordinates:','44.JPG'),(45,2,8,2005,'How the repair looks like','45.JPG'),(46,2,8,2005,'This is the most important picture. It shows the hole in reference to the telephone box in the field by the Sheep Corral. Note that the guy is assembling the section to repair the drain tile. \r\n\r\nNote the direction of the shadow on the phone box since it is facing towards the cornfield that means the sun had to be in the East so this picture was taking in the morning.\r\n\r\nIn an upcoming picture it will show you that where this hole is that the drain tile is going off at an angle to the Northwest so we will proceed to the next picture so you can see what\'s happening.\r\n\r\nGPS coordinates:','46.JPG'),(47,2,8,2005,'Original Damage\r\nKnow this image shows the water pipe over the top of our drain tile. Where I was standing with the camera the drain tile is at an angle to the Northwest. The water line is actually parallel to the highways so it is not the water pipe at an angle it\'s the drain tile. More detail in coming pictures.','47.JPG'),(48,1,11,2018,'When planning the field by the modular house I am going to try in 2017 to plant a square or rectangular field here instead of going around the curve. The GPS coordinates of the bottom I\'m going to measure the latitude which is 40.54 338. The next thing I will do is will be measuring the longitude at the east corner of the field and this will be 104.86 764. Try moving south border to the south past the drainage area.','48.jpg'),(49,2,7,2017,'valve- Renter shutoff\r\nThis is a picture of the shut off valve for shutting off the water down at the North renters house. The valve is located west and Slightly North of the main water main cover. The distance is approximately three and a half feet West Northwest. Remove the cap top and turn the valve deep into the ground. Get the smaller valve rod. the bigger one does not fit Down in the Hole.','49.jpg'),(50,1,1,2026,'Transfer line only 4 ft from fence looking at barn grain tank\r\n\r\n

    Severance waterline

    \r\nPuma 185 gps screen\r\nE elevation midstream repair point N break 40.54216741, -104.86047145 == South break 40.53778987, -104.85959957 === Head 171.360\r\n\r\nHand held gps\r\nThese are the coordinates Jarrod water line going from his house to the lumber guys building of reference. \r\n40.542635, 104.860525 at the lumber guy. off 15ft tp east \r\n40.53374, 104.85894 \r\n at the hole at his house.\r\nor\r\n-104.86128740.542635,-104.860525; 3274.6284883864473 feet -> 172.2874289054938 degrees; 40.53374, -104.85894\r\n\r\nStart water line 40.542567, -104.860479\r\nend water line 40.533712, -104.858868\r\n\r\nwaste ditch crossing 40.537870 -104.859622 ////-104.859797\r\nfence line at waste ditch 40.537937, -104.858699 259 feet or 264 feet to crossing\r\n\r\n the 1.5 inch pvc water line is at least four feet deep at this point.\r\n\r\nOld road from lumber business [-104.860425,40.542600][-104.864909,40.540871] 1393.9837275096925 feet, Heading ->243.09801787971094 DIRECTION CHANGE [-104.869008,40.543187][-104.864931,40.540871] 1411.1652115503011 feet, HEADING 126.7776384205655','50.jpg'),(51,1,1,2025,'

    Double gated pipe start:

    \r\n2025 image\r\nCenter path\r\nN 40.537963,-104.861388; 436.9871226165296 feet -> 2.145207527437549 degrees; S 40.539160, -104.861329\r\n\r\nEast edge path\r\nN 40.537985,-104.861362; 418.7281610840471 feet -> 2.1249076841602914 degrees; S 40.539132, -104.861306\r\n\r\nrandom path\r\n N 40.537953,-104.861374; 425.7415852533317 feet -> 2.3886055690509806 degrees; S 40.539119, -104.861310\r\n\r\n2018 40.538003,-104.861370; 404.8670087269402 feet -> 3.2582513943910953 degrees; 40.539111, -104.861287\r\n\r\n

    Double gated pipe END:

    \r\n\r\nDistances of various things on severance place\r\nNWest corner\r\ncut dittch\r\n -104.868815,40.544544 -104.867600,40.544550 336.8312346603658feet E - W part\r\n-104.867600,40.544550 -104.867375,40.545086 205.24701615019873feet SW - NE part\r\ndirt ditch\r\n-104.868839,40.544544 -104.869595,40.544501 210.16579171503423 feet -\r\n-104.869595,40.544501 -104.869762,40.544399 59.39676818205368 feet curve piece\r\ncut ditch\r\n\r\nNORTH DITCH 1566.844814044374 feet \r\n-104.867375,40.545086 -104.866224,40.545092 319.0868721336482feet west entrance\r\n-104.866224,40.545092 -104.863746,40.545090 686.9496849247827feet east entrance\r\n-104.863746,40.545090 -104.862595,40.545086 319.0827059616948feet to pivot pond\r\n-104.862595,40.545086 -104.861707,40.545084 246.1717958751622feet to NE wide ditch crossing\r\n\r\nWest ditch \r\n-104.869512,40.538031 -104.869743,40.539654 new cement 595.5446673367852 feet\r\n-104.869743,40.539654 -104.869719,40.540893 old cement before curve 452.05196981853453 feet\r\n -104.869823,40.541197 before 2nd curve 114.58973741790405 feet\r\n -104.869832,40.543033 old cement north side 669.8008589283704 feet\r\n -104.869842,40.543288 dirt part to valley\r\n 93.06855020976086 feet','51.jpg'),(52,2,10,2017,'Lake field\r\n\r\n-104.911411,40.551851 top pipe break oil company\r\n-104.910081,40.551098 2nd pipe break\r\n-104.909861,40.550937, could be the 2nd also','52.jpg'),(53,2,4,2017,'2017 Acreage Reports & Maps & CCC-633 LDP request form','53.pdf'),(54,2,5,2017,'2018 Alfalfa Hay Report\r\n\r\nSteve,\r\n\r\nHere is your 2018 Alfalfa Acreage Report. This is just in case you don\'t make it back to the office by the Alfalfa reporting deadline - November 15, 2017.\r\n\r\nPlease See Attached\r\n\r\nCall or email if questions.\r\n\r\nThanks\r\n\r\n\r\nJerrie White\r\nWeld County FSA Office\r\n4302 W 9th Street Road\r\nGreeley, CO 80634\r\nPh# 970-356-8097 Ext 2\r\nFax # 844-332-7505\r\nUSDA is an equal opportunity provider, employer, and lender Stay Connected with USDA:','54.pdf'),(55,2,6,2018,'Pioneer Seed Invoice\r\nP9621AMXT AMXT/LL/RR2 NJ02 PDF 80K MD IST LR Regular 1.0 $368.00 $368.00 $331.20\r\nP9697AM AM/LL/RR2/AQ NW02 PDF 80 H IST V R Regular 1.0 $343.00 $343.00 $308.70\r\nP9789AMXT AMXT/LL/RR2 NS02 PDF 80 M IST R Regular 22.0 $324.00 $7,128.00 $291.60\r\nP9998AMXT AMXT/LL/RR2/AQ NJ02 PDF 80K MD IST LR Regular 22.0 $367.00 $8,074.00 $330.30\r\nCorn Total 46.0\r\n$345.93 $15,913.00\r\n$311.34 \r\n55VR05\r\nMuscle GEN RR\r\nN221 50# BAG FST\r\nRegular\r\n6.0\r\n$320.00\r\n$1,920.00\r\n$288.00\r\nAlfalfa Total\r\n6.0\r\n$320.00\r\n$1,920.00\r\n$288.00\r\nGross Invoice Value\r\n$17,83','55.pdf'),(56,2,6,2017,'Grower: - Address: - City, State, Zip: - Soil Texture: - Tillage: - Previous Crop: - Comments: - Plot - No. - Brand - RM - Hybrid - Traits - Treatment - Plot Weight - (lbs.) - Harvest - Moisture (%) - Row - Width - Row - Length - No. - Rows - 15% Corn - Yield Bu/Ac. - Test Weight - Rank - 1\r\n\r\nPioneer - 101 - P0157 - R - 4,370 - 14.20 - 30.0 - 657.0 - 8.0 - 261.13 - 58.50 - 2 - 2 \r\n\r\nChannel - 103 - 203-01 - STXRIB - Poncho/VoTiVO - 3,840 - 13.60 - 30.0 - 657.0 - 7.0 - 264.07 - 57.20 - 1 - 3\r\n\r\nDeKalb - 96 - 46-36 - STXRIB - Poncho/VoTiVO - 6,092 - 13.00 - 30.0 - 657.0 - 12.0 - 246.08 - 56.50 - 6 - 4 \r\n\r\nPioneer - 97 - P9789 - AMXT - 6,050 - 13.30 - 30.0 - 657.0 - 12.0 - 243.54 - 56.70 - 7 - 5\r\n\r\nChannel - 97 - 197-68 - STXRIB - Poncho/VoTiVO - 6,282 - 13.30 - 30.0 - 657.0 - 12.0 - 252.88 - 57.80 - 3 - 6\r\n\r\nPioneer - 101 - P0157 - AMX - 6,266 - 14.90 - 30.0 - 657.0 - 12.0 - 247.58 - 57.80 - 5 - 7 \r\n\r\nPioneer - 99 - P9989 - AMXT - 5,946 - 14.70 - 30.0 - 657.0 - 12.0 - 235.49 - 58.60 - 8 - 8 - \r\n\r\nPioneer - 96 - P9608 - AM - 6,238 - 13.40 - 30.0 - 657.0 - 12.0 - 250.82 - 58.80 - 4 - 9 -\r\n\r\nPioneer - 91 - P9188 - AMX - 5,544 - 13.00 - 30.0 - 657.0 - 12.0 - 223.94 - 58.20 - 10 - 10 - \r\n\r\nPioneer - 91 - P9120 - AM - 5,826 - 13.40 - 30.0 - 657.0 - 12.0 - 234.25 - 57.90 - 9 - 11\r\n\r\nPioneer - 87 - P8761 - AMXT - 5,502 - 13.10 - 30.0 - 657.0 - 12.0 - 221.99 - 58.60 - 11 - 12','56.pdf'),(57,1,2,2017,'\r\n
    LAB NUMBER SAMPLE ID ORGANIC PHOS P1 PHOS P2 PHOS BiCarb POTASSIUM MAGNESIUM CALCIUM SODIUM PH Soil EXCHANGE %K %MG %CA %H %NA LAB NUMBER Nitrate ppm Nitrate lb/A Nitrate depth Nitrate total Sulfur s ZINC Zn MANGANESE Mn IRON Fe COPPER Cu BORON B lime rate SOLUBLE SALTS\r\n
    625911SWEST1/4P1.6_L4_VL27_M5_VL168_M657_VH3047_H398.321.32.025.771.50.00.8625916180-101835_VH1.0_L1_VL11_M0.9_M0.9_M_H0.4_L\r\n
    625922SEAST1/4P1.5VL8_L64_VH16_H245_VH575_VH3505_H518.223.22.720.775.60.01.0625929270-1027119_VH1.7_M1_VL11_M0.9_M1.0_M_H0.5_L\r\n
    625933LOWERFARE1.6_L21_M78_VH14_M202_H340_VH2925_H308.218.12.915.780.70.00.76259311330-103325_VH1.9_M1_VL8_L0.8_L0.8_M_M0.3_L\r\n
    ','57.pdf'),(130,2,10,2026,'

    HP waterline

    \r\n12/12/25 Water leak\r\n\r\nby cattle loading chute\r\n\r\nLocation from light pole by chute 11 ft\r\nLine off site north hinges of grain bin\r\nSw post 7.5 ft','130.jpg'),(58,2,3,2017,'

    Yield plot 2017

    \r\nBrand RM Hybrid Traits Treatment\r\n(lbs.)\r\nMoisture (%)\r\nWidth\r\nLength\r\nRows\r\nYield Bu/Ac. Test Weight Rank\r\nPioneer 101 P0157 R 4,370 14.20 30.0 657.0 8.0 261.13 58.50 2\r\nChannel 103 203-01 STXRIB Poncho/VoTiVO 3,840 13.60 30.0 657.0 7.0 264.07 57.20 1\r\nDeKalb 96 46-36 STXRIB Poncho/VoTiVO 6,092 13.00 30.0 657.0 12.0 246.08 56.50 6\r\nPioneer 97 P9789 AMXT 6,050 13.30 30.0 657.0 12.0 243.54 56.70 7\r\nChannel 97 197-68 STXRIB Poncho/VoTiVO 6,282 13.30 30.0 657.0 12.0 252.88 57.80 3\r\nPioneer 101 P0157 AMX 6,266 14.90 30.0 657.0 12.0 247.58 57.80 5\r\nPioneer 99 P9989 AMXT 5,946 14.70 30.0 657.0 12.0 235.49 58.60 8\r\nPioneer 96 P9608 AM 6,238 13.40 30.0 657.0 12.0 250.82 58.80 4\r\nPioneer 91 P9188 AMX 5,544 13.00 30.0 657.0 12.0 223.94 58.20 10\r\nPioneer 91 P9120 AM 5,826 13.40 30.0 657.0 12.0 234.25 57.90 9\r\nPioneer 87 P8761 AMXT 5,502 13.10 30.0 657.0 12.0 221.99 58.60 11','58.pdf'),(59,2,4,2018,'

    Estimate next year acres

    \r\nNew hay field using gps map 1380 ft N-S & 1079 ft E-W at 34.5 acres\r\n\r\nat 13 lbs per acre makes 9 + 1 extra 10 bags @$292 = $2920 hay seed\r\n\r\nalfalfa 68.0\r\nDesert 23.0\r\nwhole corn 298.6\r\nalfalfa left $32760\r\n38000 bu * $3.30 = $125400\r\ntotal : $158160\r\n\r\nfertilizer/herbicide: $150*290=$43500\r\nrepairs :$25*290=$7250 ($13500.00 2017)\r\nseed: $120*290=$34800 + $2920 (alfalfa)\r\ninsurance (crop & liability): $66*290=$19140\r\nfuel : $40*290=$11600\r\nlabor: $40*366=$14640\r\ntotal $133850\r\n\r\nadditional:\r\ncomite $40*300=$12000\r\nwevil $30*35=$1050\r\ntotal $13050','59.jpg'),(60,2,7,2018,'Pivot electric rates from pouder Valley are EA of 08065 dollars per kilowatt-hour','60.jpg'),(61,2,7,2017,'Weed resistance by state map','61.jpg'),(63,2,4,2018,'

    Old fields

    \r\nhpcattle 25\r\nhpheckman 17\r\nhphill 4\r\nhpLake 14\r\nhpmid 15\r\nhpNorth 14\r\nhpSheep 22\r\nhpSwest 20\r\ntotal 131 acres\r\n2018 alflalfa 33 whole corn 98 acres\r\n\r\nsev05 55\r\nsev06 49\r\nsev07 35\r\nsev08 32\r\nsev09 25\r\nsec10 30.5\r\ntotal 226.5\r\n\r\nalfalfa 35 corn corn 191.5\r\n\r\nwhole corn 290\r\nalflafa 68','63.jpg'),(64,2,7,2017,'

    Crop Contracts

    ','64.pdf'),(65,2,7,2017,'

    Ag direct

    6140 combine paper work','65.pdf'),(66,2,6,2018,'PIONEER CORN SEED DELEIVERED','66.pdf'),(67,2,5,2018,'Reports\r\nREPORT OF COMMODITIES FARM AND TRACT DETAIL LISTING\r\nFSA\r\nUSDA\r\ngovernment program','67.pdf'),(68,2,7,2018,'Pivot breaker box \r\nThe two square buttons are what reset the heaters on the box if they are trip there will be some resistance when you push the button down if they\'re not tripped they will be loose and easy to push down.','68.jpg'),(69,1,7,2018,'Picture image of the 10 inch gated pipe that we have going around the severance pivot pond','69.jpg'),(70,1,7,2018,'This is the gated pipe that\'s on the North End of the farm by The Woodworking Shop','70.jpg'),(71,2,6,2018,'Channel seed Invoice\r\n - Description - Order - Quantity - Return - Quantity - Net - Quantity - Retail - Price/Unit - Amount* - Net Dlvd - Quantity\r\n Corn - 203 - 01STXRIB 80M BAG BAS500 B - 18 - 18 - $366.00 - $6,588.00 - 18 - 2018\r\n Channel Advantage - $ - 630.00 - Corn Total - 18 - 18 - $5,958.00 - 18 - Order Summary Total - $5,958.00 - *The totals, including all disco -','71.pdf'),(72,2,3,2018,'Yield plot. DeKalb corn seed starts at the South edge of the large pile of gated pipe','72.jpg'),(73,1,11,2019,'Planting corners\r\nSeverance Pivot info:\r\ntower 40.541544, -104.865101\r\nPivot length 1294 feet 1268 to outside wheels \r\n\r\nseverance farm field Southwest corner\r\n40.542551 -104.866208 1800Ft\r\n\r\nhomeplace farm Northwest corner\r\n40.550076 -104.912814 1082Ft.','73.jpg'),(74,2,2,2018,'\r\n
    LAB NUMBER SAMPLE ID ORGANIC PHOS P1 PHOS P2 PHOS BiCarb POTASSIUM MAGNESIUM CALCIUM SODIUM PH Soil EXCHANGE %K %MG %CA %H %NA LAB NUMBER Nitrate ppm Nitrate lb/A Nitrate depth Nitrate total Sulfur s ZINC Zn MANGANESE Mn IRON Fe COPPER Cu BORON B lime rate SOLUBLE SALTS\r\n
    09271NE1/4pivot2.3_L42_VH116_VH13_M335_VH415_VH3289_H367.920.94.116.578.70.00.70927124860-128639_VH2.8_M4_VL23_H1.6_H1.1_M_L0.6_L\r\n
    09272Sevsouth2.0_L10_L73_VH23_VH191_H448_VH3265_H328.020.72.418.078.90.00.709272281010-1210126_VH3.0_M3_VL16_M1.3_H1.0_M_M0.5_L\r\n
    09273_HPHILL2.1_L16_M40_H7_L187_H792_VH2784_M79_M8.021.32.331.065.10.01.609273421510-1215160_VH2.1_M4_VL15_M1.0_M1.4_H_M0.7_L\r\n
    09274_HPSHEEP2.4_L65_VH125_VH38_VH339_VH702_VH3194_H628.023.03.825.469.60.01.209274341220-1212252_VH3.4_H4_VL26_VH3.2_VH1.7_H_M0.7_L\r\n\r\n
    ','74.pdf'),(75,2,3,2018,'Channel weigh wagon harvest results','75.pdf'),(76,2,3,2018,'Pionner comprehensive yield results','76.pdf'),(77,2,6,2019,'GP\r\nPioneer seed invoice padding or locking in off seed','77.pdf'),(78,1,7,2018,'July 12 severance septic tank 1000 gal pump','78.jpg'),(79,2,6,2019,'GP\r\nChannel seed','79.pdf'),(80,1,12,2019,'Severance pivot','80.jpg'),(81,1,12,2019,'South Severance farm image map','81.jpg'),(82,2,12,2019,'Home place image map','82.jpg'),(83,2,5,2019,'Reports\r\nREPORT OF Crop acres and program\r\nFSA\r\nUSDA\r\ngovernment program','83.pdf'),(127,3,7,2025,'Sample Recomendation\r\n\r\nSAMPLE\r\nCROP\r\nYIELD\r\nPREV CROP\r\nN\r\nP205\r\nK2O\r\nMg\r\nSULFUR\r\nZn\r\nMn\r\nFE\r\nCu\r\nB\r\n\r\nHOME EAST\r\nCORN bu\r\n250.0\r\nCORN bu\r\n230 \r\n--\r\n--\r\n--\r\n--\r\n--\r\n6.8\r\n1.2\r\n--\r\n--\r\n\r\nHOME West\r\nCORN bu\r\n250.0\r\nCORN bu\r\n230 \r\n70\r\n90\r\n--\r\n--\r\n--\r\n7.6\r\n2.4\r\n1.1\r\n--\r\n\r\nHOME Alfalfa\r\nAlfalfa\r\n5 ton\r\nAlfalfa\r\n0\r\n30\r\n35\r\n--\r\n-10\r\n--\r\n3.5\r\n--\r\n0.9\r\n--\r\n
    2023\r\nLab Number\r\nSample ID\r\nSample Depth\r\nSoil pH\r\nBuffer pH\r\nSol. Salts\r\nExcess Lime\r\n%Organic Matter\r\nNitrate-ppm\r\nNitrate-lb.N/A\r\nPhos ppm P\r\nPotassium ppm K\r\nSulfur ppm\r\nSulfur lb/A\r\nCalcium ppm Ca\r\nMagnesium Mg\r\nSodium ppm Na\r\nZinc ppm Zn\r\n\r\n
    Lab_NumberSample_IDSample_DepthSoil_pHSol._SaltsExcess_Lime%Organic_MatterNitrate-ppmNitrate-lb.N/APhos_ppm_PPotassium_ppm_KSulfur_ppmSulfur_lb/ACalcium_ppm_CaMagnesium_MgSodium_ppm_NaZinc_ppm_Zn\r\n
    6023110-127.50.48Hi2.017.46357245341223920822732.7\r\n
    6023010-127.60.74Hi1.537.113434321411484364473741.7\r\n
    6022910-127.50.53Hi1.212.54526249411484603445541.4\r\n
    6022810-127.40.49Hi1.88.5315033322794390526343.5\r\n
    6022710-127.30.55Lo1.629.81075334822794563367343.5\r\n
    6022310-127.10.51No2.215543236010939250045561874.6\r\n
    6022420-127.20.94No1.8196849370341224809749473.0\r\n
    6022530-127.10.55No1.93111239435281014883476413.2\r\n
    6022640-127.30.45Hi1.718.5673630522794139425322.6\r\n
    ','127.jpg'),(86,2,5,2019,'Mfp report','86.pdf'),(118,1,1,2022,'40.544548,-104.865162; 188.97808866120718 feet -> 359.57974912926653 degrees; 40.545066, -104.865167\r\n\r\n40.544544,-104.865226; 767.3617024753892 feet -> 90.32597114432667 degrees; 40.544532, -104.862458\r\n\r\nNorth side 3.3 acres\r\n\r\n40.542449,-104.860452; 934.6417227391612 feet -> 325.8419742322568 degrees; 40.544569, -104.862345\r\n\r\n40.544593,-104.862286; 289.97348980720494 feet -> 89.99966002931978 degrees; 40.544593, -104.861240\r\nother side 840 ft\r\n\r\nNorth East corner.5*840*290/43560= 5.5 acres\r\n\r\n40.539907,-104.858606; 771.8538768958937 feet -> 324.94749369067904 degrees; 40.541639, -104.860205\r\n\r\n40.539956,-104.860677; 903.0857595396672 feet -> 144.44662127718198 degrees; 40.537942, -104.858783\r\n\r\n40.540518,-104.859154; 469.38042362477995 feet -> 244.10069065731392 degrees; 40.539956, -104.860677\r\n\r\n9.6 acres\r\n\r\n40.542018,-104.859481; 193.70592320749597 feet -> 92.59042452577899 degrees; 40.541994, -104.858783\r\n\r\n40.542002,-104.858751; 252.79041155107657 feet -> 186.10666637438547 degrees; 40.541313, -104.858848\r\n\r\n\r\n.5 * 194 8*253 /43560= .5 ACRE barn corner\r\n\r\n\r\n40.534362,-104.856573; 1415.5985027369197 feet -> 333.6782634467088 degrees; 40.537840, -104.858837\r\n\r\n1416*188/43560 6.1 acres','118.jpg'),(88,2,3,2019,'Corn yields\r\n\r\n Brand RM Hybrid Traits Treatment\r\nPlot Weight\r\n(lbs.)\r\nHarvest\r\nMoisture (%)\r\nRow\r\nWidth\r\nRow\r\nLength\r\nNo.\r\nRows\r\n15% Corn\r\nYield Bu/Ac. Test Weight Rank\r\n1 Channel 103 203-10 STXRIB STXRIB 4,012 15.60 30.0 950.0 8.0 163.09 54.80\r\n2 Channel 104 204-25 STXRIB STXRIB 3,914 17.90 30.0 950.0 8.0 154.77 55.90\r\n3 Pioneer 103 P0339 AMXT AMXT 3,148 18.10 30.0 950.0 8.0 124.18 58.00\r\n4 Channel 102 202-81 STXRIB STXRIB 3,886 16.30 30.0 950.0 8.0 156.66 59.10\r\n5 Channel 101 201-67 STXRIB STXRIB 4,430 15.50 30.0 950.0 8.0 180.30 59.10\r\n6 Pioneer 101 P0157 AMXT AMXT 3,928 14.90 30.0 950.0 8.0 161.00 60.70\r\n7 Channel 99 199-11 STXRIB STXRIB 4,258 14.10 30.0 950.0 8.0 176.17 59.40\r\n8 Pioneer 99 P9998 AMXT AMXT 4,480 14.50 30.0 950.0 8.0 184.49 58.90\r\n9 Channel 97 197-90 STXRIB STXRIB 4,776 13.90 30.0 950.0 8.0 198.06 61.10\r\n10 Channel 96 196-40 STXRIB STXRIB 4,278 14.40 30.0 950.0 8.0 176.38 59.40\r\n11 DeKalb 96 46-36 STXRIB STXRIB 4,362 14.20 30.0 950.0 8.0 180.26 58.00\r\n12 Channel 94 194-75 STXRIB STXRIB 4,274 13.30 30.0 950.0 8.0 178.48 61.40\r\n13 Channel 94 194-49 VT2PRIB VT2PRIB 4,844 13.90 30.0 950.0 8.0 200.88 60.60\r\n14 Pioneer 94 P9492 AM AM 4,322 13.40 30.0 950.0 8.0 180.27 56.20\r\n15 Channel 94 194-49 VT2PRIB VT2PRIB 4,596 13.20 30.0 950.0 8.0 192.14 60.20','88.pdf'),(89,2,2,2020,'\r\n
    LAB NUMBER SAMPLE ID ORGANIC PHOS P1 PHOS P2 PHOS BiCarb POTASSIUM MAGNESIUM CALCIUM SODIUM PH Soil EXCHANGE %K %MG %CA %H %NA LAB NUMBER Nitrate ppm Nitrate lb/A Nitrate depth Nitrate total Sulfur s ZINC Zn MANGANESE Mn IRON Fe COPPER Cu BORON B lime rate SOLUBLE SALTS\r\n
    84893SW1/4sev2.6_M12_L62_VH18_H244_VH602_VH3210_H627.922.02.822.873.20.01.284893411230-1012354_VH4.1_H4_VL25_VH1.1_M1.3_H_H0.8_L\r\n
    84894HPCattle2.2_L10_L51_H24_VH250_VH594_VH3334_H647.922.52.822.074.00.01.284894591770-1017782_VH3.6_H4_VL41_VH1.3_H1.3_H_H1.0_L\r\n
    84895HPcenter2.4_L122_VH148_VH118_VH610_VH641_VH2963_M89_M7.722.17.124.266.90.01.884895902700-1027070_VH4.8_H4_VL29_VH1.2_M1.9_VH_H1.1_M\r\n
    84896HPLake2.2_L16_M54_H21_H279_VH613_VH3116_H597.921.73.323.572.00.01.284896471410-1014148_VH2.9_M3_VL17_H1.1_M1.3_H_H0.8_L\r\n
    ','89.pdf'),(90,1,5,2020,'Agriculture Risk Coverage CCC-866','90.pdf'),(91,2,5,2020,'dEFINITIONS TO above REPORT','91.pdf'),(92,1,1,2020,'Hemp location map','92.jpeg'),(93,2,6,2020,'Pioneer invoice 5/4/20 seed pick up','93.pdf'),(94,2,6,2020,'5/4/20 current pioneer invoice','94.pdf'),(95,2,6,2020,'GP\r\nPioneer seed bought 5/4/20','95.pdf'),(96,1,12,2020,'pivoot end gun settings\r\n\r\n11 and 66 end gun 2','96.jpg'),(97,1,12,2020,'pivot vri table information','97.jpg'),(98,2,12,2020,'home place pivot end gun locations','98.jpg'),(99,2,12,2020,'pivot vri table medium','99.jpg'),(100,1,5,2020,'Weld, Colorado 2020 - GREELEY, CO 80634-2132 - JACK E WINTER - DATE: - REPORT OF COMMODITIES - FARM AND TRACT DETAIL LISTING - FSA - 578 (09-13-16) - 1 - PROGRAM YEAR: - 07/30/2020 - 5207 W 13TH STREET RD - Farm Number: 7847 - Original: - Revision: - Cropland: - Farmland: - PAGE: - DB - 252.91 - 228.93 - C/C - Stat - End - Date - Int - Use - Crop - Land - Var/ - Type - Planting - Period - Rpt - Unit - Det - Qty - Crop/ - Commodity - Planting - Date - Rpt - Qty - Irr. - Pr. - Act - Use - Tract - Number - CLU/ - Field - Org - Stat - Nat. - Sod - Field - ID - Official/ - Measured - Producer JACK E WINTER Share 50.00 FSA Physical Location Weld, Colorado NAP Unit 2421 Signature Date - STEVEN J WINTER 50.00 Weld, Colorado - 7793 3 ALFAL FG I C N I A 34.77 Yes N 4/7/2016 01 2026 - Producer JACK E WINTER Share 50.00 FSA Physical Location Weld, Colorado NAP Unit 2421 Signature Date - STEVEN J WINTER 50.00 Weld, Colorado - 5A CORN YEL GR I C N I A 30.46 Yes N 4/27/2020 01 - Producer JACK E WINTER Share 50.00 FSA Physical Location Weld, Colorado NAP Unit 2421 Signature Date - STEVEN J WINTER 50.00 Weld, Colorado - 5B HEMP SD I C N I A 2.00 Yes N 6/10/2020 01 - PP Cr/Co Var/Type Int Use Irr Pr Rpt Unit Rpt Qty PP Cr/Co Var/Type Int Use Irr Pr Rpt Unit Rpt Qty PP Cr/Co Var/Type Int Use Irr Pr Rpt Unit Rpt Qty - 01 ALFAL FG I A 34.77 01 HEMP SD I A 2.00 01 CORN YEL GR I A 30.46 - Photo Number/Legal Description: - 67.23 - PT E & W OF D IN N2 35-7-67 - Cropland: Reported on Cropland:67.23 Difference:0.00 Reported on Non-Cropland:0.00 - Tract 7793 Summary - Producer JACK E WINTER Share 50.00 FSA Physical Location Weld, Colorado NAP Unit 2421 Signature Date - STEVEN J WINTER 50.00 Weld, Colorado - 15479 1A CORN YEL GR I C N I A 156.70 Yes N 4/28/2020 01 - Producer JACK E WINTER Share 50.00 FSA Physical Location Weld, Colorado NAP Unit 2421 Signature Date - STEVEN J WINTER 50.00 Weld, Colorado - 1B HEMP SD I C N I A 5.00 Yes N 6/10/2020 01 - PP Cr/Co Var/Type Int Use Irr Pr Rpt Unit Rpt Qty PP Cr/Co Var/Type Int Use Irr Pr Rpt Unit Rpt Qty PP Cr/Co Var/Type Int Use Irr Pr Rpt Unit Rpt Qty - 01 HEMP SD I A 5.00 01 CORN YEL GR I A 156.70 - Photo Number/Legal Description: - 161.70 - PT S2 26-7-67 - Cropland: Reported on Cropland:161.70 Difference:0.00 Reported on Non-Cropland:0.00\r\n\r\nWeld, Colorado 2020 - GREELEY, CO 80634-2132 - JACK E WINTER - DATE: - REPORT OF COMMODITIES - FARM SUMMARY - FSA - 578 (09-13-16) - 2 - PROGRAM YEAR: - 07/30/2020 - 5207 W 13TH STREET RD - Farm Number: 9504 - Original: - Revision: - Cropland: - Farmland: - PAGE: - DB - 159.79 - 141.10 - NOTE: The following statement is made in accordance with the Privacy Act of 1974 (5 USC 552a – as amended). The authority for requesting the information identified on this form is 7 CFR Part 718, the Farm - Security and Rural Investment Act of 2002 (Pub L. 107-171), and the Agricultural Act of 2014 (Pub. L. 113-79). The information will be used to collect producer certification of the report of acreage of - crops/commodities and land use data which is needed in order to determine producer eligibility to participate in and receive benefits under FSA programs. The information collected on the form may be - disclosed to other Federal, State, Local government agencies, Tribal agencies, and nongovernmental entities that have been authorized access to the information by statute or regulation and/or as described in - applicable Routine Uses identified in the System of Records Notice for USDA/FSA-2, Farm Records File (Automated) and USDA/FSA-14, Applicant/Borrower. Providing the requested information is voluntary. - However, failure to furnish the requested information may result in a denial of the producer’s request to participate in and receive benefits under FSA programs. According to the Paperwork Reduction Act of - 1995, an agency may not conduct or sponsor, and a person is not required to respond to, a collection of information unless it displays a valid OMB control number. The valid OMB control number for this - information collection is 0560-0175. The time required to complete this information collection is estimated to average 30 minutes per response, including the time for reviewing instructions, searching existing - data sources, gathering and maintaining the data needed, and completing and reviewing the collection of information. The provisions of criminal and civil fraud, privacy, and other statutes may be applicable to - the information provided. RETURN THIS COMPLETED FORM TO YOUR COUNTY FSA OFFICE. - Variety/ - Type - Crop/ - Commodity - Share Crop/ - Commodity - Variety/ - Type - Share Crop/ - Commodity - Variety/ - Type - Share Crop/ - Commodity - Variety/ - Type - Share - STEVEN J WINTER ALFAL 50.00 CORN YEL 50.00 - JACK E WINTER ALFAL 50.00 CORN YEL 50.00 - Variety/ - Type - Crop/ - Commodity - Irrigation - Practice - Intended - Use - Planting - Period - Reported - Quantity - Determined - Quantity - Reporting - Unit - Determined - Quantity - Reported - Quantity - Reporting - Unit - Irrigation - Practice - Planting - Period - Intended - Use - Crop/ - Commodity - Variety/ - Type - 01 CORN YEL GR I A 104.30 01 ALFAL FG I A 36.80 - CERTIFICATION: I certify to the best of my knowledge and belief that the acreage of crops/commodities and land uses listed herein are true and correct and that','100.pdf'),(101,1,13,2020,'Hemp plot map considers the plots from 1 through 14. This is a hemp plot map','101.pdf'),(102,2,3,2020,'Corn yield PDF\r\n\r\not \r\nNo. Brand RM Hybrid Traits Treatment\r\nPlot Weight \r\n(lbs.)\r\nHarvest \r\nMoisture (%)\r\nRow \r\nWidth\r\nRow \r\nLength\r\nNo. \r\nRows\r\n15% Corn \r\nYield Bu/Ac. Test Weight Rank\r\n1 Dekalb 101 51-91 STXRIB STXRIB 30.0 925.0 8.0 0.00\r\n2 Pioneer 100 P0046 AM AM 4,606 17.00 30.0 925.0 8.0 189.11 59.40 9\r\n3 Pioneer 100 P0075 AM AM 4,818 17.10 30.0 925.0 8.0 197.57 58.00 4\r\n4 Channel 99 199-11 STXRIB STXRIB 4,622 16.90 30.0 925.0 8.0 189.99 58.50 8\r\n5 Pioneer 99 P9880 AM AM 4,444 17.20 30.0 925.0 8.0 182.02 58.30 10\r\n6 Dekalb 97 47-54 STXRIB STXRIB 4,340 15.90 30.0 925.0 8.0 180.55 58.30 12\r\n7 Pioneer 97 P9789 AMXT AMXT 4,526 14.50 30.0 925.0 8.0 191.42 58.20 7\r\n8 Channel 97 197-90 STXRIB STXRIB 4,782 15.70 30.0 925.0 8.0 199.41 57.80 3\r\n9 Dekalb 96 46-36 STXRIB STXRIB 4,656 14.90 30.0 925.0 8.0 196.00 59.60 5\r\n10 Dekalb 95 45-65 STXRIB STXRIB 4,638 15.40 30.0 925.0 8.0 194.09 59.90 6\r\n11 Channel 94 194-75 STXRIB STXRIB 4,256 13.70 30.0 925.0 8.0 181.69 59.90 11\r\n12 Channel 94 194-49 VT2PRIB VT2PRIB 5,080 15.10 30.0 925.0 8.0 213.34 59.50 1\r\n13 Channel 99 199-60 TRERIB TRERIB 5,006 15.40 30.0 925.0 8.0 209.49 60.60 2\r\n14 #DIV/0!\r\n15','102.pdf'),(103,2,3,2020,'This is the home placed yield results taken by the channel grain wagon.','103.pdf'),(104,2,3,2020,'combine yield maps','104.pdf'),(105,2,12,2020,'Home place image map 2nd','105.jpg'),(106,1,12,2020,'Severance pivot only II','106.jpg'),(107,2,2,2020,'\r\n
    LAB NUMBER SAMPLE ID ORGANIC PHOS P1 PHOS P2 PHOS BiCarb POTASSIUM MAGNESIUM CALCIUM SODIUM PH Soil EXCHANGE %K %MG %CA %H %NA LAB NUMBER Nitrate ppm Nitrate lb/A Nitrate depth Nitrate total Sulfur s ZINC Zn MANGANESE Mn IRON Fe COPPER Cu BORON B lime rate SOLUBLE SALTS\r\n
    04842HPPIVNW2.0_L8_L41_H13_M217_VH450_VH3177_H527.620.42.718.477.80.01.104842471690-1216965_VH1.6_M4_VL10_L0.9_M0.8_M_M0.9_L\r\n
    04843SEVPIVSW2.2_L37_VH118_VH44_VH318_VH489_VH3275_H427.721.43.819.076.30.00.904843361300-1213050_VH3.1_H3_VL9_L0.9_M0.9_M_M0.8_L\r\n
    \r\n\r\n
    SAMPLEGOALCROPPrev_CROP\r\nN
    NITROGEN
    P2O5
    PHOSPHATE
    K2O
    POTASH
    Mg
    MAGNESIUM
    S
    SULFUR
    Zn
    ZINC
    Mn
    MANGANESE
    Fe
    IRON
    Cu
    COPPER
    B
    BORON\r\n\r\n
    HPPIVNWCORN-bu250.0CORN-bu13511065----2.46.1--1.10.9\r\n
    SEVPIVSWCORN-bu250.0CORN-bu175----------6.8--1.10.6\r\n
    ','107.pdf'),(108,2,11,2021,'2021 corn plot','108.pdf'),(109,2,7,2021,'Sequence 3.5 pints acre\r\nClass Act 2.5 gal per 100 gal\r\nSterling blue 4 oz actre\r\n\r\n300 gal\r\n13.125 gal sequence \r\n7.5 gal class act\r\n120 oz sterling blue','109.jpg'),(110,2,3,2021,'Yield plots corn for the year 2021','110.pdf'),(111,2,2,2021,'SOIL TEST fall 2021\r\n\r\n
    LAB NUMBER SAMPLE ID ORGANIC PHOS P1 PHOS P2 PHOS BiCarb POTASSIUM MAGNESIUM CALCIUM SODIUM PH Soil EXCHANGE %K %MG %CA %H %NA LAB NUMBER Nitrate ppm Nitrate lb/A Nitrate depth Nitrate total Sulfur s ZINC Zn MANGANESE Mn IRON Fe COPPER Cu BORON B lime rate SOLUBLE SALTS\r\n
    27477HPplot2.8_M60_VH139_VH76_VH511_VH625_VH2838_M100_M7.821.16.224.767.00.02.127477281010-1210185_VH3.2_H3_VL10_L1.1_M2.0_VH_M0.8_L\r\n
    27478HPHeckRidg2.7_M3_VL37_M14_M215_H567_VH3132_H85_M8.121.32.622.273.50.01.727478341220-1212266_VH1.4_M3_VL8_L0.8_L1.4_H_H0.6_L\r\n
    27479HPSEast2.8_M51_VH110_VH44_VH377_VH631_VH3086_H617.921.94.424.070.40.01.22747916580-125862_VH2.6_M2_VL10_L0.9_M1.2_M_M0.6_L\r\n
    27480SEV062.0_L13_L76_VH19_H249_VH368_VH3135_H298.119.53.315.780.40.00.62748020720-127221_H1.8_M2_VL6_L0.8_L0.8_M_H0.4_L\r\n
    \r\n --
    SAMPLE HPplot HPHeckRidg HPSEast SEV06\r\n
    CROP CORN-bu CORN-bu CORN-bu CORN-bu\r\n
    YIELD 245.0 245.0 245.0 245.0\r\n
    PREV CROP CORN-bu CORN-bu CORN-bu CORN-bu\r\n
    N 195 175 235 230\r\n
    P205 -- 105 -- 45\r\n
    K2O -- 65 -- 40\r\n
    -- -- --\r\n
    SULFUR -- -- -- 5\r\n
    Zn -- 3.5 -- 1.1\r\n
    Mn 6.7 6.7 7.4 7.4\r\n
    FE -- 1.2 -- 2.4\r\n
    Cu -- 1.3 1.1 1.3\r\n
    B -- -- -- 0.9\r\n
    \r\n ','111.pdf'),(129,1,2,2025,' \r\n
    LAB NUMBER SAMPLE ID ORGANIC PHOS P1 PHOS P2 PHOS BiCarb POTASSIUM MAGNESIUM CALCIUM SODIUM PH Soil EXCHANGE %K %MG %CA %H %NA LAB NUMBER Nitrate ppm Nitrate lb/A Nitrate depth Nitrate total Sulfur s ZINC Zn MANGANESE Mn IRON Fe COPPER Cu BORON B lime rate SOLUBLE SALTS\r\n
    26199sev_east2.5_L69_VH130_VH60_VH504_VH513_VH3351_H807.822.75.718.874.00.01.526199821480-614835_VH5.0_H10_M15_M1.6_H1.3_H_M0.9_L\r\n
    \r\n\r\n
    SAMPLEGOALCROPPrev_CROP\r\nN
    NITROGEN
    P2O5
    PHOSPHATE
    K2O
    POTASH
    Mg
    MAGNESIUM
    S
    SULFUR
    Zn
    ZINC
    Mn
    MANGANESE
    Fe
    IRON
    Cu
    COPPER
    B
    BORON\r\n
    sev_eastCORN-bu240.0CORN-bu145----------1.5------\r\n
    ','129.pdf'),(114,1,2,2021,'SOIL TEST fall 2021 sev06\r\n\r\n\r\n
    LAB NUMBER SAMPLE ID ORGANIC PHOS P1 PHOS P2 PHOS BiCarb POTASSIUM MAGNESIUM CALCIUM SODIUM PH Soil EXCHANGE %K %MG %CA %H %NA LAB NUMBER Nitrate ppm Nitrate lb/A Nitrate depth Nitrate total Sulfur s ZINC Zn MANGANESE Mn IRON Fe COPPER Cu BORON B lime rate SOLUBLE SALTS\r\n
    53545SEV8-north2.4_L36_VH130_VH26_VH261_VH469_VH2953_H267.919.53.420.076.00.00.65354510360-123615_M3.0_M3_VL9_L0.9_M0.9_M_M0.4_L\r\n
    53546SEV8-south2.4_L37_VH150_VH28_VH278_VH567_VH3290_H268.122.03.221.574.80.00.5535468290-122914_M2.8_M3_VL11_M0.9_M0.9_M_M0.4_L\r\n
    \r\n\r\n
    SAMPLEGOALCROPPrev_CROP\r\nN
    NITROGEN
    P2O5
    PHOSPHATE
    K2O
    POTASH
    Mg
    MAGNESIUM
    S
    SULFUR
    Zn
    ZINC
    Mn
    MANGANESE
    Fe
    IRON
    Cu
    COPPER
    B
    BORON\r\n
    SEV8-northCORN-bu260.0ALFALFA-ton2303030--16--7.1--1.20.6\r\n
    SEV8-southCORN-bu260.0ALFALFA-ton24030----17--7.1--1.20.6\r\n
    ','114.pdf'),(115,2,4,2021,'Acerage by crop\r\nCrop Acres\r\nalfalfa 105.0\r\nCORN 0.0\r\nDesert 23.0\r\nwhole corn 251.1\r\ntotal 379.1\r\n\r\nAcerage by Farm\r\nFARM Crop Acres\r\nARCHIVE CORN 0.0\r\nHome 9504 alfalfa 38.0\r\nHome 9504 CORN 0.0\r\nHome 9504 Desert 13.0\r\nHome 9504 whole corn 97.5\r\nSeverance 7847 Alfalfa 67.0\r\nSeverance 7847 CORN 0.0\r\nSeverance 7847 Desert 10.0\r\nSeverance 7847 whole corn 153.6\r\nTotal 379.1','115.jpg'),(117,2,7,2022,'Measured sprayer output just under 11 gal acre\r\n\r\nUsed 30 gal per acre to round up\r\n\r\nCredit----------64oz \r\nSequence -- 13.5 gallons ->4.5 - 2.5 gal \r\nClass act -----7.5 gallons -> 3 - 2.5\r\n\r\nSystem 5 ---- 7.5 gallons -> 3 - 2.5\r\n*Clash -------- 1.8 gallon\r\n\r\n*Banvel equivalent\r\n\r\nRates per acre\r\nSequence 3.5 pints acre\r\nClass Act 2.5 gal per 100 gal\r\nSterling blue 4 oz acre\r\nsystem 5.0 1 qt per acre','117.jpg'),(119,2,12,2022,'Mcginn heading 300.411\r\nSeverance ridge heading 3.00','119.jpg'),(123,2,2,2024,'Map of 2024 fertilizer spread and test locations\r\n\r\nAlfalfaFertilize-soilTestWinterFarm.pdf\r\n\r\nOnedrive/documents','123.pdf'),(124,2,2,2024,'soil tests taken fall 2024\r\nHill require elemental sulfur\r\n\r\n
    LAB NUMBER SAMPLE ID ORGANIC PHOS P1 PHOS P2 PHOS BiCarb POTASSIUM MAGNESIUM CALCIUM SODIUM PH Soil EXCHANGE %K %MG %CA %H %NA LAB NUMBER Nitrate ppm Nitrate lb/A Nitrate depth Nitrate total Sulfur s ZINC Zn MANGANESE Mn IRON Fe COPPER Cu BORON B lime rate SOLUBLE SALTS\r\n
    32287hp_sw1.6_L13_L55_H14_M205_H513_VH3145_H638.220.82.520.675.60.01.33228714250-62546_VH1.6_M3_VL11_M0.8_L0.9_MH0.5_L\r\n
    32288hp_hilne1.6_L16_M39_M13_M169_M895_VH2704_M126_H8.222.02.033.961.60.02.53228823410-641154_VH1.1_M2_VL15_M0.6_L1.3_HH0.9_L\r\n
    32289se_se1.6_L3_VL34_M12_M199_H448_VH3175_H298.220.22.518.578.40.00.63228915270-62722_H1.9_M2_VL14_M0.8_L0.9_MH0.4_L\r\n
    \r\n
    SAMPLE hpsw hpne se_se\r\n
    CROP CORN-bu CORN-bu CORN-bu\r\n
    YIELD 230.0 230.0 230.0\r\n
    PREV CROP CORN-bu CORN-bu CORN-bu\r\n
    N 260 240 255\r\n
    P205 70 105 115\r\n
    K2O 70 95 75\r\n
    Mg -- -- --\r\n
    SULFUR -- -- --\r\n
    Zn 2.2 4.9 0.5\r\n
    Mn 6.3 7.0 7.0\r\n
    FE -- -- --\r\n
    Cu 1.3 1.8 1.3\r\n
    B 0.5 -- 0.5\r\n
    \r\n ','124.pdf'),(125,2,2,2023,'Multiple soil tests\r\n\r\n
    Lab_NumberSample_IDSample_DepthSoil_pHSol._SaltsExcess_Lime%Organic_MatterNitrate-ppmNitrate-lb.N/APhos_ppm_PPotassium_ppm_KSulfur_ppmSulfur_lb/ACalcium_ppm_CaMagnesium_MgSodium_ppm_NaZinc_ppm_Zn\r\n
    60231HPrd780-127.50.48Hi2.017.46357245341223920822732.7\r\n
    60230McGinn E0-127.60.74Hi1.537.113434321411484364473741.7\r\n
    60229McGinn W0-127.50.53Hi1.212.54526249411484603445541.4\r\n
    60228SEV070-127.40.49Hi1.88.5315033322794390526343.5\r\n
    60227SEV060-127.30.55Lo1.629.81075334822794563367343.5\r\n
    60223HPPIVSW0-127.10.51No2.215543236010939250045561874.6\r\n
    60224HPPIVNW0-127.20.94No1.8196849370341224809749473.0\r\n
    60225HPPIVN0-127.10.55No1.93111239435281014883476413.2\r\n
    60226HPPIVSE0-127.30.45Hi1.718.5673630522794139425322.6\r\n
    ','125.pdf'),(126,1,3,2024,'Yield plots corn for the year 2024','126.pdf'),(128,2,2,2025,'soil tests taken fall 2025\r\n\r\n\r\n
    LAB NUMBER SAMPLE ID ORGANIC PHOS P1 PHOS P2 PHOS BiCarb POTASSIUM MAGNESIUM CALCIUM SODIUM PH Soil EXCHANGE %K %MG %CA %H %NA LAB NUMBER Nitrate ppm Nitrate lb/A Nitrate depth Nitrate total Sulfur s ZINC Zn MANGANESE Mn IRON Fe COPPER Cu BORON B lime rate SOLUBLE SALTS\r\n
    54493 HOME EAST 2.3 L 20 M 137 VH 43 VH 488 VH 487 VH 3076 H 43 8.0 20.9 6.0 19.4 73.7 0.0 0.9 54493 42 76 O-6 76 38 VH 3.0 M 3 VL 8 L 1.3 H 1.4 H M 0.6 L\r\n
    54494 HOME WEST 1.9 L 2 vL 58 H 15 M 185 H 474 VH 3303 H 41 8.1 21.1 2.2 18.7 78.3 0.0 0.8 54494 43 77 0-6 77 30 VH 2.4 M 2 vL 6 L 0.9 Ivi 1.0 M M 0.6 L\r\n
    54495 HOME ALFAL 2.5 L 11 L 65 VH 19 H 263 VH 665 VH 3085 H 38 8.2 21.8 3.1 25.4 70.7 0.0 0.8 54495 19 34 0-6 34 16 M 2.4 M 3 VL 8 L 0.8 L 1.4 H M 0.5 L\r\n
    \r\n
    SAMPLE HOME EAST HOME West HOME Alfalfa\r\n
    CROP CORN bu CORN bu Alfalfa\r\n
    YIELD 250.0 250.0 5 ton\r\n
    PREV CROP CORN bu CORN bu Alfalfa\r\n
    N 230 230 0\r\n
    P205 -- 70 30\r\n
    K2O -- 90 35\r\n
    Mg -- -- --\r\n
    SULFUR -- -- -10\r\n
    Zn -- -- --\r\n
    Mn 6.8 7.6 3.5\r\n
    FE 1.2 2.4 --\r\n
    Cu -- 1.1 0.9\r\n
    B -- -- --\r\n
    ','128.pdf'),(121,1,11,2024,'Center line heading 3 degree','121.jpg'),(122,1,7,2024,'Pivot sev corn Heading 90.207\r\nEast pivot 145.879','122.jpg'); /*!40000 ALTER TABLE `farmNotes` ENABLE KEYS */; UNLOCK TABLES; -- -- Table structure for table `farms` -- DROP TABLE IF EXISTS `farms`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `farms` ( `farmid` smallint(6) NOT NULL AUTO_INCREMENT, `userid` smallint(6) NOT NULL, `farm` varchar(35) NOT NULL, `img_full_map` varchar(10) NOT NULL, `landmarks` text NOT NULL, `history` text NOT NULL, PRIMARY KEY (`farmid`) ) ENGINE=MyISAM AUTO_INCREMENT=4 DEFAULT CHARSET=latin1; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Dumping data for table `farms` -- LOCK TABLES `farms` WRITE; /*!40000 ALTER TABLE `farms` DISABLE KEYS */; INSERT INTO `farms` VALUES (1,1,'Severance 7847','1f.png','Gated Pipe - Pivot details\r\nmove 15 ft west for 2016\r\n\r\ns1 = 40.53814 - 104.86118\r\nS2=40.53902-104.86116\r\ns3=40.53979 - 104.86099\r\ntransition east-west irrigation equals 40.53948 - 104.86112\r\n\r\nBuried Items\r\n
  • Sev South drain tile 40.53793, -104.86756 \r\n
  • drain tile at Severance Y old road 40.54088 -104.86489\r\n
  • sump north outlet 40.54209, -104.86179','Entire Farm Google Map 229 acres\r\n\r\nNorth Farm acres before pivot\r\n05 - 54\r\n06 - 46\r\n09 - 24.5\r\n10 - 30.5\r\ntotal 155\r\n\r\n2014\r\nThe year hail hit 3 times at the knee high length June 29th. North side worse than south. Was pretty good rains later in season. Got pivot stuck in south draw near abandoned sump.\r\nFirst year with pivot. \r\n\r\nSeverance Alfalfa 32.0\r\nSeverance Desert 10.0\r\nSeverance whole corn 183.1\r\n\r\n2013\r\n\r\n2012\r\nSeverance Alfalfa 52.0\r\nSeverance Desert 10.0\r\nSeverance whole corn 170.5\r\n\r\n2011\r\nFARM Crop Acres \r\nSeverance Alfalfa 78.0 \r\nSeverance Desert 10.0 \r\nSeverance whole corn 144.5'),(2,1,'Home 9504','2f.png','Google Map 140Acre Farmed.\r\n\r\nSOME Soil tests may be under severance.\r\n\r\ngrain bins Heckman 34.09584340902951feet hp 26.080334298187214feet severance 68 ft cattle gate to corner of shed.','acres hp acres SEV \r\nyear alfalfa corn alfalfa corn year\r\n2019 38.00 101.5 139.50 35.00 194.00 229.00 2023\r\n2020 38.00 101.5 139.50 35.00 194.00 229.00 2022\r\n2021 38.00 101.5 139.50 69.00 160.00 229.00 2021\r\n2022 38.00 101.5 139.50 44.00 185.00 229.00 2020\r\n2023 99.50 40 139.50 44.00 185.00 229.00 2019\r\n\r\n\r\nAcerage by crop 2021\r\nCrop Acres\r\nalfalfa 105.0\r\nDesert 23.0\r\nwhole corn 251.1\r\ntotal 379.1\r\nAcerage by Farm\r\nFARM Crop Acres\r\nARCHIVE whole corn 36.0\r\nHome 9504 alfalfa 38.0\r\nHome 9504 Desert 13.0\r\nHome 9504 whole corn 97.5\r\nSeverance 7847 Alfalfa 67.0\r\nSeverance 7847 Desert 10.0\r\nSeverance 7847 whole corn 117.6\r\nTotal 379.1\r\n\r\n\r\n\r\n
    \r\nCrop Acres 2020\r\nalfalfa 73.0\r\nDesert 23.0\r\nwhole corn 283.1\r\ntotal 379.1\r\n\r\nAcerage by Farm\r\nFARM Crop Acres\r\nARCHIVE whole corn 0.0\r\nHome 9504 alfalfa 38.0\r\nHome 9504 Desert 13.0\r\nHome 9504 whole corn 97.5\r\nSeverance 7847 Alfalfa 35.0\r\nSeverance 7847 Desert 10.0\r\nSeverance 7847 whole corn 185.6\r\nTotal 379.1\r\n\r\n\r\n\r\n2018\r\nCrop Acres\r\nalfalfa 69.0\r\nDesert 23.0\r\nwhole corn 287.1\r\ntotal \r\n379.1\r\nAcerage by Farm\r\nFARM Crop Acres\r\nHome 9504 alfalfa 34.0\r\nHome 9504 Desert 13.0\r\nHome 9504 whole corn 101.5\r\nSeverance 7847 Alfalfa 35.0\r\nSeverance 7847 Desert 10.0\r\nSeverance 7847 whole corn 185.6\r\nTotal \r\n379.1\r\n\r\n\r\n2017 average corn yield 235 bu acre all farms\r\nAcerage by crop\r\nCrop Acres\r\nAlfalfa 65.6\r\nDesert 20.0\r\nwhole corn 289.5\r\ntotal 375.1\r\nAcerage by Farm\r\nFARM Crop Acres\r\nHome 9504 Desert 10.0\r\nHome 9504 whole corn 131.5\r\nSeverance 7847 Alfalfa 65.6\r\nSeverance 7847 Desert 10.0\r\nSeverance 7847 whole corn 158.0\r\nTotal 375.1\r\n\r\n\r\n\r\n\r\n2016\r\nFairly wet spring and largely hot and dry summer, dry beautiful fall, moderately wet winter.\r\nCrop Acres \r\nalfalfa 91.0 \r\nDesert 20.0 \r\nwhole corn 269.5\r\ntotal \r\n380 \r\n\r\nAcerage by Farm\r\n\r\nFARM Crop Acres \r\nHome 9504 alfalfa 38.0 \r\nHome 9504 Desert 10.0 \r\nHome 9504 whole corn 96.0 \r\nSeverance 7847 Alfalfa 53.0 \r\nSeverance 7847 Desert 10.0 \r\nSeverance 7847 whole corn 173.0 \r\nTotal \r\n380 \r\n\r\n2015\r\nCrop Acres\r\nalfalfa 70.0\r\nDesert 20.0\r\nwhole corn 289.0\r\ntotal \r\n379\r\nAcerage by Farm\r\n\r\nFARM Crop Acres\r\nHome 9504 alfalfa 38.0\r\nHome 9504 Desert 10.0\r\nHome 9504 whole corn 96.0\r\nSeverance 7847 Alfalfa 32.0\r\nSeverance 7847 Desert 10.0\r\nSeverance 7847 whole corn 193.0\r\nTotal \r\n379\r\n\r\n2014\r\nheckman field has roundup ready alfalfa\r\n\r\nHome alfalfa 46.0\r\nHome Desert 10.0\r\nHome wheat 17.0\r\nHome whole corn 71.0\r\n\r\n2013\r\nCrop Acres\r\nalfalfa 81.0\r\nwhole corn 196.5= 277\r\nDesert 20.0\r\nPP whole corn 76.6\r\ntotal \r\n374.1\r\nAcerage by Farm\r\n\r\nFARM Crop Acres\r\nHome alfalfa 29.0\r\nHome Desert 10.0\r\nHome PP whole corn 34.0\r\nHome whole corn 71.0\r\nSeverance Alfalfa 52.0\r\nSeverance Desert 10.0\r\nSeverance PP whole corn 42.6\r\nSeverance whole corn 125.5\r\nTotal \r\n374.1\r\n\r\n2012\r\nAlfalfa 77.0 \r\nDesert 20.0 \r\nwhole corn 279.5 \r\n\r\nHome Alfalfa 25.0\r\nHome Desert 10.0\r\nHome whole corn 109.0\r\n\r\n2011\r\nFARM Crop Acres \r\nHome Alfalfa 25.0 \r\nHome Desert 10.0 \r\nHome whole corn 109.0\r\n\r\nCrop Acres \r\nAlfalfa 103.0 \r\nDesert 20.0 \r\nwhole corn 253.5 \r\ntotal: 376.5'),(3,1,'ARCHIVE','3f.pdf','Windsor Family Partnership Laura sturgeon \r\n8 shares of Terry and 4 shares of Windsor Reservoir\r\n\r\nWindsor Family Partnership \r\n2 shares of Terry 3 shares of Windsor Reservoir\r\n\r\nRobert Hettinger \r\n2 shares Windsor Reservoir','Strore unused fields'); /*!40000 ALTER TABLE `farms` ENABLE KEYS */; UNLOCK TABLES; -- -- Table structure for table `fertilizer` -- DROP TABLE IF EXISTS `fertilizer`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `fertilizer` ( `productid` mediumint(9) NOT NULL AUTO_INCREMENT, `product` varchar(25) NOT NULL DEFAULT '', `price` float NOT NULL DEFAULT '0', `liquid` tinyint(4) NOT NULL DEFAULT '0', `n` tinyint(4) NOT NULL DEFAULT '0', `p` tinyint(4) NOT NULL DEFAULT '0', `k` tinyint(4) NOT NULL DEFAULT '0', `s` tinyint(4) NOT NULL DEFAULT '0', `z` float NOT NULL DEFAULT '0', `mn` float NOT NULL DEFAULT '0', `cu` float NOT NULL DEFAULT '0', `bo` float NOT NULL DEFAULT '0', `fe` float NOT NULL DEFAULT '0', `mg` float NOT NULL DEFAULT '0', `gy` float NOT NULL DEFAULT '0', `es` float NOT NULL DEFAULT '0', `notes` varchar(255) NOT NULL, PRIMARY KEY (`productid`) ) ENGINE=MyISAM AUTO_INCREMENT=26 DEFAULT CHARSET=latin1; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Dumping data for table `fertilizer` -- LOCK TABLES `fertilizer` WRITE; /*!40000 ALTER TABLE `fertilizer` DISABLE KEYS */; INSERT INTO `fertilizer` VALUES (1,'0-0-60',580,0,0,0,60,0,0,0,0,0,0,0,0,0,'2026-01-04'),(2,'11-52-0',8300,0,11,52,0,0,0,0,0,0,0,0,0,0,'1120\r\nhp 830'),(3,'21-0-0-24',550,0,21,0,0,24,0,0,0,0,0,0,0,0,'2026-01-04'),(4,'46-0-0',535,1,46,0,0,0,0,0,0,0,0,0,0,0,'kk 550'),(5,'Boron',4000,0,0,0,0,0,0,0,0,15,0,0,0,0,''),(6,'Copper',7420,0,0,0,0,0,0,0,25,0,0,0,0,0,''),(7,'Elemental Sulfur',780,0,0,0,0,0,0,0,0,0,0,0,0,90,'2026-01-04'),(8,'Iron Sulfate',700,0,0,0,0,18,0,0,0,0,31,0,0,0,''),(9,'Manganese Sulfate',3120,0,0,0,0,15,0,32,0,0,0,0,0,0,'2026-01-04'),(10,'Zinc 360',4250,0,0,0,0,18,35.5,0,0,0,0,0,0,0,''),(24,'Boron',1400,1,0,0,0,0,0,0,0,15,0,0,0,0,''),(12,'0-0-60',570,1,0,0,60,0,0,0,0,0,0,0,0,0,'kk 560'),(13,'46-0-0',650,0,46,0,0,0,0,0,0,0,0,0,0,0,'2026-01-04'),(14,'Manganese 28',3740,1,0,0,0,14,0,32,0,0,0,0,0,1,''),(15,'Zinc 16',390,1,15,0,0,0,1.5,0,0,0,0,0,0,0,''),(17,'32-0-0',550,1,32,0,0,0,0,0,0,0,0,0,0,0,'3/26'),(18,'10-34-0',2800,1,10,34,0,0,0,0,0,0,0,0,0,0,''),(19,'sperader',17000,0,0,0,0,0,0,0,0,0,0,0,100,0,''),(22,'Zinc 16',390,0,15,0,0,0,1.5,0,0,0,0,0,0,0,''),(20,'12-40-0-6.5-z',925,1,12,40,0,10,1,0,0,0,0,0,0,0,'kk 900'),(23,'Copper',7400,1,0,0,0,0,0,0,25,0,0,0,0,0,''),(21,'21-0-0-24',530,1,21,0,0,24,0,0,0,0,0,0,0,0,'690\r\nkk 500'),(25,'12-40-0-6.5-1',1025,0,12,40,0,7,1,0,0,0,0,0,0,0,'2026-01-04'); /*!40000 ALTER TABLE `fertilizer` ENABLE KEYS */; UNLOCK TABLES; -- -- Table structure for table `fertilizer_applied` -- DROP TABLE IF EXISTS `fertilizer_applied`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `fertilizer_applied` ( `appliedid` mediumint(9) NOT NULL AUTO_INCREMENT, `reportID` varchar(50) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL, `analysis_date` date NOT NULL, `comments` varchar(400) DEFAULT NULL, `acres` decimal(5,1) NOT NULL, `crop_year` smallint(6) DEFAULT NULL, `N` float NOT NULL, `P2O5` float NOT NULL, `K2O` float NOT NULL, `Mg` float NOT NULL, `Sul` float NOT NULL, `Zn` float NOT NULL, `Mn` float NOT NULL, `Fe` float NOT NULL, `Cu` float NOT NULL, `Boron` float NOT NULL, `Gypsum` float NOT NULL, `element_sulfur` float NOT NULL, `FertilizerMap` varchar(12) NOT NULL, `print_me` tinyint(4) NOT NULL, `archive` tinyint(4) DEFAULT NULL, `acre_charge` decimal(5,2) DEFAULT NULL, `total_fertilizer` decimal(10,2) DEFAULT NULL, `calculated` text, PRIMARY KEY (`appliedid`) ) ENGINE=MyISAM AUTO_INCREMENT=46 DEFAULT CHARSET=latin1; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Dumping data for table `fertilizer_applied` -- LOCK TABLES `fertilizer_applied` WRITE; /*!40000 ALTER TABLE `fertilizer_applied` DISABLE KEYS */; INSERT INTO `fertilizer_applied` VALUES (1,'hpSwest (hp_sw)','2025-04-25','map - Field 3\r\n\r\n1. Spread fertilizer north and south.\r\n2. Stay 20 ft from south fence & west fence\r\n \r\n\r\ncorn on corn 2025 crop year',34.0,2025,210,70,70,0,0,1,3,0,1,0.5,0,0,'1.png',0,0,248.16,8327.06,'
    VariablesNitrogen=210
    Phosphorous=70
    Potash=70
    Zinc=1
    Manganese=3
    Copper=1
    Boron=0.5
    ProductLBS/ACREPOUNDSCost
    0-0-601173967$1,071.09
    11-52-01354577$1,899.46
    46-0-042514428$3,823.42
    Boron4114$228.00
    Copper4136$504.56
    Manganese Sulfate10319$596.53
    Zinc 360396$204.00
    '),(32,'sev08','2025-11-09','map - Field 10 acre\r\n\r\n3. Spread pattern border - 5 ft away from gated pipe & surrounding ditches',10.0,2026,0,60,60,0,0,0,0,0,0,0,0,0,'32.png',0,0,99.27,990.27,'
    VariablesPhosphorous=60
    Potash=60
    ProductLBS/ACREPOUNDSCost
    0-0-601011001$270.27
    12-40-0-10-11501500$720.00
    '),(2,'hp hill','2024-11-11','',4.0,2025,240,105,95,0,0,4.9,7,0,1.8,0.5,0,10,'2.png',0,1,335.61,1342.46,'
    VariablesNitrogen=240
    Phosphorous=105
    Potash=95
    Zinc=1
    Manganese=7
    Copper=1.8
    Boron=0.5
    Elemental Sulphur=10
    ProductLBS/ACREPOUNDSCost
    0-0-60159 634$171.18
    11-52-0202 808$335.32
    46-0-0474 1894$501.91
    Boron4 14$28.00
    Copper8 29$107.59
    Elemental Sulfur12 45$13.50
    Manganese Sulfate22 88$164.56
    Zinc 3603 12$25.50
    '),(3,'hp hill','2025-04-25','map - Field 1\r\n\r\n1 Spread fertilizer north and south.\r\n2. Keep spreader pattern 20 ft from north fence.\r\n3. Keep spreader pattern 10 ft from east cement ditch\r\n4. Keep spreader pattern 20 ft from creek \r\n\r\n\r\ncorn on corn 2025 crop year',4.0,2025,220,80,80,0,0,2,3,0,1,0.5,0,10,'3.png',0,0,278.82,1092.32,'
    VariablesNitrogen=220
    Phosphorous=80
    Potash=80
    Zinc=2
    Manganese=3
    Copper=1
    Boron=0.5
    Elemental Sulphur=10
    ProductLBS/ACREPOUNDSCost
    0-0-60134534$144.18
    11-52-0154616$255.64
    46-0-04421766$467.99
    Boron414$28.00
    Copper517$63.07
    Elemental Sulfur1245$13.50
    Manganese Sulfate1038$71.06
    Zinc 360623$48.88
    '),(4,'hpsheep','2025-04-25','map - Field 2\r\n1. Spread fertilizer east and west.\r\n2. Stay 20 ft from south fence & east road\r\n\r\n\r\ncorn on corn 2025 crop year',36.5,2025,210,40,40,0,0,0,6,0,0,0,0,0,'4.png',0,0,201.91,7341.33,'
    VariablesNitrogen=210
    Phosphorous=40
    Potash=40
    Manganese=6
    ProductLBS/ACREPOUNDSCost
    0-0-60672434$657.18
    11-52-0772808$1,165.32
    46-0-043915992$4,237.88
    Manganese Sulfate19685$1,280.95
    '),(9,'hp_sw','2024-11-11','',34.0,2025,260,70,70,0,0,2.2,6.3,0,1.8,0.5,0,0,'1.png',0,1,304.79,10363.12,'
    VariablesNitrogen=260
    Phosphorous=70
    Potash=70
    Zinc=1
    Manganese=6.3
    Copper=1.8
    Boron=0.5
    ProductLBS/ACREPOUNDSCost
    0-0-60117 3967$1,071.09
    11-52-0135 4577$1,899.46
    46-0-0534 18123$4,802.60
    Boron4 114$228.00
    Copper8 245$908.95
    Manganese Sulfate20 670$1,252.90
    Zinc 3603 96$204.00
    '),(5,'hpsheep','2023-11-21','

    soiltest data

    ',30.0,2025,250,0,0,0,0,0,0,0,0,0,0,0,'5.jpg',0,1,150.00,4500.22,'
    ProductLBS/ACREPOUNDSCost
    46-0-0544 16305$4,320.83
    Zinc 3603 85$180.63
    VariablesNitrogen=250
    Phosphorous=0
    Potash=0
    Sulfate=0
    Zinc=1
    Manganese=0
    Copper=0
    Boron=0
    Iron=0
    Magnesium=0
    Gypsum=0
    Elemental Sulphur=0
    '),(6,'hpMcGinn','2025-04-25','map - Field 4\r\n\r\n1. start south end\r\n2. Run truck parallel with south embankment\r\n3. Keep spreader pattern 20 ft from east fence.\r\n4. Keep spreader pattern 20 ft from north cement ditch\r\n5. Keep spreader pattern 20 ft from west cement ditch\r\n6. Stay out of SE corner swamp land',29.0,2025,240,50,40,0,0,0,3,0,0,0,0,0,'6.jpg',0,0,209.28,6021.22,'
    VariablesNitrogen=240
    Phosphorous=50
    Potash=40
    Manganese=3
    ProductLBS/ACREPOUNDSCost
    0-0-60671934$522.18
    11-52-0972789$1,157.44
    46-0-049914464$3,832.96
    Manganese Sulfate10272$508.64
    '),(8,'hpMcGinn','2023-11-11','',29.0,2025,285,50,0,0,0,0,0,0,0,0,0.125,0,'6.jpg',0,1,0.00,0.00,''),(7,'hpMcGinn east','2023-11-11','',29.0,2025,190,25,0,0,0,0,6,0,0,0,0,0,'6.jpg',0,1,214.09,6208.81,''),(10,'sev08 (se_se)','2024-11-11','',20.0,2025,255,115,75,0,0,0.5,7,0,1.8,0.5,0,0,'24.png',0,1,0.00,0.00,''),(11,'sev07','2023-11-11','',35.0,2025,285,0,0,0,0,0,0,0,0,0,0,0,'11.png',0,1,0.00,0.00,''),(12,'sev06','2023-11-11','

    soiltest data

    ',20.7,2025,215,0,0,0,0,0,0,0,0,0,0,0,'20.png',0,1,129.84,2856.58,'
    VariablesNitrogen=215
    Zinc=1
    ProductLBS/ACREPOUNDSCost
    46-0-0468 10283$2,725.00
    Zinc 3603 62$131.75
    '),(13,'sevPivWS','2023-11-11','',37.0,2025,255,30,0,0,0,0,0,0,0,0,0,0,'14.png',0,1,0.00,0.00,''),(14,'sevPivWN','2023-11-11','

    soiltest data

    ',37.0,2025,250,0,0,0,0,0,0,0,0,0,0,0,'14.png',0,1,0.00,0.00,''),(15,'sevPivNe','2023-11-11','

    soiltest data

    ',34.0,2025,205,15,0,0,0,0,0,0,0,0,0,0,'15.png',0,1,0.00,0.00,''),(16,'sevPivSe','2023-11-11','',35.0,2025,255,20,0,0,0,0,0,0,0,0,0,0,'16.png',0,1,0.00,0.00,''),(17,'HPplot','2021-11-22','

    soiltest data

    ',35.0,2021,195,0,0,0,0,0,6.7,0,0,0,0,0,'17.jpg',0,0,0.00,0.00,''),(18,'HPHeckRidg','2021-11-22','',35.0,2021,175,105,65,0,0,3.5,6.7,1.2,1.3,0.9,0,0,'18.jpg',0,1,0.00,0.00,''),(19,'hpsheep HPSEast','2021-11-22','',35.0,2025,235,0,0,0,0,0,7.4,0,1.1,0,0,0,'19.jpg',0,1,0.00,0.00,''),(20,'SEV06','2021-11-22','',20.7,2025,230,45,40,0,5,1.1,7.4,2.4,1.3,0.9,0,0,'20.png',0,1,264.16,5811.53,'
    VariablesNitrogen=230
    Phosphorous=45
    Potash=40
    Sulfate=5
    Zinc=1
    Manganese=7.4
    Copper=1.3
    Boron=0.9
    Iron=2.4
    ProductLBS/ACREPOUNDSCost
    0-0-6067 1467$396.09
    11-52-087 1904$790.16
    46-0-0480 10545$2,794.43
    Boron6 132$264.00
    Copper6 115$426.65
    Iron Sulfate8 171$59.85
    Manganese Sulfate24 509$951.83
    Zinc 3603 62$131.75
    '),(21,'SEV07 SEV8-north','2021-10-07','',20.0,2025,230,30,30,0,16,0,7.1,0,1.2,0.6,0,0,'11.png',0,1,0.00,0.00,''),(22,'SEV07 SEV8-south','2021-10-07','

    soiltest data

    ',15.0,2025,240,30,0,0,17,0,7.1,0,1.2,0.6,0,0,'11.png',0,1,0.00,0.00,''),(23,'sev07','2025-04-25','map - Field 7\r\n\r\n1. start North end\r\n2. Run truck parallel (west to east) with North Ditch\r\n3. Spread pattern border - 16 ft away from west ditch and Creek border\r\n\r\ncorn on corn\r\nspring application',35.0,2025,220,40,40,0,10,0,3,0,1,0.5,0,0,'11.png',0,0,218.79,7562.58,'
    VariablesNitrogen=220
    Phosphorous=40
    Potash=40
    Sulfate=10
    Manganese=3
    Copper=1
    Boron=0.5
    ProductLBS/ACREPOUNDSCost
    0-0-60672334$630.18
    11-52-0772693$1,117.60
    21-0-0-24361254$332.31
    46-0-044415524$4,113.86
    Boron4117$234.00
    Copper4140$519.40
    Manganese Sulfate10329$615.23
    '),(24,'sev08','2024-11-11','map - Field 8\r\n\r\n1. start South end\r\n2. Run truck parallel (west to east) with North fence\r\n3. Spread pattern border - 16 ft away from west border, south fence and east rode\r\n\r\ncorn on corn 2025\r\nspring application',20.0,2025,225,70,60,0,0,0.5,3,0,1,0.5,0,0,'24.png',0,0,249.92,4923.42,'
    VariablesNitrogen=225
    Phosphorous=70
    Potash=60
    Zinc=0.5
    Manganese=3
    Copper=1
    Boron=0.5
    ProductLBS/ACREPOUNDSCost
    0-0-601002000$540.00
    11-52-01352693$1,117.60
    46-0-04579139$2,421.84
    Boron467$134.00
    Copper480$296.80
    Manganese Sulfate10188$351.56
    Zinc 360229$61.63
    '),(25,'SEV06','2025-04-25','map - Field 6\r\n\r\n1. Line up with south orange post and north shed\r\n2. Spread pattern border - 16 ft away from west ditch and Creek border\r\n\r\ncorn on corn',20.7,2025,230,40,40,0,5,1,3,0,1,0,0,0,'25.png',0,0,219.55,4512.40,'
    VariablesNitrogen=230
    Phosphorous=40
    Potash=40
    Sulfate=5
    Zinc=1
    Manganese=3
    Copper=1
    ProductLBS/ACREPOUNDSCost
    0-0-60671381$372.87
    11-52-0771593$661.10
    21-0-0-2413267$70.76
    46-0-04769848$2,609.72
    Copper483$307.93
    Manganese Sulfate10195$364.65
    Zinc 360359$125.38
    '),(33,'hpPivotNorth67','2025-11-11','Spread field 67 acres\r\n\r\n1. Use pivot tracks to spread\r\n2. Stay 5ft from all field borders',67.0,2026,0,60,60,0,0,0,0,0,0,0,0,0,'33.png',0,0,99.27,6633.27,'
    VariablesPhosphorous=60
    Potash=60
    ProductLBS/ACREPOUNDSCost
    0-0-601016701$1,809.27
    12-40-0-10-115010050$4,824.00
    '),(26,'sevPivCorn','2025-04-25','map - Field 5\r\n\r\n1. Spread SEV06 or Field 6 FIRST to mark east border \r\n2. Start spreading on north end\r\n3. Run spreader East and West\r\n4. Spread pattern border - 16 ft away from existing east road, existing south road, and west cement ditch. 0 ft. everywhere else.',105.0,2025,230,50,40,0,0,0,3,0,0,0,0,0,'26.png',0,0,203.72,21195.27,'
    VariablesNitrogen=230
    Phosphorous=50
    Potash=40
    Manganese=3
    ProductLBS/ACREPOUNDSCost
    0-0-60677001$1,890.27
    11-52-09710097$4,190.26
    46-0-047850086$13,272.79
    Manganese Sulfate10985$1,841.95
    '),(34,'Cover map SEV','2025-11-08','Cover map',92.0,2025,0,60,60,0,0,0,0,0,0,0,0,0,'34.png',1,0,0.00,0.00,''),(35,'Cover map HP','2025-11-10','Cover map',67.0,2026,0,60,60,0,0,0,0,0,0,0,0,0,'35.png',0,1,0.00,0.00,''),(30,'sevPivSWcorner','2025-11-09','map - Field 47 acre\r\n\r\n1.Start Mark 151-degree line 40 ft west pivot tower. Make east boundary \r\n2. Start spreading on west end\r\n3. Run spreader North & South\r\n4. Spread pattern border - 16 ft away from existing south road & existing north pivot road',47.0,2026,0,60,60,0,0,0,0,0,0,0,0,0,'30.png',0,0,99.27,4653.27,'
    VariablesPhosphorous=60
    Potash=60
    ProductLBS/ACREPOUNDSCost
    0-0-601014701$1,269.27
    12-40-0-10-11507050$3,384.00
    '),(27,'sevPivNe','2025-01-24','1. start N end\r\n2. Run truck parallel (west to east) with North fence\r\n3. Spread pattern border - 16 ft away from west border, south fence and east rode',34.0,2025,220,30,30,0,0,0,3,0,0,0,0,0,'15.png',1,1,178.05,6053.92,'
    VariablesNitrogen=220
    Phosphorous=30
    Potash=30
    Manganese=3
    ProductLBS/ACREPOUNDSCost
    0-0-6051 1701$459.27
    11-52-058 1962$814.23
    46-0-0465 15792$4,184.88
    Manganese Sulfate10 319$596.53
    '),(31,'sevPivNWcorner','2025-11-09','map - Field 35 acre\r\n\r\nSpread with pivot racks\r\n4. Spread pattern border - 10 ft away from north cement ditch & existing east & south pivot roads',34.5,2026,0,60,60,0,0,0,0,0,0,0,0,0,'31.png',0,0,99.27,3415.77,'
    VariablesPhosphorous=60
    Potash=60
    ProductLBS/ACREPOUNDSCost
    0-0-601013451$931.77
    12-40-0-10-11505175$2,484.00
    '),(28,'The Severance Map','2025-04-25','Severance Fertilizer map',235.0,2025,0,0,0,0,0,0,0,0,0,0,0,0,'28.png',0,0,0.00,0.00,'
    0-0-6021585
    11-52-027866
    46-0-0131247
    Manganese Sulfate3011
    Boron312
    Copper456
    Zinc 360207
    21-0-0-241521
    Elemental Sulfur45
    '),(29,'McGinn/hp Farms Fields 1-4','2025-04-25','west farm map',146.0,2025,0,0,0,0,0,0,0,0,0,0,0,0,'29.png',0,0,0.00,0.00,''),(36,'HPPivot','2025-11-06','HPPivot corn NW, NE and alfalfa midway',0.0,2025,0,0,0,0,0,0,0,0,0,0,0.128,0,'36.jpg',0,1,0.00,0.00,''),(37,'HP 3 plots','2024-11-12','HPPivot corn W, below gated pipe and Hill',100.0,2024,0,0,0,0,0,0,0,0,0,0,0.124,0,'37.pdf',0,1,0.00,0.00,''),(45,'SevPivotNE','2026-01-06','map - Field 3\r\n\r\n1. Spread fertilizer north and south.\r\n2. Stay 20 ft from south fence & west fence \r\n\r\ncorn on corn',57.5,2026,200,20,20,0,0,0,6,0,1,0,1,0,'45.jpg',1,0,237.83,12943.87,'
    VariablesNitrogen=200
    Phosphorous=20
    Potash=20
    Manganese=6
    Copper=1
    Gypsum=1
    ProductLBS/ACREPOUNDSCost
    0-0-60341917$555.93
    12-40-0-6.5-1502875$1,473.44
    46-0-042224250$7,881.25
    Copper5231$857.01
    Manganese Sulfate191079$1,683.24
    sperader258$493.00
    '),(38,'hpSwest (hp_sw)','2026-01-05','map - Field 3\r\n\r\n1. Spread fertilizer north and south.\r\n2. Stay 20 ft from south fence & west fence\r\n \r\n\r\ncorn on corn',34.0,2026,210,70,70,0,0,0,6,2,1,0,1,0,'1.png',1,0,324.83,10618.11,'
    VariablesNitrogen=210
    Phosphorous=70
    Potash=70
    Manganese=6
    Copper=1
    Iron=2
    Gypsum=1
    ProductLBS/ACREPOUNDSCost
    0-0-601173967$1,150.43
    12-40-0-6.5-11755950$3,049.38
    46-0-041113970$4,540.25
    Copper5137$508.27
    Iron Sulfate7220$77.00
    Manganese Sulfate19638$995.28
    sperader235$297.50
    '),(39,'hp hill','2026-01-05','map - Field 1\r\n\r\n1 Spread fertilizer north and south.\r\n2. Keep spreader pattern 20 ft from north fence.\r\n3. Keep spreader pattern 10 ft from east cement ditch\r\n4. Keep spreader pattern 20 ft from creek \r\n\r\n\r\ncorn on corn 2025 crop year',4.0,2026,240,80,80,0,0,2,6,0,1,0,0,10,'3.png',0,0,278.82,1092.32,''),(40,'hpsheep','2026-01-05','map - Field 2\r\n1. Spread fertilizer east and west.\r\n2. Stay 20 ft from south fence & east road\r\n\r\n\r\ncorn on corn 2025 crop year',36.5,2026,210,20,20,6,0,0,6,1,0,0,1,0,'4.png',1,0,227.83,7973.42,'
    VariablesNitrogen=210
    Phosphorous=20
    Potash=20
    Manganese=6
    Iron=1
    Magnesium=6
    Gypsum=1
    ProductLBS/ACREPOUNDSCost
    0-0-60341217$352.93
    12-40-0-6.5-1501825$935.31
    46-0-044416187$5,260.78
    Iron Sulfate4118$41.30
    Manganese Sulfate19685$1,068.60
    sperader237$314.50
    '),(41,'hpMcGinn','2026-01-05','map - Field 4\r\n\r\n1. start south end\r\n2. Run truck parallel with south embankment\r\n3. Keep spreader pattern 20 ft from east fence.\r\n4. Keep spreader pattern 20 ft from north cement ditch\r\n5. Keep spreader pattern 20 ft from west cement ditch\r\n6. Stay out of SE corner swamp land',29.0,2026,230,50,40,0,0,0,6,0,0,0,1,0,'6.jpg',1,0,282.23,7927.69,'
    VariablesNitrogen=230
    Phosphorous=50
    Potash=40
    Manganese=6
    Gypsum=1
    ProductLBS/ACREPOUNDSCost
    0-0-60671934$560.86
    12-40-0-6.5-11253625$1,857.81
    46-0-046813555$4,405.38
    Manganese Sulfate19544$848.64
    sperader230$255.00
    '),(42,'SEV06','2026-01-05','map - Field 6\r\n1. Line up with south orange post and north shed\r\n2. Spread pattern border - 16 ft away from west ditch and Creek border\r\ncorn on corn',20.7,2026,230,40,40,0,5,1,3,0,1,0,1,0,'25.png',1,0,275.88,5440.25,'
    VariablesNitrogen=230
    Phosphorous=40
    Potash=40
    Sulfate=5
    Zinc=1
    Manganese=3
    Copper=1
    Gypsum=1
    ProductLBS/ACREPOUNDSCost
    0-0-60671381$400.49
    12-40-0-6.5-11002070$1,060.88
    46-0-04749810$3,188.25
    Copper583$307.93
    Manganese Sulfate10195$304.20
    sperader221$178.50
    '),(43,'sev07','2026-01-05','map - Field 7\r\n1. start North end\r\n2. Run truck parallel (west to east) with North Ditch\r\n3. Spread pattern border - 16 ft away from west ditch and Creek border\r\ncorn on corn\r\nspring application',35.0,2026,220,40,40,0,10,0,3,0,1,0.5,1,0,'11.png',1,0,278.01,9220.04,'
    VariablesNitrogen=220
    Phosphorous=40
    Potash=40
    Sulfate=10
    Manganese=3
    Copper=1
    Boron=0.5
    Gypsum=1
    ProductLBS/ACREPOUNDSCost
    0-0-60672334$676.86
    12-40-0-6.5-11003500$1,793.75
    21-0-0-247233$64.08
    46-0-045015720$5,109.00
    Boron4117$234.00
    Copper5141$523.11
    Manganese Sulfate10329$513.24
    sperader236$306.00
    '),(44,'sev08','2026-01-05','map - Field 8\r\n1. start South end\r\n2. Run truck parallel (west to east) with North fence\r\n3. Spread pattern border - 16 ft away from west border, south fence and east rode\r\ncorn on corn 2025\r\nspring application',20.0,2026,225,70,60,0,0,0.5,3,0,1,0.5,1,0,'24.png',1,0,322.43,6163.08,'
    VariablesNitrogen=225
    Phosphorous=70
    Potash=60
    Zinc=0.5
    Manganese=3
    Copper=1
    Boron=0.5
    Gypsum=1
    ProductLBS/ACREPOUNDSCost
    0-0-601012001$580.29
    12-40-0-6.5-11753500$1,793.75
    46-0-04448870$2,882.75
    Boron467$134.00
    Copper581$300.51
    Manganese Sulfate10188$293.28
    sperader221$178.50
    '); /*!40000 ALTER TABLE `fertilizer_applied` ENABLE KEYS */; UNLOCK TABLES; -- -- Table structure for table `inventory` -- DROP TABLE IF EXISTS `inventory`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `inventory` ( `inventoryid` mediumint(9) NOT NULL AUTO_INCREMENT, `productid` smallint(6) NOT NULL, `mapid` smallint(6) NOT NULL, `amount` tinyint(11) NOT NULL, `date` datetime NOT NULL, `harvest_date` date NOT NULL, `notes` text NOT NULL, `gps` varchar(60) NOT NULL, `crop_year` smallint(6) NOT NULL, PRIMARY KEY (`inventoryid`), KEY `date` (`date`,`harvest_date`) ) ENGINE=MyISAM AUTO_INCREMENT=259 DEFAULT CHARSET=latin1; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Dumping data for table `inventory` -- LOCK TABLES `inventory` WRITE; /*!40000 ALTER TABLE `inventory` DISABLE KEYS */; INSERT INTO `inventory` VALUES (1,1,10,15,'2010-04-20 00:00:00','0000-00-00','planted 1/3 on the 20th. rest on the 21st. There might be some dekalb at east end.\r\n\r\nSprayed on jun 1. Noticed skips where sandy soil. The weeds are also gone. Cold spring may be the problem.\r\n\r\nReceived hail damage on this field especially north end. Yielded good. Hit dry down the earliest.\r\n\r\nHarvested Oct 16','',2010),(2,2,11,2,'2010-04-21 00:00:00','0000-00-00','4 of the seed buckets filled.','',2010),(3,3,11,1,'2010-04-21 00:00:00','0000-00-00','Refuge planted in buckets 5&6','',2010),(4,4,11,9,'2010-04-21 00:00:00','0000-00-00','Mark seed change at west 2nd telephone from south. Stopped 4 rounds new hayfield.','',2010),(5,4,11,2,'2010-05-03 00:00:00','0000-00-00','West silver shed filled. Seed carried over to sev 09.\r\n\r\nThe north corn was slightly drier but both varieties are close in moisture in this field. Both varieties yielding high. Best corn so far.','',2010),(6,7,12,9,'2010-05-03 00:00:00','0000-00-00','3 rounds into field start fill. 2 rounds into sev 07 with seed left over.\r\n\r\nAs of Oct 29 this was at 17 plus moisture by the tester. Seems to be the wettest corn.','',2010),(7,3,13,3,'2010-05-04 00:00:00','0000-00-00','Start at 3rd round\r\n\r\nHarvested Nov 1\r\nYield 228.29 bu/acre 17%. beats Pioneer in the yield test\r\n\r\nHavested Nov 4-5 moisture 15%','',2010),(8,10,13,9,'2010-05-04 00:00:00','0000-00-00','2nd drop from north\r\n\r\nChecked Moisture Oct 30, I was surprised to see 16.5 moisture that was the wettest at 22% a week earlier.\r\n\r\nHarversted Nov 1\r\n198.91 busshel/acre the Dekalb variety is much better.\r\n\r\nFinished Harvest Nov 4 moisture 15%','',2010),(9,11,13,3,'2010-05-04 00:00:00','0000-00-00','Telephone pole by cement pit.\r\nCarried seed to south sev 08.\r\n\r\nBoth varieties showed a drop in yield because of the large seep spot at the bottom.\r\n\r\nHarvest Nov 1 140 bu/acre. The P0125AM1 next to it was 151.67 bu/acre','',2010),(10,6,14,11,'2010-05-04 00:00:00','0000-00-00','Started north of the lane culvert.\r\nAdded 2 bags toward evening shown in total. Kept some for pat plot\r\n\r\nHarvested Oct 26. This was the second driest but close to the 38H72.\r\nIt did stand better then the PO125R which was on the south end of field','',2010),(11,7,1,3,'2010-05-05 00:00:00','0000-00-00','Planter Units 1 & 2\r\nharvest nov 6\r\ndriest varity at 14 moisture','',2010),(12,8,1,6,'2010-05-05 00:00:00','0000-00-00','Planter units 3 - 6. Carried over to hpswest.\r\nHarvested there nov 7','',2010),(13,5,7,7,'2010-05-05 00:00:00','0000-00-00','Mule 3000 switched at colonial house east and betwwen two small trees west.','',2010),(14,4,8,6,'2010-05-05 00:00:00','0000-00-00','Placed bags in hopper for am plant. Colonial house to east variety switch.','',2010),(15,4,8,3,'2010-05-06 00:00:00','0000-00-00','harvested nov 7\r\nmoisture 16%\r\nNear end long rows','',2010),(16,5,6,5,'2010-05-06 00:00:00','0000-00-00','Some 45-79 in units','',2010),(17,3,6,1,'2010-05-06 00:00:00','0000-00-00','Added at the 14 section north of lower cement ditch drop.','',2010),(18,14,2,1,'2010-05-06 00:00:00','0000-00-00','Plot\r\nDEKALB DKC52-62 24 rows\r\nPioneer P9512XR 18 rows planted rest at east plot','',2010),(19,12,2,1,'2010-05-06 00:00:00','0000-00-00','12 rows in plot. PAT plot starts here and goes till the next SAMPLE and planted rest to east','',2010),(20,13,2,1,'2010-05-06 17:00:00','0000-00-00','planted whole bag. Planted samples after this sample to the east.','',2010),(21,15,7,5,'2010-05-10 00:00:00','0000-00-00','Q2 pass starting E to W\r\nDouble delicious 2 bgs unit4\r\nGot to have it unit 5\r\nThat\\\'s delicious unit 6\r\nStarted back down\r\nAmbrosia unit 2\r\nDouble delicious unit 3\r\nAmbosia 1/2 down unit 6\r\nLower fiel','',2010),(25,20,10,7,'2011-04-28 08:53:53','2011-11-08','Switched at deans house telephone pole. Saved some seed for plot.\r\nharvest: 10/24/11\r\nmoisture top from rummers house\r\n16% 10/19/2011\r\n15% 10/24/2011\r\nHarvest: 11/8/11','',2011),(26,1,11,9,'2011-04-29 08:39:22','2011-11-17','Switch between North schlagel house and south of telephone pole.\r\n\r\nmoisture bottom check by y 22% 10/14/11\r\n20% 10/22/11\r\n16.8% 11/8/11\r\nHarvest: 11/17/11','',2011),(27,4,10,8,'2011-04-27 16:12:57','2011-11-08','Some seed left from six\r\n\r\nmoisture field bottom 21% 10/14/11\r\n14.5% 10/22/11\r\ntop check 20% 10/19/11\r\n17.5% 10/22/11\r\n17.5% 10/31/11\r\n14.5% 11/8/11\r\nHarvest: 11/8/11','',2011),(28,20,13,5,'2011-04-29 17:04:02','2011-11-10','Silver shed north side\r\n18.5% moist 10/14/11\r\nkilling frost 10/20/2011\r\n17.5% 10/20/2011\r\n16.5% 10/31/11\r\n14.5% 11/8/11\r\nHarvest: 11/10/11','',2011),(46,8,2,0,'2011-05-03 13:49:12','2011-11-25','','',2011),(30,5,12,7,'2011-04-28 15:42:32','2011-11-16','Switched at 1st telephone pole north of pump house.\r\n\r\nmoist test bottom near telepole 2\r\n25% 10/19/2011\r\n22% 10/22/11\r\n18% 11/8/11\r\n15% 11/14/11\r\nHarvest: 11/16/11','',2011),(31,2,12,5,'2011-04-28 13:04:21','2011-11-16','1 round in 05b\r\nMoist 17.5% in 5b 10/23/11\r\n14.0% 11/14/11\r\nHarvest: 11/16/11','',2011),(32,8,18,7,'2011-04-27 10:12:45','0000-00-00','First field acre 1423 monitor. Had monitor problems.\r\nEmerged out of ground the quickest.','',2011),(33,5,8,5,'2011-04-30 13:02:44','2011-11-21','June 19 leader in height and color.\r\n\r\n2 rounds north past hole. 2nd hole from north. See \r\npicture\r\nHarvest: 11/21/11.','',2011),(34,2,8,4,'2011-04-30 10:23:44','2011-11-21','Continued From top field.\r\nHarvest: 11/21/11','',2011),(35,2,7,8,'2011-04-30 08:01:22','2011-11-22','3 rounds of 9512 @ 11% 11/20/11\r\n\r\n14.5% 11/20/11\r\nHarvest: 11/22/11','',2011),(36,25,6,2,'2011-05-01 13:18:03','2011-11-22','13% 11/20/11','',2011),(37,25,3,6,'2011-04-30 15:02:35','2011-11-12','started 37K11. Made six rounds before filling. Finished Sunday morning\r\nmoisture garden 23% 10/20/11\r\n13.0% 11/8/11\r\n13% 11/12/11\r\nK11 was 15.5% 11/13/11','',2011),(38,25,4,2,'2011-05-01 08:15:00','2011-11-12','From lake field.\r\nmoisture 17% 10/20/11\r\n12% 11/8/11\r\nHarvest: 11/12/11','',2011),(39,2,2,0,'2011-05-03 10:15:36','2011-11-25','','',2011),(40,5,2,0,'2011-05-03 10:01:27','2011-11-25','Placed post in fence where this variety starts','',2011),(41,14,2,1,'2011-05-03 14:38:39','2011-11-25','','',2011),(42,1,2,0,'2011-05-03 14:01:52','2011-11-25','','',2011),(43,21,2,1,'2011-05-03 13:38:55','2011-11-25','Only 1 bag. Next big after plot. Started where water dumps into ditch.','',2011),(44,2,13,8,'2011-04-29 13:59:03','2011-11-18','Switch middle 1st drop. Decreased population 500 seeds per acre because of small seed\r\n\r\n26% 10/19/2011\r\n23.5% 10/22/11\r\n15.8% 11/8/11\r\n16% 11/14/11\r\nHarvest: 11/18/11','',2011),(45,9,14,2,'2011-04-11 10:37:12','2011-09-02','first entry later','',2011),(47,22,14,5,'2011-04-11 11:51:29','2011-09-01','','',2011),(48,9,14,2,'2011-04-11 11:48:41','2011-09-01','','',2011),(53,2,6,1,'2011-05-01 15:20:40','2011-11-23','Added looking at panels east.','',2011),(49,9,14,2,'2011-04-11 14:22:33','2011-09-01','','',2011),(50,22,14,3,'2011-04-11 14:23:27','2011-09-01','Testing 12345 the conditions were sunny with a temperature of 75 degrees','',2011),(51,9,14,2,'2011-04-11 16:07:44','2011-09-01','The alfalfa has been planted with a Tv 6070 tractor','',2011),(52,22,14,2,'2011-04-12 08:53:02','2011-09-01','5 bags in planter at start','',2011),(54,5,1,6,'2011-05-02 13:30:30','2011-11-23','15.5% 11/20/11','',2011),(55,24,2,1,'2011-05-03 14:29:51','2011-11-25','After 0231 where pump water comes out. Mixed all the samples to finish off the corner','',2011),(56,28,2,1,'2011-05-03 14:20:32','2011-11-25','','',2011),(57,23,2,1,'2011-05-03 15:07:39','2011-11-25','Triumph 32 before this variety. Added the whole bag. Finished of the other big bags after this variety as mentioned by the bags profile.','',2011),(58,27,2,1,'2011-05-03 14:10:46','2011-11-25','','',2011),(59,8,18,1,'2011-04-27 15:19:28','2011-11-18','moist test bottom 50 yard from clean out\r\n27% 10/190/2011\r\n23% 10/22/2011\r\n20.5% 11/08/11\r\nHarvest: 11/18/11','',2011),(60,1,11,3,'2011-04-29 11:09:16','0000-00-00','Some left over for BF07\r\nmoist 21.5% 10/31/11','',2011),(61,4,6,2,'2011-05-01 14:28:20','2011-11-23','Added between new shed and grain bin.\r\n14.5% 11/20/11','',2011),(62,30,2,1,'2011-05-03 09:51:04','2011-11-25','First variety 2.5 rounds','',2011),(63,29,6,1,'2011-05-02 09:52:19','2011-11-23','to end of field','',2011),(64,29,2,0,'2011-05-03 14:47:22','2011-11-25','Some of the early variety was mixed in since I was short. Placed post in fence to separate the varieties.','',2011),(65,15,8,0,'2011-05-05 08:53:51','2011-11-25','Planting from east to west.\r\n\r\n1 ambrosia, 2 gotta have it, 3 that\\\'s delicious, 4 gotta have it, 5 that\\\'s delicious,6 double delicious\r\nMoved up to 3 rows top field.\r\n\r\n4 that\\\'s delicious 1/2 up field. 6 also had some ambrosia added to finish.','',2011),(68,37,7,6,'2012-04-25 07:51:13','2011-12-31','17 percent moisture on November 1st 2012','',2012),(69,39,13,12,'2012-04-20 09:15:55','2011-12-31','22 percent moisture as of 10 Dash 8 - 2012','',2012),(70,33,8,9,'2012-04-23 19:26:27','2011-12-31','No iNsecticide applied','',2012),(71,34,1,3,'2012-04-26 08:12:20','2011-12-31','East side of heckmans white barn.','',2012),(72,37,6,1,'2012-04-25 13:24:32','2011-12-31','center of pasture','',2012),(73,31,10,1,'2012-04-23 09:19:00','2011-12-31','2 rounds start 37K11 for field\r\nSeed changed at the pump outlet.\r\n 16 percent moisture as as of 10 - 7 - 2012','',2012),(74,32,6,5,'2012-04-25 11:16:27','2011-12-31','18 percent moisture on November 1st 2012','',2012),(75,32,7,1,'2012-04-25 10:53:11','2011-12-31','3 rounds of seed north end','',2012),(76,35,10,12,'2012-04-22 19:13:45','2011-12-31','1st round K11 for testing\r\n12 of 12 needed\r\n\r\n 16 percent moisture as of 10 - 12 2012','',2012),(77,36,15,10,'2012-04-23 10:37:54','2011-12-31','9 of. 12 bags','',2012),(79,33,3,6,'2012-04-24 14:08:33','2011-12-31','NO INSECTICIDE','',2012),(80,33,4,1,'2012-04-25 06:25:51','2011-12-31','','',2012),(81,37,2,0,'2012-04-25 14:01:34','2011-12-31','test plot TEST PLOT VARIETY 2','',2012),(82,38,12,8,'2012-04-20 13:54:11','2011-12-31','','',2012),(83,36,18,2,'2012-04-23 10:36:37','2011-12-31','the seed has been added for the lane comes down through the two fields','',2012),(84,34,12,2,'2012-04-20 17:33:44','2011-12-31','halfway between second and third telephone phone','',2012),(85,33,2,0,'2012-04-26 09:42:19','2011-12-31','test plot variety 4','',2012),(86,40,1,2,'2012-04-26 08:16:58','2011-12-31','','',2012),(87,40,12,3,'2012-04-20 17:34:45','2011-12-31','','',2012),(88,40,6,2,'2012-04-25 13:26:04','2011-12-31','','',2012),(89,40,7,3,'2012-04-25 06:26:56','2011-12-31','','',2012),(90,40,11,3,'2012-04-21 10:23:15','2011-12-31','partial bag left','',2012),(91,40,2,2,'2012-04-26 22:00:18','2011-12-31','Sweet corn hpsw\r\nstarting from the inside of the outfield \r\nRow 1: gotta have it\r\nRow2: that\\\'s delicious\r\nRow3: gotta have it\r\nR ow 4: double delicious\r\nRow 5: gotta have it.\r\nRow 6: double delicious','',2012),(92,40,10,4,'2012-04-21 20:37:46','2011-12-31','4 of 4 needed record open bag on next field','',2012),(94,38,13,2,'2012-04-20 13:09:31','2012-12-31','telephone pole 5 yellow water tank cattle corral\r\n 19 percent moisture as of 10 Dash 8 - 2012','',2012),(95,34,11,12,'2012-04-21 10:21:13','2012-12-31','island telephone pole. en route 2 bags by the hay field\r\n 18 percent moisture as of 10 - 7 - 2012','',2012),(96,32,2,0,'2012-04-25 12:49:07','2012-12-31','Started planting at bottom of field. Loaded plots at bottom of field.\r\n3 rounds TEST PLOT VARIETY 1','',2012),(97,31,18,5,'2012-04-23 09:19:54','2012-12-31','started planning field by the lane\r\n 21 percent moisture as of 10 Dash 8 - 2012','',2012),(98,37,4,1,'2012-04-25 07:09:00','2012-12-31','variety starts at the west edge of the red white shed. started spreading the aztec here too','',2012),(99,37,1,4,'2012-04-26 07:14:54','2012-12-31','center of pasture','',2012),(100,34,2,0,'2012-04-26 09:31:39','2012-12-31','Plot variety 3','',2012),(101,41,2,1,'2012-04-26 09:54:47','2012-12-31','test plot variety 5','',2012),(102,36,2,0,'2012-04-26 10:05:38','2012-12-31','test plot variety 6','',2012),(103,39,2,0,'2012-04-26 10:26:17','2012-12-31','test plot variety 7','',2012),(104,45,2,1,'2012-04-26 10:45:00','2012-12-31','test plot variety 8','',2012),(105,42,2,1,'2012-04-26 10:55:30','2012-12-31','test plot variety 9','',2012),(106,35,2,1,'2012-04-26 11:08:20','2012-12-31','test plot variety 10','',2012),(107,44,2,1,'2012-04-26 11:15:22','2012-12-31','test plot variety 11','',2012),(108,26,2,1,'2012-04-26 11:25:36','2012-12-31','test plot variety 12\r\npost marks end of plot unlike first which splits variety 1 and 2','',2012),(109,46,12,12,'2013-05-14 14:59:41','2013-12-31','Variety switched north of the telephone pole','',2013),(111,39,13,12,'2013-05-13 21:17:20','2013-12-31','North side 3212 triumph near the first drop\r\n10/25/13 15%','',2013),(112,39,7,6,'2013-05-15 17:08:58','2013-12-31','5 rounnds from north end\r\n11/7/13 14%','',2013),(117,37,2,0,'2013-05-16 18:25:09','2013-12-31','No 8','',2013),(113,41,8,9,'2013-05-15 09:50:11','2013-12-31','3 rounds south with 9946 triumph from sev 1o\r\n18.5% 11/7/13\r\nvariety sucks in alkali','',2013),(114,51,7,6,'2013-05-15 13:17:50','2013-12-31','4 rounds south with 08\r\n11/7/13 19%','',2013),(115,52,6,3,'2013-05-16 18:10:26','2013-12-31','finished this field and started the next one the first variety in the plot.\r\n11/7/13 15%','',2013),(116,37,12,6,'2013-05-14 10:55:20','2013-12-31','3 rounds on 7','',2013),(118,39,18,6,'2013-05-17 09:47:49','2013-12-31','F','',2013),(119,34,10,12,'2013-05-13 15:05:29','2013-12-31','10/25/13 18.5%','',2013),(120,47,2,1,'2013-05-16 18:19:02','2013-12-31','No 2','',2013),(121,48,2,1,'2013-05-16 18:19:46','2013-12-31','No 3','',2013),(122,49,2,1,'2013-05-16 18:20:27','2013-12-31','No 4','',2013),(123,50,2,1,'2013-05-16 18:21:11','2013-12-31','No 5','',2013),(124,53,18,1,'2013-05-17 09:46:50','2013-12-31','','',2013),(125,52,1,4,'2013-05-17 05:39:14','2013-12-31','Could be 3 bags','',2013),(126,51,13,3,'2013-05-14 19:45:37','2013-12-31','10/25/13 19.5% moisture','',2013),(127,51,10,3,'2013-05-14 06:01:01','2013-12-31','switched variety seed by rumor Hals place','',2013),(128,54,11,6,'2013-05-15 07:07:17','2013-12-31','Variety switch east corner hay \r\n11/4/13 - 17% moisture the corn is yielding good','',2013),(129,52,2,0,'2013-05-16 18:17:39','2013-12-31','first variety. Planted 24 rows. All varities have 0.57 acres per plot via tractor monitor','',2013),(130,54,2,0,'2013-05-16 18:21:38','2013-12-31','No 6','',2013),(131,46,2,0,'2013-05-16 18:22:38','2013-12-31','No 7.\r\nThis variety only complete 6 of 12 rows','',2013),(132,39,2,0,'2013-05-16 18:25:28','2013-12-31','No 9','',2013),(133,41,2,0,'2013-05-16 18:26:25','2013-12-31','No 10','',2013),(134,53,2,1,'2013-05-16 18:27:55','2013-12-31','No 11\r\nPkanted full bag','',2013),(135,55,3,17,'2013-09-30 06:01:01','2014-08-08','field had excellent moisture','',2014),(136,56,13,15,'2014-04-19 10:36:11','2014-10-21','added more seed after drop 1. added two more bags the next morning','',2014),(138,62,12,4,'2014-04-21 16:33:28','2014-10-22','#3\r\nE 40.54195 - -104.86041\r\nthis variety of corn Good','40.54200 To 40.54173',2014),(150,62,2,0,'2014-04-23 14:05:36','2014-12-31','5th','-104.914052',2014),(140,60,12,12,'2014-04-21 08:18:37','2014-11-01','#1\r\nStart variety parallel north cement ditch.\r\ngps readings east of field or on gated pipe road.','40.54508 To 40.54323',2014),(142,59,2,0,'2014-04-23 14:06:36','2014-12-31','6th','-104.913938',2014),(143,56,8,8,'2014-04-23 19:22:23','2014-12-31','1. double delicious\r\n2. Goto have it.\r\n3. Thats delicious\r\n4. Miracle\r\n5. Ambrosia\r\n6. Rr from triumph\r\n\r\nPlant bottom totop','',2014),(144,58,6,5,'2014-04-25 07:56:37','2014-12-31','P0231 planted to the variety to the south\r\nproximity to the new white shed.','40.54817 -104.91415',2014),(146,57,2,0,'2014-04-23 14:02:36','2014-12-31','2nd','-104.914370',2014),(147,58,2,0,'2014-04-23 14:01:36','2014-12-31','1st variety','-104.914469\r\n40.552497 Start Latitude North Side',2014),(148,61,12,6,'2014-04-22 06:01:01','2014-10-22','#4\r\nthis variety is good\r\ntwo Rounds North Of The Pivot Tower','40.54173 to 40.54122\r\n',2014),(149,59,12,12,'2014-04-21 13:30:24','2014-10-30','#2\r\nrows run east and west','40.54323 To 40.54200 End',2014),(151,58,12,21,'2014-04-22 14:42:39','2014-10-22','#5','40.54122 To 40.53938',2014),(152,60,2,0,'2014-04-23 14:04:36','2014-12-31','4th','-104.914160',2014),(153,56,2,0,'2014-04-23 14:03:36','2014-11-01','3rd','-104.914273',2014),(154,64,1,4,'2014-04-07 06:01:01','2014-12-31','ROUNDUP READY alfalfa.\r\n\r\nThe right hand side planted heavier then west','',2014),(156,63,12,7,'2014-04-23 12:09:30','2014-10-22','#6\r\ntwo rounds south of the telephone pole by the crossing.','40.53938 To 40.53871',2014),(157,59,12,6,'2014-04-23 13:17:44','2014-10-22','#7\r\nSouth of 2nd telepole and finished field to south lane\r\nThis variety fails hail','40.53871 To 40.53800',2014),(158,57,8,12,'2014-04-24 12:13:57','2014-12-31','Short rows by shed','',2014),(159,65,2,1,'2014-04-23 16:01:01','2014-12-31','8th','-104.913740',2014),(160,66,2,1,'2014-04-23 16:50:30','2014-12-31','9th','-104.913631',2014),(161,67,2,1,'2014-04-23 16:51:12','2014-12-31','10th','-104.913513',2014),(162,68,2,1,'2014-04-23 16:52:47','2014-12-31','11th','-104.913398',2014),(163,69,2,1,'2014-04-23 16:53:57','2014-12-31','12th','-104.913280\r\n40.552497 end latitude north side',2014),(164,70,13,15,'2015-04-25 11:08:48','2015-12-31','Estimated 22% 10/27','',2015),(165,70,8,9,'2015-05-01 09:05:19','2015-12-31','Estimated',' ',2015),(166,70,7,8,'2015-05-01 09:15:37','2015-12-31','Estimated\r\n24% 11/2','',2015),(167,72,19,30,'2015-04-29 12:04:17','2015-12-31','North pivot circle 28%\r\n11 first fill, 12 2nd dill','40.54162 S End',2015),(168,71,9,2,'2015-04-07 08:10:31','2015-12-31','Bottom of the pivot circle','',2015),(169,71,12,9,'2015-04-30 05:51:30','2015-12-31','South of the pivot circle','',2015),(170,74,12,5,'2015-04-30 09:59:46','2015-12-31','2ND South of the pivot circle 18% 10/28','40.54008 N End',2015),(171,76,6,4,'2015-05-02 09:15:09','2015-12-31','Switch at white shed grain tank','',2015),(172,75,12,21,'2015-04-30 11:42:06','2015-12-31','3rd from south 19.5% 10/28','Cement Ditch Crossing Start',2015),(173,70,20,8,'2015-05-01 07:35:45','2015-12-31','9067 to east\r\n17% 11/2','104.91045 Variety Started',2015),(174,72,15,3,'2015-04-29 19:00:36','2015-12-31','North pivot circle','40.54097 S End',2015),(175,76,2,1,'2015-05-02 07:32:32','2015-12-31','1st variety in plot. 2 rounds','',2015),(176,76,2,1,'2015-05-02 20:10:49','2015-12-31','1st Variety',' ',2015),(177,71,2,1,'2015-05-02 20:12:18','2015-12-31','2nd Variety',' ',2015),(178,70,2,0,'2015-05-02 20:13:17','2015-12-31','3rd Variety',' ',2015),(179,77,2,1,'2015-05-02 20:21:24','2015-12-31','4th Variety',' ',2015),(180,75,2,1,'2015-05-02 20:22:33','2015-12-31','5th Variety',' ',2015),(181,78,2,1,'2015-05-02 20:23:14','2015-12-31','6th Variety',' ',2015),(182,79,2,1,'2015-05-02 20:23:42','2015-12-31','7th Variety',' ',2015),(183,72,2,1,'2015-05-02 20:24:34','2015-12-31','8th Variety. whole bag put in. Made 3 round before variety mixing occurs.','Steel Fence Post Between Variety 7 & 8',2015),(184,81,21,6,'2016-04-25 08:39:39','2016-10-24','A. Large seed planted first','',2016),(186,81,7,6,'2016-05-04 16:52:05','2016-11-08','Filled actually in sheep field','',2016),(187,82,5,5,'2016-05-04 10:18:42','2016-11-05','End variety by ditch gate opening west of first big drop. Start Dekalb here.','',2016),(188,83,19,14,'2016-04-26 16:20:55','2016-10-24','C. South p9789AMXT North DK52-04\r\nRain Monday Night dried by 4pm Tuesday because of wind 50 degree temp\r\nswitch varieties at road sign at the end of the big cement ditch\r\n6 BAGS added on Tuesday 6:30pm\r\n6 bags Wednesday 7am\r\nWent to Severance06 after reaching the pivot tower to allow pivot to move back west.\r\n\r\nCHANGED 20 TO 14 BAGS. ADDED 6 TO SEV06','',2016),(189,81,19,10,'2016-04-25 13:35:55','2016-10-28','B. Started planning in the NW corner. Planted some north rows then finished NE corner after pivot moved far enough. Temperature warm &0 degree mostly cloudy in afternoon.','',2016),(190,82,12,18,'2016-04-27 14:50:21','2016-11-03','End of sev06 also 7 rounds from circle. start after pivot tower.\r\n6 bags Wednesday 6pm','',2016),(191,83,6,5,'2016-05-05 08:38:23','2016-11-08','Same Variety in HP Southwest. Ron bakel delivered us 10 more bags of the pioneer 9789 am XT','',2016),(194,83,15,6,'2016-04-27 13:52:02','2016-10-24','C1. Added one bag of 9811 on top Triumph\r\nMoisture range between 14% And 15 and a half percent on 10/26/16','',2016),(195,85,13,6,'2016-04-11 06:45:33','2016-10-07','Planted at 13 lb. per acre','',2016),(196,81,19,6,'2016-04-26 16:20:14','2016-10-28','B1. DeKalb has 2 seed sizes. Started with large seed first\r\nSeeds size switch\r\n\r\ncHANGED COUNT FROM 7 TO 6','',2016),(197,86,12,9,'2016-04-28 14:18:21','2016-11-03','D. P0157 North 2nd pole (just south of crossing).Robseed south of telephone pole near the old crossing\r\nEnd of sev06 also 7 rounds from circle. start after pivot tower.\r\n9 bags thursday 8 a.m','',2016),(198,81,5,12,'2016-05-04 10:18:59','2016-11-05','Start variety by ditch gate opening west of first big drop. End pioneer here.','',2016),(199,83,7,5,'2016-05-04 16:52:59','2016-11-08','Dekalb south pioneer north. Looking east variety switches 2 round north of 2nd telephone pole at 1/3 of field done','',2016),(200,83,2,1,'2016-05-05 12:38:18','2016-11-09','v1','',2016),(201,82,2,0,'2016-05-05 12:48:18','2016-11-09','V2','',2016),(202,86,2,1,'2016-05-05 12:53:18','2016-11-09','V3','',2016),(203,81,2,0,'2016-05-05 12:58:18','2016-11-09','V4','',2016),(204,88,2,1,'2016-05-05 13:03:18','2016-11-09','V5','',2016),(205,89,2,1,'2016-05-05 13:09:18','2016-11-09','V6','',2016),(206,87,2,1,'2016-05-05 13:19:18','2016-11-09','V7\r\nPlanted the whole bag. Added the last 2 pioneer varieties on top. Planted them then added the robs seed on top then cleaned up remaining plot seed until done.','',2016),(207,0,21,4,'2017-03-23 06:01:01','2017-12-31','Extremely dry seed bed. Rained on 3/27/2017 and 3/31/17','',2017),(208,103,2,1,'2017-05-01 19:01:24','2017-12-01','variety 1',' ',2017),(209,92,2,1,'2017-05-04 14:06:20','2017-12-31','variety 6',' ',2017),(210,94,2,1,'2017-05-04 14:01:09','2017-12-31','variety 1 \r\nAfter completing the Heckman field at the top we went to the north side and started planting on the north side of the farm toward the east then we ended up having two and a half rounds on the North side to Mark the beginning of our plot.','',2017),(211,95,2,1,'2017-05-01 20:18:11','2017-12-31','variety 4',' ',2017),(212,96,2,1,'2017-05-01 20:18:31','2017-12-31','variety 5',' ',2017),(213,97,2,1,'2017-05-01 20:18:54','2017-12-31','variety 6',' ',2017),(214,98,2,1,'2017-05-01 20:19:33','2017-12-31','variety 7',' ',2017),(215,99,2,1,'2017-05-01 20:20:02','2017-12-31','variety 8',' ',2017),(216,91,2,1,'2017-05-04 14:04:27','2017-12-31','variety 4','',2017),(217,102,2,1,'2017-05-01 20:21:14','2017-12-31','variety 10',' ',2017),(218,103,2,1,'2017-05-04 14:03:01','2017-12-31','Variety 3\r\nVariety started at the curve of the creek.\r\n9 bag and plot seed',' ',2017),(219,91,19,18,'2017-04-25 06:01:01','2017-12-31','START SEVERANCE NORTH SIDE. We planted the bottom and the northwest corner by the modular house for the same variety.\r\n\r\nFirst fill on April 20th','104.86\r\n40.54\r\nTo\r\n104.86071\r\n40.54300',2017),(220,94,12,2,'2017-03-31 20:24:58','2017-12-31','START SEVERANCE NORTH SIDE','104.86\r\n40.54\r\nTo\r\n 104.86\r\n40.54',2017),(221,106,2,1,'2017-05-04 14:02:01','2017-12-31','Variety number 2','',2017),(222,91,7,15,'2017-05-05 06:01:01','2017-12-31','START NORTH SIDE',' ',2017),(223,94,15,9,'2017-04-28 06:01:01','2017-12-31','One bag of seed was planted to finish the field in the pivot field on the southwest corner','',2017),(224,103,19,24,'2017-04-26 06:01:01','2017-12-31','10 bags 1pm 6 bags 3pm, 8 bags 4/27\r\nThis variety of corn is surrounding the pivot tower so there will be DeKalb on both sides.','104.86071\r\n40.54300\r\n To\r\n104.86\r\n40.54',2017),(225,91,12,18,'2017-04-27 06:01:01','2017-12-31','Set the population back to the way it really was to a lower population.','104.86052\r\n40.54057\r\nTo\r\n104.86071\r\n40.54300',2017),(226,94,4,2,'2017-04-04 22:09:00','2017-12-31','START FROM NORTH SIDE','',2017),(227,94,12,1,'2017-04-28 18:03:16','2017-12-31','One bag of seed was planted to finish the field in the pivot field on the southwest corner','',2017),(228,94,1,8,'2017-05-02 12:44:24','2017-12-31','We filled the corn plan with those 6 bags approximately in the middle of that 14 acre field','',2017),(229,103,5,23,'2017-05-05 09:33:54','2017-12-31','Added at pivot tower \r\n8.75 bags dekalb\r\nI am guessing that we put some in a little later closer to the hay shed','',2017),(230,105,2,1,'2017-05-04 14:05:42','2017-12-31',' Variety 5',' ',2017),(231,109,14,14,'2018-04-26 16:09:40','2018-12-31','We were experimenting with this new planter 12-row first year and we had might have a few skip spots just because we didn\'t know what we were doing. We actually planted this over the course of 3 days actually started on the 23rd but we had to get a singular later and he also had to push a pressure valve on our planter to get it to work properly','',2018),(232,109,11,22,'2018-04-26 16:39:48','2018-12-31','We were experimenting with this new planter 12-row first year and we had might have a few skip spots just because we didn\'t know what we were doing. We actually planted this over the course of 3 days actually started on the 23rd but we had to get a singular later and he also had to push a pressure valve on our planter to get it to work properly','',2018),(233,111,19,24,'2018-04-27 12:39:21','2018-12-31','This variety starts just to the south of the wood Builders shed about where the outlet of the pipe comes out for the PVC pipe','40.5 42449 \r\n-104.86 0 5 5 2',2018),(234,110,12,25,'2018-04-28 05:43:51','2018-12-31','','Lat 40.539465 Long -104.869639',2018),(235,109,8,12,'2018-04-28 16:25:05','2018-12-31','','Lat 40.546393 Dekalb',2018),(236,112,1,12,'2018-04-29 16:06:39','2018-12-31','','',2018),(237,115,8,12,'2019-04-25 06:01:01','2019-12-31','Finish up with this variety at sev and mod field','40.546667 End Poiner South',2019),(238,116,15,24,'2019-04-24 06:01:01','2019-12-31','Finish sev08 Include the bottom part of the east circle sevPiv06. Start north side if anything left\r\n\r\nAfter planting fill with DK46-36','Start 40.532501 In Sev08',2019),(239,117,12,36,'2019-04-25 06:01:01','2019-12-31','Try finishing up south side with Dekalb\r\nEdit 12 bags in the morning and added 12 more bags here about 11 a.m. there are two rounds of 9978 here to finish up the field','40.533581 End P9998\r\nStart 40 543768 Dk43-56',2019),(240,118,1,24,'2019-04-26 06:01:01','2019-12-31','Population + 33000 at start. Starting point was near the wear the long roads in the short rows meet with the old cheap grills rat\r\nSwitch population to 35000 at 40.551563','',2019),(241,117,1,12,'2019-04-27 03:26:33','2019-12-31','Try finishing up south side with Dekalb and go to HP','',2019),(242,114,14,8,'2019-04-23 06:01:01','2019-12-31','This corn variety seems to have an extremely good emergency. The plants are an inch tall almost and the other Pioneer 99 AMX T is just coming through the soil right now and they were basically planning the same date\r\n\r\n\r\nFill up with P9998AMXT after planting','40.532419 End',2019),(243,119,19,12,'2020-04-27 16:51:01','2020-12-31','Next to pioneer 9998AMXT plant N to S','-104.867455, 40.543933 33000\r\n\r\n-104.860810, 40.542707 35000',2020),(244,120,15,4,'2020-04-28 10:01:01','2020-12-31','Continued from sevpivSW. Some used to finish pivot field went until 3 rounds from pasture corne.','',2020),(245,120,12,6,'2020-04-04 22:17:14','2020-12-31','South of channel variety','',2020),(246,122,14,12,'2020-04-27 06:01:01','2020-12-31','Planted up to long rows S to N. Skipped 8 rounds for hemp, sweet corn and garden.\r\n\r\nThis variety has good germination','',2020),(247,120,12,26,'2020-04-28 06:01:01','2020-12-31','Kept population 35000. Next to Channel plant N to S started North of pivot tower. DeKalb on both sides of tower. Switch 33000 at the tower','',2020),(248,122,19,12,'2020-04-27 16:01:01','2020-12-31','Moved from sev08. Started along 76.5. Planted east curve with this variety.','',2020),(249,119,5,12,'2020-04-29 06:01:01','2020-12-31','Started by long rows north of pivot tower \r\n\r\n33000','-104.909128, 40.548959',2020),(250,123,1,12,'2020-04-29 14:23:36','2020-12-31','Near pivot tower planting north\r\n\r\nField plot south','-104.909403 , 40.550440',2020),(251,121,8,11,'2020-04-29 06:01:01','2020-12-31','Came from sev06','',2020),(252,121,15,1,'2020-04-28 20:09:55','2020-12-31','Both sides of hemp set aside','',2020),(253,125,9,24,'2021-04-30 10:07:56','2021-12-31','Plant east curve also','',2021),(254,124,9,19,'2021-04-30 16:07:44','2021-12-31','Midway between s road and pivot tower. South of channel','-104.863406\r\n40.540480',2021),(255,124,12,6,'2021-05-01 07:00:46','2021-12-31','Midway between s road and pivot tower. South of channel','-104.863406\r\n40.540480',2021),(256,126,15,7,'2021-05-01 10:51:48','2021-12-31','1st field moved then to 08','-104.862223\r\n40.538332',2021),(257,126,14,17,'2021-05-01 11:54:16','2021-12-31','Finished 08','',2021),(258,124,15,4,'2021-05-18 09:50:25','2021-12-31','beginning of field switch to channel at cord','',2021); /*!40000 ALTER TABLE `inventory` ENABLE KEYS */; UNLOCK TABLES; -- -- Table structure for table `iphistory` -- DROP TABLE IF EXISTS `iphistory`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `iphistory` ( `historyid` mediumint(9) NOT NULL AUTO_INCREMENT, `date` date NOT NULL, `ipaddress` varchar(19) NOT NULL, `counter` smallint(6) NOT NULL, `blocking` tinyint(4) NOT NULL, PRIMARY KEY (`historyid`) ) ENGINE=MyISAM AUTO_INCREMENT=43 DEFAULT CHARSET=latin1; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Dumping data for table `iphistory` -- LOCK TABLES `iphistory` WRITE; /*!40000 ALTER TABLE `iphistory` DISABLE KEYS */; INSERT INTO `iphistory` VALUES (1,'2009-04-13','208.73.252.147',1,2),(2,'2010-11-01','76.76.65.132',19,0),(3,'2010-01-19','208.68.49.115',2,0),(4,'2010-02-05','209.183.51.44',1,0),(5,'2010-02-08','174.132.127.186',2,0),(6,'2010-03-14','174.132.58.186',2,0),(7,'2010-05-18','174.132.94.170',1,0),(8,'2010-05-19','174.132.94.178',1,0),(9,'2010-05-21','174.132.94.18',1,0),(10,'2010-05-22','174.132.94.10',2,0),(11,'2010-05-24','174.132.35.202',2,0),(12,'2010-06-03','174.132.64.106',3,0),(13,'2010-07-19','174.132.58.250',2,0),(14,'2010-12-10','74.54.240.58',3,0),(15,'2010-07-13','174.132.18.66',1,0),(16,'2010-08-14','174.132.66.114',2,0),(17,'2010-11-07','174.132.97.130',1,0),(18,'2011-06-13','76.76.85.235',8,0),(19,'2010-12-05','71.218.41.209',1,0),(20,'2011-04-14','166.205.8.250',1,0),(21,'2011-04-27','184.99.204.10',2,0),(22,'2011-04-27','166.205.11.144',1,0),(23,'2011-04-28','166.205.9.72',1,0),(24,'2011-04-29','166.205.11.184',2,0),(25,'2011-04-29','166.205.10.194',2,0),(26,'2011-04-30','166.205.9.215',1,0),(27,'2011-05-01','166.205.10.212',1,0),(28,'2011-05-02','166.205.11.5',1,0),(29,'2011-05-03','166.205.8.116',1,0),(30,'2011-05-05','166.205.11.22',1,0),(31,'2011-06-02','166.205.8.110',2,0),(32,'2011-06-04','166.205.11.134',1,0),(33,'2011-06-06','166.205.11.124',1,0),(34,'2011-06-07','166.205.11.227',1,0),(35,'2011-06-08','166.205.10.27',3,0),(36,'2011-11-21','166.205.140.144',1,0),(37,'2011-11-22','166.205.142.68',1,0),(38,'2011-11-28','198.22.122.158',1,0),(39,'2011-11-28','198.22.122.123',1,0),(40,'2011-12-21','75.196.192.9',3,0),(41,'2011-12-24','71.218.40.124',1,0),(42,'2012-04-23','76.76.69.184',1,0); /*!40000 ALTER TABLE `iphistory` ENABLE KEYS */; UNLOCK TABLES; -- -- Table structure for table `map` -- DROP TABLE IF EXISTS `map`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `map` ( `mapid` mediumint(9) NOT NULL AUTO_INCREMENT, `farmid` smallint(6) NOT NULL, `field_name` varchar(30) NOT NULL, `acres` decimal(5,1) NOT NULL, `img` varchar(10) NOT NULL, `diagram` varchar(12) NOT NULL, `diagramS` varchar(12) NOT NULL, `archive` tinyint(4) NOT NULL, `mix` varchar(100) NOT NULL, `left_column` varchar(255) NOT NULL, `history` varchar(255) NOT NULL, `soil_test_year` smallint(6) NOT NULL, `notes` text NOT NULL, `budget` mediumint(9) NOT NULL, `gps` varchar(255) NOT NULL, `crop` varchar(25) NOT NULL, `active` tinyint(4) NOT NULL, PRIMARY KEY (`mapid`), KEY `field_name` (`field_name`) ) ENGINE=MyISAM AUTO_INCREMENT=23 DEFAULT CHARSET=latin1; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Dumping data for table `map` -- LOCK TABLES `map` WRITE; /*!40000 ALTER TABLE `map` DISABLE KEYS */; INSERT INTO `map` VALUES (1,2,'hpPivNW',65.0,'1.jpg','1.jpg','1.jpg',0,'n,0,p,70,k,50,s,0,z,0,mn,0,cu,0,bo,0,fe,0,mg,0,gy,0,es,0','2022 fall application \r\nN 0\r\nP 70\r\nK 50\r\n\r\n\r\n

    SPREAD EAST AND WEST

    ','2017 whole corn\r\n\r\n2014\r\nNEW ALFALFA\r\n2014 roundup ready alfalfa\r\n\r\n2010 1st corn',2021,'\r\n|`N `P2O5 `K2O `Mg `S `Zn `Mn `Fe `Cu `B `code\r\n|`175 `105 `65 `-- `-- `3.5 `6.7 `-- `1.3 `0.0`HPHeckRidge 11/22/21\r\n|`135 `110 `65 `-- `-- `2.4 `6.1 `-- `1.1 `0.9`HP pIVOT WEST THEN NORTH 2/2/21\r\n|`100 `30 `35 `-- `-- `-- `5.6 `-- `-- `-- `HPcattle 1/7/2020\r\n|`205 `55 `100 `-- `-- `-- `6.1 `-- `0.7 `0.5 `hpnorth 2014\r\n
    \r\n\r\n===================FERTILIZER========================\r\n
    2022 fall application \r\nN 0\r\nP 70\r\nK 50\r\n\r\n\r\n

    SPREAD EAST AND WEST

    Merged 2025-01-01

    2022 fall application \r\nN 0\r\nP 70\r\nK 50\r\n\r\n\r\n

    SPREAD EAST AND WEST

    Merged 2024-10-26

    2022 fall application \r\nN 0\r\nP 70\r\nK 50\r\n\r\n\r\n

    SPREAD EAST AND WEST

    Merged 2024-10-25

    2022 fall application \r\nN 0\r\nP 70\r\nK 50\r\n\r\n\r\n

    SPREAD EAST AND WEST

    Merged 2024-02-10

    2022\r\nN 170\r\nP 90\r\nK 50\r\nS 10\r\nMn 0\r\nCU 1\r\nBO 0.0\r\n\r\n

    SPREAD EAST AND WEST

    Merged 2022-11-09

    SOIL TEST WEST OF PIVOT TOWER

    \r\n\r\n2021\r\nN 125\r\nP 70\r\nK 40\r\nSu 10\r\nMn 6\r\nCU 1\r\nBO 0.5\r\n\r\nxx/xx/xx

    SOIL TEST WEST OF PIVOT TOWER

    \r\n\r\n2021\r\nN 125\r\nP 70\r\nK 40\r\nSu 10\r\nMn 6\r\nCU 1\r\nBO 0.5\r\n\r\nxx/xx/xx

    SOIL TEST WEST OF PIVOT TOWER

    \r\n\r\n2021\r\nN 125\r\nP 70\r\nK 40\r\nSu 10\r\nMn 6\r\nCU 1\r\nBO 0.5\r\n\r\nxx/xx/xx

    SOIL TEST WEST OF PIVOT TOWER

    \r\n\r\n2021\r\nN 125\r\nP 70\r\nK 40\r\nSu 10\r\nMn 6\r\nCU 1\r\nBO 0.5\r\n\r\nxx/xx/xx

    SOIL TEST WEST OF PIVOT TOWER

    \r\n\r\n2021\r\nN 125\r\nP 70\r\nK 40\r\nSu 10\r\nMn 6\r\nCU 1\r\nBO 0.5\r\n\r\nxx/xx/xx

    SOIL TEST WEST OF PIVOT TOWER

    \r\n\r\n2021\r\nN 125\r\nP 70\r\nK 40\r\nSu 10\r\nMn 6\r\nCU 1\r\nBO 0.5\r\n\r\nxx/xx/xx

    SOIL TEST WEST OF PIVOT TOWER

    \r\n\r\n2021\r\nN 125\r\nP 70\r\nK 40\r\nSu 10\r\nMn 6\r\nCU 1\r\nBO 0.5\r\n\r\nxx/xx/xx\r\n2019\r\nN 155\r\nP 25\r\nK 40\r\nSu 0\r\nMn 7\r\n\r\n

    Run spreader truck East & West

    \r\n4/24/19\r\n\r\n\r\n2018\r\nN 150\r\nP 50\r\nK 80\r\nSu 0\r\nMn 7\r\n\r\n4/13/18 WINDY\r\n spread via pivot circle
    2022 fall application \r\nN 0\r\nP 70\r\nK 50\r\n\r\n\r\n

    SPREAD EAST AND WEST

    Merged 2025-01-01

    2022 fall application \r\nN 0\r\nP 70\r\nK 50\r\n\r\n\r\n

    SPREAD EAST AND WEST

    Merged 2024-10-26

    2022 fall application \r\nN 0\r\nP 70\r\nK 50\r\n\r\n\r\n

    SPREAD EAST AND WEST

    Merged 2024-10-25

    2022 fall application \r\nN 0\r\nP 70\r\nK 50\r\n\r\n\r\n

    SPREAD EAST AND WEST

    Merged 2024-02-10

    2022\r\nN 170\r\nP 90\r\nK 50\r\nS 10\r\nMn 0\r\nCU 1\r\nBO 0.0\r\n\r\n

    SPREAD EAST AND WEST

    Merged 2022-11-09

    SOIL TEST WEST OF PIVOT TOWER

    \r\n\r\n2021\r\nN 125\r\nP 70\r\nK 40\r\nSu 10\r\nMn 6\r\nCU 1\r\nBO 0.5\r\n\r\nxx/xx/xx

    Merged 2021-02-23

    SOIL TEST WEST OF PIVOT TOWER

    \r\n\r\n2021\r\nN 125\r\nP 70\r\nK 40\r\nSu 10\r\nMn 6\r\nCU 1\r\nBO 0.5\r\n\r\nxx/xx/xx

    SOIL TEST WEST OF PIVOT TOWER

    \r\n\r\n2021\r\nN 125\r\nP 70\r\nK 40\r\nSu 10\r\nMn 6\r\nCU 1\r\nBO 0.5\r\n\r\nxx/xx/xx

    SOIL TEST WEST OF PIVOT TOWER

    \r\n\r\n2021\r\nN 125\r\nP 70\r\nK 40\r\nSu 10\r\nMn 6\r\nCU 1\r\nBO 0.5\r\n\r\nxx/xx/xx

    SOIL TEST WEST OF PIVOT TOWER

    \r\n\r\n2021\r\nN 125\r\nP 70\r\nK 40\r\nSu 10\r\nMn 6\r\nCU 1\r\nBO 0.5\r\n\r\nxx/xx/xx

    SOIL TEST WEST OF PIVOT TOWER

    \r\n\r\n2021\r\nN 125\r\nP 70\r\nK 40\r\nSu 10\r\nMn 6\r\nCU 1\r\nBO 0.5\r\n\r\nxx/xx/xx

    SOIL TEST WEST OF PIVOT TOWER

    \r\n\r\n2021\r\nN 125\r\nP 70\r\nK 40\r\nSu 10\r\nMn 6\r\nCU 1\r\nBO 0.5\r\n\r\nxx/xx/xx

    SOIL TEST WEST OF PIVOT TOWER

    \r\n\r\n2021\r\nN 125\r\nP 70\r\nK 40\r\nSu 10\r\nMn 6\r\nCU 1\r\nBO 0.5\r\n\r\nxx/xx/xx2019-01-12 17:13:2\r\n\r\nACRES: 33.0 NW Corner\r\n\r\n2017\r\nN 100\r\nP 80\r\nK 80\r\nSu 0\r\nMn 6\r\n\r\nSpread on Alfalfa area only.\r\nThis field is fertilized.\r\nHPSNE on soil test\r\n\r\n2013\r\nN 140\r\nP 30\r\nK 10\r\nSu 10\r\nMn 4\r\n\r\n2012\r\nN 150\r\nP 30\r\nK 10\r\nSu 10\r\nMn 5\r\n\r\n2011\r\nN 140\r\nP 25\r\nK 10\r\nSu 10\r\nMn 5\r\n\r\nJan 26, 2010\r\n2010\r\nN 50\r\nP 60\r\nK 60\r\nSu 25\r\nMn 4\r\nZ 1',2600,'1105 ft x 1292 ft\r\nSW: -104.917420, 40.548680\r\nNE: -104.913429,40.552422\r\n\r\nNE: Entrance\r\n\r\nLatitude - Longitude:\r\n40.552448,-104.914885\r\n\r\nSouth Entrance\r\nLatitude - Longitude:\r\n40.547475,-104.917395','Alfalfa',0),(2,3,'hpNorth',0.0,'2.jpg','2.jpg','2.jpg',1,'n,150,p,20,k,20,s,0,z,0,mn,6,cu,0.5,bo,0.5,fe,0,mg,0,gy,0,es,0','','Corn plot field\r\n2009 LAST SOIL TEST',2015,'
    \r\n2017\r\nN 140\r\nP 50\r\nK 10\r\nMn 6\r\nCu 0.5\r\n\r\n2016\r\nN 180\r\nP 40\r\nK 10\r\nMn 6\r\n\r\n2015 APPLIED\r\nN 165\r\nP 50\r\nK 30\r\nMn 6\r\nCu 0.5\r\n\r\n2/19/15\r\n2014\r\nN 165\r\nP 50\r\nK 40\r\nMn 4\r\n3/17/14\r\n\r\nX/X/2012\r\nN P2O5 K2O Mg S Zn Mn Fe Cu B\r\n225 75 50 -- 7 -- 5.5 -- 0.9 --\r\n\r\nFERTILIZER MIX CALCULATED\r\nProduct LBS/ACRE POUNDS\r\n0-0-60 67 934\r\n11-52-0 97 1347\r\nManganese Sulfate 13 175\r\n46-0-0 336 4700\r\n\r\nESTIMATED COST LESS APPLICATION\r\nacres=14.0\r\nCost per Acre Total Cost\r\n$ 128.45 $ 1798.32\r\nMY VARIABLES\r\nNitrogen=165\r\nPhosphorous=50\r\nPotash=40\r\nSulfate=0\r\nZinc=0 Manganese=4\r\nCopper=0\r\nBoron=0\r\nIron=0\r\nMagnesium=0\r\nGypsum=0\r\nElemental Sulphur=0\r\n\r\n\r\n2013\r\nN 140\r\nP 50\r\nK 40\r\nMn 4\r\n\r\n2012\r\nN 170\r\nP 65\r\nK 40\r\nMn 4\r\nCu 1\r\n\r\n2011\r\nN 145\r\nP 45\r\nK 10\r\nMn 5\r\n3/3/11\r\n\r\n2010\r\nN 125\r\nP 60\r\nK 0\r\nMn 4',1807,'Latitude - Longitude:\r\n40.551274,-104.91364\r\n\r\nNorth West Entrance\r\nLatitude - Longitude:\r\n40.552448,-104.914885\r\n\r\nNorth East Entrance\r\nLatitude - Longitude:\r\n40.552448,-104.912524','CORN',0),(3,2,'hpPivNE',0.0,'3.jpg','3.jpg','3.jpg',1,'n,150,p,20,k,20,s,0,z,0,mn,6,cu,0.5,bo,0.5,fe,0,mg,0,gy,0,es,0','Spread on Alfalfa area only','Whole corn 2017\r\n\r\nAlfalfa 2015\r\n\r\nWheat 2014\r\nNo plant 2013\r\n1st corn 2011, Planted Alfalfa 4/1/2001',2019,'\r\n|`N `P2O5 `K2O `Mg `S `Zn `Mn `Fe `Cu `B`CODE\r\n|`140 `40 `--- `--- `--- `--- `6.3 `--- `--- `--`hp Lake hppivne 1/27/20\r\n|`10 `-- `-- ` -- ` `-- `5.6 `-- `-- `--`HPcenter 1/7/2020\r\n|`100 `30 `35 ` -- ` `-- `5.6 `-- `-- `--`HPcattle 1/7/2020\r\n
    \r\n
    Spread on Alfalfa area only

    Merged 2025-01-01

    Spread on Alfalfa area only

    Merged 2024-10-26

    Spread on Alfalfa area only

    Merged 2024-10-25

    Spread on Alfalfa area only

    Merged 2024-02-10

    Spread on Alfalfa area only

    Merged 2022-11-09

    Spread on Alfalfa area only

    Merged 2021-02-23

    Spread on Alfalfa area onlySpread on Alfalfa area onlySpread on Alfalfa area only\r\n\r\n2017\r\nN 40\r\nP 65\r\nK 65\r\nSu 0\r\nMn 6\r\n\r\n\r\nAcres 35\r\n\r\n2015 APPLIED\r\nP 40\r\nK 30\r\n\r\n3/20/15\r\n\r\n2012\r\nN 150\r\nP 65\r\nK 80\r\nSu 10\r\nMn 6\r\nCu 1 \r\n\r\n2011\r\nN 50\r\nP 60\r\nK 60\r\nSu 25\r\nMn 4\r\n3/5/2011',0,'1485 ft x 1292 ft= 44 acres\r\n- 1000 ft x 404 ft= -9 acres\r\n\r\nNorth West Entrance\r\nLat: 40� 33\' 8.82J\r\nLong: -104� 54\' 44.9676J\r\n\r\nNorth East Entrance\r\nLat: 40� 33\' 8.9208\r\nLong: -104� 54\' 35.2836','CORN',0),(4,2,'hpHill',4.0,'4.jpg','4.png','4.jpg',0,'n,220,p,100,k,90,s,0,z,0,mn,5,cu,0.5,bo,0,fe,0,mg,0,gy,0,es,0','2025\r\nN 220\r\nP 100\r\nK 90\r\nZ 2\r\nCu 0.5\r\nMn 5','Start corn 2017 end 2018\r\n\r\nAlfalfa 2019, 2013\r\n1st corn 2011, Planted Alfalfa 4/6/2019, 4/4/2003',2024,'\r\n|`N `P2O5 `K2O `Mg `S `Zn `Mn `Fe `Cu `B`code\r\n|`240` 105 `95 ` -- `--`2.2 `7.0`--- `0.9 `--`HP NE 11/12/2024\r\n|`155` 125 `90 ` -- `--`-- `6.1 `-- `0.9 `--`HPHILL 11/20/2018\r\n
    \r\n
    \r\n2024\r\nN 200\r\nP 30\r\nK 30

    Merged 2024-10-26

    \r\n10/24 Plowed east to W lower end up. Ripped N\r\n\r\n2023\r\nN 110\r\nP 70\r\nK 70

    Merged 2024-02-10

    Sprayed Herbicde twice july 5

    Merged 2022-11-09

    \r\n2019\r\nN 0\r\nP 60\r\nK 60\r\nSu 0\r\nZ 1\r\n4/3/19\r\n\r\n2018\r\nN 160\r\nP 50\r\nK 90\r\nSu 0\r\nMn 7\r\n\r\n4/13/18 WINDY\r\n
    2024\r\nN 200\r\nP 30\r\nK 30

    Merged 2025-01-01

    2024\r\nN 200\r\nP 30\r\nK 30

    Merged 2024-10-26

    2024\r\nN 200\r\nP 30\r\nK 30

    Merged 2024-10-25

    2023\r\nN 110\r\nP 70\r\nK 70

    Merged 2024-02-10

    Sprayed Herbicde twice july 5

    Merged 2022-11-09

    Sprayed Herbicde twice july 5

    Merged 2021-02-23

    Sprayed Herbicde twice july 5Sprayed Herbicde twice july 5Sprayed Herbicde twice july 5Sprayed Herbicde twice july 5Sprayed Herbicde twice july 5Sprayed Herbicde twice july 5Sprayed Herbicde twice july 5\r\nmimicked the hplake soiltest\r\n\r\n2017\r\nN 100\r\nP 90\r\nK 90\r\nSu 0\r\nMn 6\r\n\r\n2012\r\nN 140\r\nP 30\r\nK 10\r\nSu 10\r\nMn 5\r\n\r\n\r\n2012\r\nN 150\r\nP 60\r\nK 60\r\nSu 10\r\nMn 6\r\nCu 1\r\n\r\n2011\r\nN 50\r\nP 60\r\nK 60\r\nSu 25\r\nMn 4\r\n3/5/2011',0,'Lat: 40 33\' 6.177\r\nLong: -104� 54\' 30.9888\r\n\r\nNorth East Entrance\r\nLat: 40� 33\' 8.7984\r\nLong: -104� 54\' 29.7504\r\n\r\n392 ft for N gated pipe','CORN',1),(5,3,'hpCattle',0.0,'5.jpg','5.jpg','5.jpg',1,'n,150,p,20,k,20,s,0,z,0,mn,6,cu,0.5,bo,0.5,fe,0,mg,0,gy,0,es,0','Do the three locations on the home place','Planted alfalfa 4/10/2010\r\n\r\nField had lots of rain when it started. In fact we were wondering if some of the seed may have washed away. Spring will tell of the stand',2017,'\r\n|`N `P2O5 `K2O `Mg `S `Zn `Mn `Fe `Cu `B`code\r\n|`65 `-- `-- ` -- ` `-- `5.8 `-- `0.8 `--`2/6/17\r\n
    \r\n
    Do the three locations on the home place

    Merged 2025-01-01

    Do the three locations on the home place

    Merged 2024-10-26

    Do the three locations on the home place

    Merged 2024-10-25

    Do the three locations on the home place

    Merged 2024-02-10

    Do the three locations on the home place

    Merged 2022-11-09

    \r\n\r\n2017 2019\r\nN 125 160\r\nP 30 30\r\nK 20 20\r\nMn 5 6\r\n\r\nAlfalfa planted 4/10/2010\r\n\r\n2016 \r\nN 175\r\nP 30\r\nK 30\r\nMn 5\r\n3/1/16\r\n\r\n2015 aPPLIED\r\nN 50\r\nP 70\r\nK 70\r\n\r\nAlfalfa \r\nN 0\r\nP 30\r\nK 30\r\nMn 0',3084,'Lat: 40� 32\' 55.2582\r\nLong: -104� 54\' 43.7358\r\n\r\nSE entrance\r\nLat: 40� 32\' 50.5062\r\nLong: -104� 54\' 35.8554','CORN',0),(6,3,'hpTopMid',0.0,'6.jpg','6.jpg','6.jpg',1,'n,150,p,20,k,20,s,0,z,0,mn,6,cu,0.5,bo,0.5,fe,0,mg,0,gy,0,es,0','CAUCA','sweet corn N in 2013',2017,'\r\n|`N `P2O5 `K2O `Mg `S `Zn `Mn `Fe `Cu `B`code\r\n|`160 `60 `-- ` -- ` -- `-- `6.5 `-- `0.8 `--`2/6/17\r\n
    \r\n
    CAUCA

    Merged 2025-01-01

    CAUCA

    Merged 2024-10-26

    CAUCA

    Merged 2024-10-25

    CAUCA

    Merged 2024-02-10

    CAUCA

    Merged 2022-11-09

    CAUCA

    Merged 2021-02-23

    \r\n2017\r\nN 140\r\nP 50\r\nK 10\r\nMn 6\r\nCu 0.5\r\n\r\n2016 APPLIED\r\nN 175\r\nP 30\r\nK 10\r\nMn 6\r\n\r\n2015 APPLIED\r\nN 165\r\nP 50\r\nK 30\r\nMn 6\r\nCu 0.5\r\n\r\n2/19/15\r\n\r\nspread this field first\r\n2014\r\nN 155\r\nP 20\r\nK 40\r\nMn 5\r\n\r\nX/X/2012\r\nN P2O5 K2O Mg S Zn Mn Fe Cu B\r\n235 30 55 -- -- -- 5.5 -- -- --\r\n\r\nFERTILIZER MIX CALCULATED\r\nProduct LBS/ACRE POUNDS\r\n0-0-60 67 1000\r\n11-52-0 39 577\r\nManganese Sulfate 16 235\r\n46-0-0 328 4917\r\n\r\nESTIMATED COST LESS APPLICATION\r\nacres=15.0\r\nCost per Acre Total Cost\r\n$ 114.61 $ 1719.17\r\nMY VARIABLES\r\nNitrogen=155\r\nPhosphorous=20\r\nPotash=40\r\nSulfate=0\r\nZinc=0 Manganese=5\r\nCopper=0\r\nBoron=0\r\nIron=0\r\nMagnesium=0\r\nGypsum=0\r\nElemental Sulphur=0\r\n\r\n\r\n\r\n2013\r\nN 150\r\nP 20\r\nK 45\r\nMn 4\r\n\r\n2012\r\nN 150\r\nP 40\r\nK 30\r\nMn 5\r\nZ 0.5\r\nCu 1\r\n2011\r\nN 145\r\nP 60\r\nK 30\r\nMn 5\r\nZ 0.5\r\n3/3/11\r\n\r\n2010\r\nN 125\r\nP 40\r\nK 0\r\nMn 5',1825,'Lat: 40� 32\' 54.7182\r\nLong: -104� 54\' 55.5294\r\n\r\nSouth West Entrance\r\nLat: 40� 32\' 50.4312\r\nLong: -104� 54\' 49.737','CORN',0),(7,2,'hpSWest',34.7,'7.jpg','7.png','7.jpg',0,'n,220,p,70,k,70,s,0,z,2,mn,0,cu,1.0,bo,0.5,fe,0,mg,6,gy,0,es,0','2025 spring Application\r\nN 220\r\nP 70\r\nK 70\r\nMn 4\r\nZ 2.0\r\nCU 1.0\r\nB 0.5','2017\r\n1326.4591642979658feet 1112.4179071865917feet\r\nsweet corn N in 2012\r\n 2009 LAST SOIL TEST',2024,'\r\n|`N `P2O5`K2O`Mg-`S `Zn `Mn `Fe `Cu `B `code\r\n|`260 `70 `70 `-- `-- `2.2` 6.3`0.0`1.3`060 `230bu 11/12/24\r\n
    FERTILIZER DATA HERE\r\n\r\n\r\n
    \r\n2024 spring Application\r\nN 75\r\nP 70\r\nK 60\r\nMn 0\r\n\r\n2022 Fall Application\r\nN 0\r\nP 70\r\nK 50\r\nMn 0\r\n\r\n

    Spread Follow pivot tracks\r\n\r\n2020\r\nN 0\r\nP 60\r\nK 60\r\nMn 0\r\n\r\n11/1/20 fall application \r\n\r\n2017\r\nN 130\r\nP 30\r\nK 10\r\nMn 5\r\n\r\n2016\r\nN 175\r\nP 30\r\nK 20\r\nMn 6\r\n\r\n2015\r\nN 170\r\nP 20\r\nK 20\r\nMn 6\r\n\r\n2014\r\nN 160\r\nP 20\r\nK 20\r\nMn 6\r\n\r\n2/24/2012\r\nN P2O5 K2O Mg S Zn Mn Fe Cu B\r\n225 -- -- -- -- -- 6.1 -- 0.9 --\r\n\r\n\r\n2013\r\nN 140\r\nP 20\r\nK 30\r\nMn 4\r\n\r\n2012\r\nN 170\r\nP 20\r\nK 15\r\nMn 6\r\nCu 1\r\n2011\r\nN 145\r\nP 25\r\nMn 5\r\n3/4/11\r\n\r\n2010\r\nN 125\r\nP 40\r\nK 0\r\nMn 5',2542,'1108 ft x 1309 \r\n\r\nSW: -104.915636, 40.546220\r\nNW: 40.54888 , -104.915636\r\nNE: 40.54888, -104.91344\r\nSE: 40.546220, -104.91344','CORN',1),(8,2,'hpSheep',35.5,'8.jpg','8.jpg','8.jpg',0,'n,190,p,20,k,20,s,0,z,0,mn,0,cu,0,bo,0,fe,0,mg,0,gy,0,es,0','2024\r\nN 190\r\nP 20\r\nK 20\r\nS 10\r\nMn 0\r\nCU 0\r\nBO 0.0\r\n\r\nSPREAD EAST & WEST up to alfalfa field','2017\r\narea 1300 ft x 1500 ft - 434ft x 660 ft (yard)\r\nHPHCC on soil test. sweet corn 2011\r\n\r\nExpanded 2007',2023,'\r\n|`N `P2O5 `K2O `Mg `S `Zn `Mn `Fe `Cu `B `CODE\r\n|`250 `--- `--- `-- `-- `-- `--- `-- `--- `-- `250bu 11/21/23\r\n|`195 `--- `--- `-- `-- `-- `6.7 `-- `1.1 `-- `HPPlot 11/22/21\r\n|`235 `--- `--- `-- `-- `-- `7.4 `-- `1.1 `-- `HPSEAST 11/22/21 GATED PIPE SECTION\r\n|`100 `30 `35 `-- `-- `-- `5.6 `-- `-- `-- `HPSHEEP 1/27/20\r\n|`10 `-- `-- `-- `-- `-- `5.6 `-- `-- `-- `Possible Error hpCenter 1/27/20\r\n|`180 `-- `-- ` -- `-- `-- `6.3 `-- `-- `-- `HPSHEEP 11/20/2018\r\n
    \r\n\r\nSub soiled 11/8/22\r\n\r\n
    2024\r\nN 190\r\nP 20\r\nK 20\r\nS 10\r\nMn 0\r\nCU 0\r\nBO 0.0\r\n\r\nSPREAD EAST & WEST up to alfalfa field

    Merged 2025-01-01

    2024\r\nN 170\r\nP 30\r\nK 30\r\nMn 0\r\nCU 1\r\nBO 0.0\r\n\r\nSPREAD EAST & WEST up to alfalfa field

    Merged 2024-02-10

    \r\n2022\r\nN 170\r\nP 20\r\nK 20\r\nMn 0\r\nCU 1\r\nBO 0.0\r\n\r\nSPREAD EAST & WEST up to alfalfa field

    Merged 2022-11-09

    \r\n\r\n2021\r\nN 125\r\nP 25\r\nK 30\r\nMn 6\r\nCU 0.5\r\nBO 0.5\r\n

    Run spreader truck East & West

    \r\nxx\r\n2020\r\nN 125\r\nP 40\r\nK 40\r\nMn 6\r\n

    Run spreader truck East & West

    \r\nxx\r\n\r\n2019\r\nN 155\r\nP 10\r\nK 0\r\nMn 6\r\n

    Run spreader truck East & West

    \r\n4/24/19\r\n\r\n2018\r\nN 130\r\nP 10\r\nK 0\r\nMn 6\r\n\r\n4/14/18 WINDY
    2024\r\nN 190\r\nP 20\r\nK 20\r\nS 10\r\nMn 0\r\nCU 0\r\nBO 0.0\r\n\r\nSPREAD EAST & WEST up to alfalfa field

    Merged 2025-01-01

    2024\r\nN 190\r\nP 20\r\nK 20\r\nS 10\r\nMn 0\r\nCU 0\r\nBO 0.0\r\n\r\nSPREAD EAST & WEST up to alfalfa field

    Merged 2024-10-26

    2024\r\nN 190\r\nP 20\r\nK 20\r\nS 10\r\nMn 0\r\nCU 0\r\nBO 0.0\r\n\r\nSPREAD EAST & WEST up to alfalfa field

    Merged 2024-10-25

    2023\r\nN 170\r\nP 30\r\nK 30\r\nMn 0\r\nCU 1\r\nBO 0.0\r\n\r\nSPREAD EAST & WEST up to alfalfa field

    Merged 2024-02-10

    2022\r\nN 170\r\nP 20\r\nK 20\r\nMn 0\r\nCU 1\r\nBO 0.0\r\n\r\nSPREAD EAST & WEST up to alfalfa field

    Merged 2022-11-09

    2021\r\nN 125\r\nP 25\r\nK 30\r\nMn 6\r\nCU 0.5\r\nBO 0.5\r\n

    Run spreader truck East & West

    \r\nxx

    Merged 2021-02-23

    2021\r\nN 125\r\nP 25\r\nK 30\r\nMn 6\r\nCU 0.5\r\nBO 0.5\r\n

    Run spreader truck East & West

    \r\nxx2021\r\nN 125\r\nP 25\r\nK 30\r\nMn 6\r\nCU 0.5\r\nBO 0.5\r\n

    Run spreader truck East & West

    \r\nxx2021\r\nN 125\r\nP 25\r\nK 30\r\nMn 6\r\nCU 0.5\r\nBO 0.5\r\n

    Run spreader truck East & West

    \r\nxx2021\r\nN 125\r\nP 25\r\nK 30\r\nMn 6\r\nCU 0.5\r\nBO 0.5\r\n

    Run spreader truck East & West

    \r\nxx2021\r\nN 125\r\nP 25\r\nK 30\r\nMn 6\r\nCU 0.5\r\nBO 0.5\r\n

    Run spreader truck East & West

    \r\nxx2021\r\nN 125\r\nP 25\r\nK 30\r\nMn 6\r\nCU 0.5\r\nBO 0.5\r\n

    Run spreader truck East & West

    \r\nxx2021\r\nN 125\r\nP 25\r\nK 30\r\nMn 6\r\nCU 0.5\r\nBO 0.5\r\n

    Run spreader truck East & West

    \r\nxx2019-01-12 17:13:28\r\n\r\nACRE: \r\n\r\n2017\r\nN 130\r\nP 30\r\nK 10\r\nMn 5\r\n\r\n2016\r\nN 175\r\nP 30\r\nK 10\r\nMn 5\r\n3/1/16\r\n\r\n2015\r\nN 170\r\nP 20\r\nK 20\r\nMn 6\r\n\r\n2014\r\nN 180\r\nP 20\r\nK 20\r\nMn 6\r\n\r\n2013\r\nN 140\r\nP 20\r\nK 30\r\nMn 4\r\n\r\n2012\r\nN 150\r\nP 40\r\nK 50\r\nMn 6\r\n2011\r\nN 120\r\nP 25\r\nK 50\r\nMn 6\r\n3/4/11\r\n\r\n2010\r\nN 125\r\nP 40\r\nK 0\r\nMn 5',2646,'shed - 104.909753, 40.547001\r\n\r\n40.546269,-104.910636\r\n\r\n40.547312,-104.909134','CORN',1),(9,1,'sevPivNE',33.0,'9.jpg','9.png','9.jpg',0,'n,185,p,20,k,20,s,0,z,0,mn,0,cu,0.,bo,0,fe,0,mg,0,gy,0,es,0','Mix 33 acres\r\n2024\r\nN 185\r\nP 20\r\nK 20\r\nMn 0\r\nCU 0.5\r\nBO 0.5\r\n\r\n

    SPREAD EAST AND WEST

    \r\n\r\n36 of 68','34 acres E-W rows\r\nunder pivot 2014',2023,' \r\n|`N `P2O5 `K2O `Mg `S `Zn `Mn `Fe `Cu `B `code\r\n|`205` 15 `---- ` -- `-- `--- `0 `-- `-- `---`11/21/2023 60225 250 bu\r\n|`220`---- `---- ` -- `-- `--- `6.1 `-- `-- `---`NE1/4pivot 11/20/2018\r\n|`155`---- `---- ` -- `-- `--- `6.1 `-- `0.7 `---`sev05 2014
    \r\n\r\n|`09271`NE1/4pivot`2.3L`42VH`116VH`13M`335VH`415VH`3289H`36`7.9`20.9`4.1`16.5`78.7`0.024`86`0-12`86`39VH`2.8M`4VL`23H`1.6H`1.1ML`0.6L`0.7
    \r\n
    Mix 33 acres\r\n2024\r\nN 185\r\nP 20\r\nK 20\r\nMn 0\r\nCU 0.5\r\nBO 0.5\r\n\r\n

    SPREAD EAST AND WEST

    \r\n\r\n36 of 68

    Merged 2025-01-01

    Mix 33 acres\r\n2024\r\nN 185\r\nP 20\r\nK 20\r\nMn 0\r\nCU 0.5\r\nBO 0.5\r\n\r\n

    SPREAD EAST AND WEST

    \r\n\r\n36 of 68

    Merged 2024-10-26

    Mix 33 acres\r\n2024\r\nN 185\r\nP 20\r\nK 20\r\nMn 0\r\nCU 0.5\r\nBO 0.5\r\n\r\n

    SPREAD EAST AND WEST

    \r\n\r\n36 of 68

    Merged 2024-10-25

    2023\r\nN 185\r\nP 20\r\nK 20\r\nMn 0\r\nCU 0.5\r\nBO 0.5\r\n\r\n

    SPREAD EAST AND WEST

    \r\n\r\n36 of 68

    Merged 2024-02-10

    2022\r\nN 175\r\nP 20\r\nK 20\r\nMn 0\r\nCU 0.5\r\nBO 0.5\r\n\r\n

    SPREAD EAST AND WEST

    \r\n\r\n36 of 68

    Merged 2022-11-09

    \r\n\r\n2021\r\nN 150\r\nP 20\r\nK 20\r\nMn 6\r\nCU 0.5\r\nBO 0.5\r\n\r\n36 of 682021\r\nN 150\r\nP 20\r\nK 20\r\nMn 6\r\nCU 0.5\r\nBO 0.5\r\n\r\n36 of 682021\r\nN 150\r\nP 20\r\nK 20\r\nMn 6\r\nCU 0.5\r\nBO 0.5\r\n\r\n36 of 682021\r\nN 150\r\nP 20\r\nK 20\r\nMn 6\r\nCU 0.5\r\nBO 0.5\r\n\r\n36 of 682021\r\nN 150\r\nP 20\r\nK 20\r\nMn 6\r\nCU 0.5\r\nBO 0.5\r\n\r\n36 of 682021\r\nN 150\r\nP 20\r\nK 20\r\nMn 6\r\nCU 0.5\r\nBO 0.5\r\n\r\n36 of 682021\r\nN 150\r\nP 20\r\nK 20\r\nMn 6\r\nCU 0.5\r\nBO 0.5\r\n\r\n36 of 68\r\n2020 linked NW\r\n2016 APPLIED\r\nSee PivNW for info\r\nLinked to NW\r\n\r\n2014\r\nN 30\r\nP 80\r\nK 80\r\nMn 5\r\n\r\nThur 3/20/2014 7:09 AM\r\n\r\nESTIMATED 15 ACRES BECUASE OF PIVOT\r\n\r\nFERTILIZER MIX CALCULATED\r\nProduct LBS/ACRE POUNDS\r\n0-0-60 134 2000 $640.00\r\n11-52-0 154 2308 $634.70\r\nElemental Sulfur 34 500 $147.50\r\nManganese Sulfate 19 282 $324.30\r\n46-0-0 29 427 $111.02\r\n\r\nESTIMATED COST LESS APPLICATION\r\nacres=15.0\r\nCost per Acre Total Cost\r\n$ 123.76 $ 1856.42\r\nMY VARIABLES\r\nNitrogen=30\r\nPhosphorous=80\r\nPotash=80\r\nSulfate=0\r\nZinc=0 Manganese=6\r\nCopper=0\r\nBoron=0\r\nIron=0\r\nMagnesium=0\r\nGypsum=0\r\nElemental Sulphur=30\r\n\r\nStart water line 40.542567, -104.860479\r\nend water line 40.533712, -104.858868\r\nwaste ditch crossing -104.85963265646527, 40.537915, ////-104.859797\r\nfence line at waste ditch 40.537937, -104.858699 259 feet to crossing',0,'NE corner of circle\r\n40.543229, -104.864974 SW 40.544126, -104.862667 CE','CORN',1),(11,1,'sevPivSE',69.0,'11.jpg','11.png','11.jpg',0,'n,200,p,30,k,25,s,0,z,0,mn,0,cu,0,bo,0,fe,0,mg,0,gy,0,es,0','use plowed field to make east border\r\n\r\n2024\r\nN 200\r\nP 30\r\nK 25\r\nS 10\r\nMn 0\r\nCU 0\r\nBO 0\r\n\r\n

    Run spreader truck East & West

    ','This quarter 28 acres. Corner removed to sev06\r\nMoved to SE corner of pivot',2024,'\r\n|`N `P2O5 `K2O `Mg `S `Zn `Mn `Fe `Cu `B `\r\n|`255 ` 20 `--`--`----`--`----`-----`----`----`11/21/2023 60226 250 bu\r\n|`175`--`--`--`--`--`6.8`--`1.1`0.6`PIVOT due south 2/5/21\r\n|`255 ` 60 ` 40 `-- `-- `1.6 `7.7 `-- `1.0 `-- `2SE 1/4P 12/6/17\r\n|`155 `45 `40 `-- `-- `-- `5.6 `-- `-- `--`SW1/4sev 1/27/20 SWcorner\r\n
    \r\n
    use plowed field to make east border\r\n\r\n2024\r\nN 200\r\nP 30\r\nK 25\r\nS 10\r\nMn 0\r\nCU 0\r\nBO 0\r\n\r\n

    Run spreader truck East & West

    Merged 2025-01-01

    use plowed field to make east border\r\n\r\n2024\r\nN 200\r\nP 30\r\nK 25\r\nS 10\r\nMn 0\r\nCU 0\r\nBO 0\r\n\r\n

    Run spreader truck East & West

    Merged 2024-10-26

    use plowed field to make east border\r\n\r\n2024\r\nN 200\r\nP 30\r\nK 25\r\nS 10\r\nMn 0\r\nCU 0\r\nBO 0\r\n\r\n

    Run spreader truck East & West

    Merged 2024-10-25

    use plowed field to make east border\r\n\r\n2023\r\nN 175\r\nP 25\r\nK 25\r\nMn 0\r\nCU 0\r\nBO 0\r\n\r\n

    Run spreader truck East & West

    Merged 2024-02-10

    Do SevE06 first to make border\r\n\r\n2022\r\nN 175\r\nP 20\r\nK 20\r\nMn 0\r\nCU 0\r\nBO 0\r\n\r\n

    Run spreader truck East & West

    \r\n

    Merged 2022-11-09

    2021\r\nN 155\r\nP 10\r\nK 10\r\nMn 6\r\nCU 1\r\nBO 0.5\r\n\r\n\r\n

    Run spreader truck East & West

    \r\nxx/xx/xx\r\n2020\r\nN 125\r\nP 40\r\nK 40\r\nMn 6\r\n\r\n2019\r\nN 155\r\nP 55\r\nK 40\r\nMn 6\r\nZn 1\r\n\r\n

    Run spreader truck East & West

    \r\n4/24/19\r\n\r\n2018\r\nN 150\r\nP 60\r\nK 40\r\nMn 6\r\nZn 2\r\n
    use plowed field to make east border\r\n\r\n2024\r\nN 200\r\nP 30\r\nK 25\r\nS 10\r\nMn 0\r\nCU 0\r\nBO 0\r\n\r\n

    Run spreader truck East & West

    Merged 2025-01-01

    use plowed field to make east border\r\n\r\n2024\r\nN 200\r\nP 30\r\nK 25\r\nS 10\r\nMn 0\r\nCU 0\r\nBO 0\r\n\r\n

    Run spreader truck East & West

    Merged 2024-10-26

    use plowed field to make east border\r\n\r\n2024\r\nN 200\r\nP 30\r\nK 25\r\nS 10\r\nMn 0\r\nCU 0\r\nBO 0\r\n\r\n

    Run spreader truck East & West

    Merged 2024-10-25

    use plowed field to make east border\r\n\r\n2023\r\nN 175\r\nP 25\r\nK 25\r\nMn 0\r\nCU 0\r\nBO 0\r\n\r\n

    Run spreader truck East & West

    Merged 2024-02-10

    Do SevE06 first to make border\r\n\r\n2022\r\nN 175\r\nP 20\r\nK 20\r\nMn 0\r\nCU 0\r\nBO 0\r\n\r\n

    Run spreader truck East & West

    \r\n

    Merged 2022-11-09

    2021\r\nN 155\r\nP 10\r\nK 10\r\nMn 6\r\nCU 1\r\nBO 0.5\r\n\r\n\r\n

    Run spreader truck East & West

    \r\nxx/xx/xx

    Merged 2021-02-23

    2021\r\nN 155\r\nP 10\r\nK 10\r\nMn 6\r\nCU 1\r\nBO 0.5\r\n\r\n\r\n

    Run spreader truck East & West

    \r\nxx/xx/xx2021\r\nN 155\r\nP 10\r\nK 10\r\nMn 6\r\nCU 1\r\nBO 0.5\r\n\r\n\r\n

    Run spreader truck East & West

    \r\nxx/xx/xx2021\r\nN 155\r\nP 10\r\nK 10\r\nMn 6\r\nCU 1\r\nBO 0.5\r\n\r\n\r\n

    Run spreader truck East & West

    \r\nxx/xx/xx2021\r\nN 155\r\nP 10\r\nK 10\r\nMn 6\r\nCU 1\r\nBO 0.5\r\n\r\n\r\n

    Run spreader truck East & West

    \r\nxx/xx/xx2021\r\nN 155\r\nP 10\r\nK 10\r\nMn 6\r\nCU 1\r\nBO 0.5\r\n\r\n\r\n

    Run spreader truck East & West

    \r\nxx/xx/xx2021\r\nN 155\r\nP 10\r\nK 10\r\nMn 6\r\nCU 1\r\nBO 0.5\r\n\r\n\r\n

    Run spreader truck East & West

    \r\nxx/xx/xx2021\r\nN 155\r\nP 10\r\nK 10\r\nMn 6\r\nCU 1\r\nBO 0.5\r\n\r\n\r\n

    Run spreader truck East & West

    \r\nxx/xx/xx2019-01-12 17:08:39\r\n35 acres for quarter.\r\n\r\n31.7 acres under pivot corner\r\n\r\n2015\r\nN 150\r\nP 35\r\nK 10\r\nMn 5\r\n\r\n2014\r\nN 160\r\nP 20\r\nK 40\r\nMn 5\r\nCu 1\r\nThur 3/20/2014 7:09 AM\r\n\r\n2013\r\nN 140\r\nP 20\r\nK 40\r\nMn 4\r\n\r\n2012\r\nN 150\r\nP 30\r\nK 60\r\nMn 5\r\nCu 1\r\n\r\n2011\r\nN 140\r\nP 30\r\nK 0\r\nMn 5\r\n4/25/11\r\n\r\n2010\r\nN 125\r\nP 35\r\nK 0\r\nMn 5',0,'','CORN',1),(12,1,'sevPivSW',0.0,'12.jpg','12.jpg','12.jpg',1,'n,150,p,20,k,20,s,0,z,0,mn,6,cu,0.5,bo,0.5,fe,0,mg,0,gy,0,es,0','

    SOIL TEST SOUTH OF PIVOT TOWER

    \r\n\r\nThere is only one field on Severance','This quarter 37 acres\r\n\r\n2016\r\nleach line cause the bottom field to be absorbed as part of this half floor spreading fertilizer. 75 acres in this section.\r\n\r\nSW corner of pivot\r\ngas line laid summer 2012 south end',2020,'\r\n|`N `P2O5 `K2O `Mg `S `Zn `Mn `Fe `Cu `B`code\r\n|`250 ` 0 ` 0 `--- `-- `-- `---- `---- `---- `----`NWWest 60224 250 bu\r\n|`255 ` 30 ` 0 `--- `-- `-- `---- `---- `---- `----`SWWest 60223 250 bu\r\n|`155 `45 `40 `-- `-- `-- `5.6 `-- `-- `--`SW1/4sev 1/27/20\r\n|`265`165 `100 ` -- ` `5.5 `7.7 `-- `1 `0.5`1SWEST1/4 12/6/17\r\n
    \r\n

    SOIL TEST SOUTH OF PIVOT TOWER

    \r\n\r\nThere is only one field on Severance

    Merged 2025-01-01

    SOIL TEST SOUTH OF PIVOT TOWER

    \r\n\r\nThere is only one field on Severance

    Merged 2024-10-26

    SOIL TEST SOUTH OF PIVOT TOWER

    \r\n\r\nThere is only one field on Severance

    Merged 2024-10-25

    SOIL TEST SOUTH OF PIVOT TOWER

    \r\n\r\nThere is only one field on Severance

    Merged 2024-02-10

    SOIL TEST SOUTH OF PIVOT TOWER

    \r\n\r\nThere is only one field on Severance

    Merged 2022-11-09

    SOIL TEST SOUTH OF PIVOT TOWER

    \r\n\r\nThere is only one field on Severance

    Merged 2021-02-23

    SOIL TEST SOUTH OF PIVOT TOWER

    \r\n\r\nThere is only one field on Severance

    SOIL TEST SOUTH OF PIVOT TOWER

    \r\n\r\nThere is only one field on Severance\r\nStart spreading dead furrow first.\r\n\r\nRemaining corn field from dead furrow north, cement ditch west, to fence line east and waste ditch south. \r\n\r\n2018\r\nN 155\r\nP 100\r\nK 90\r\nMn 6\r\nzinc 4\r\n2/14/17

    SOIL TEST SOUTH OF PIVOT TOWER

    \r\n\r\nThere is only one field on Severance

    Merged 2025-01-01

    SOIL TEST SOUTH OF PIVOT TOWER

    \r\n\r\nThere is only one field on Severance

    Merged 2024-10-26

    SOIL TEST SOUTH OF PIVOT TOWER

    \r\n\r\nThere is only one field on Severance

    Merged 2024-10-25

    SOIL TEST SOUTH OF PIVOT TOWER

    \r\n\r\nThere is only one field on Severance

    Merged 2024-02-10

    SOIL TEST SOUTH OF PIVOT TOWER

    \r\n\r\nThere is only one field on Severance

    Merged 2022-11-09

    SOIL TEST SOUTH OF PIVOT TOWER

    \r\n\r\nThere is only one field on Severance

    Merged 2021-02-23

    SOIL TEST SOUTH OF PIVOT TOWER

    \r\n\r\nThere is only one field on Severance

    SOIL TEST SOUTH OF PIVOT TOWER

    \r\n\r\nThere is only one field on Severance

    SOIL TEST SOUTH OF PIVOT TOWER

    \r\n\r\nThere is only one field on Severance

    SOIL TEST SOUTH OF PIVOT TOWER

    \r\n\r\nThere is only one field on Severance

    SOIL TEST SOUTH OF PIVOT TOWER

    \r\n\r\nThere is only one field on Severance

    SOIL TEST SOUTH OF PIVOT TOWER

    \r\n\r\nThere is only one field on Severance

    SOIL TEST SOUTH OF PIVOT TOWER

    \r\n\r\nThere is only one field on Severance2019-01-12 17:13:28\r\n\r\nStart spreading dead furrow first.\r\n\r\nRemaining corn field from dead furrow north, cement ditch west, to fence line east and waste ditch south. \r\n\r\n2018\r\nN 155\r\nP 100\r\nK 90\r\nMn 6\r\nzinc 4\r\n2/14/172019-01-12 17:08:39

    SOIL TEST SOUTH OF PIVOT TOWER

    \r\n\r\nThere is only one field on Severance

    Merged 2025-01-01

    SOIL TEST SOUTH OF PIVOT TOWER

    \r\n\r\nThere is only one field on Severance

    Merged 2024-10-26

    SOIL TEST SOUTH OF PIVOT TOWER

    \r\n\r\nThere is only one field on Severance

    Merged 2024-10-25

    SOIL TEST SOUTH OF PIVOT TOWER

    \r\n\r\nThere is only one field on Severance

    Merged 2024-02-10

    SOIL TEST SOUTH OF PIVOT TOWER

    \r\n\r\nThere is only one field on Severance

    Merged 2022-11-09

    SOIL TEST SOUTH OF PIVOT TOWER

    \r\n\r\nThere is only one field on Severance

    Merged 2021-02-23

    SOIL TEST SOUTH OF PIVOT TOWER

    \r\n\r\nThere is only one field on Severance

    SOIL TEST SOUTH OF PIVOT TOWER

    \r\n\r\nThere is only one field on Severance

    SOIL TEST SOUTH OF PIVOT TOWER

    \r\n\r\nThere is only one field on Severance

    SOIL TEST SOUTH OF PIVOT TOWER

    \r\n\r\nThere is only one field on Severance

    SOIL TEST SOUTH OF PIVOT TOWER

    \r\n\r\nThere is only one field on Severance

    SOIL TEST SOUTH OF PIVOT TOWER

    \r\n\r\nThere is only one field on Severance

    SOIL TEST SOUTH OF PIVOT TOWER

    \r\n\r\nThere is only one field on Severance\r\n\r\n38 ACRE3 in corner\r\nsave 68 acres\r\n-\r\n\r\n2017\r\nN 155\r\nP 35\r\nK 10\r\nMn 6\r\n2/14/17\r\n\r\n2016\r\nN 175\r\nP 35\r\nK 10\r\nMn 6\r\n\r\nacres area - 35\r\n\r\n2015\r\nN 150\r\nP 35\r\nK 10\r\nMn 5\r\n\r\nApply both 9 & 10 total 70 acres\r\n\r\n2014\r\nN 160\r\nP 25\r\nK 10\r\nMn 5\r\nTue 3/18/2014 7:38 AM\r\n\r\n2013\r\nN 140\r\nP 20\r\nK 20\r\nMn 4\r\n\r\n2012\r\nN 150\r\nP 30\r\nK 30\r\nMn 5\r\n\r\n2011\r\nN 140\r\nP 30\r\nK 0\r\nMn 5\r\n4/25/11\r\n\r\n2010\r\nN 125\r\nP 50\r\nK 0\r\nMn 5',0,'','CORN',0),(13,1,'sev07',35.0,'13.jpg','13.png','13.jpg',0,'n,210,p,20,k,20,s,10,z,0,mn,0,cu,0,bo,0,fe,0,mg,0,gy,0,es,0','2024 spring application\r\nN 210\r\nP 20\r\nK 20\r\nS 10\r\nMn 0\r\n\r\n

    Run Spreader truck East and west

    ','alfalfa hope start 2016\r\nOriginal field record before split',2024,'\r\n|`N `P2O5 `K2O `Mg `S `Zn `Mn `Fe `Cu `B `code \r\n|`285`0 `00 `-- `--- `-- `--- `-- `--- `--- `250 bu 11/21/23\r\n|`230`30 `30 `-- `16 `-- `7.1 `-- `1.2 `0.6 `sev7 north oct 7, 2021\r\n|`240`30 `30 `-- `17 `-- `7.1 `-- `1.2 `0.6 `sev7 South oct 7, 2021\r\n
    \r\n\r\n
    2024 spring application\r\nN 210\r\nP 20\r\nK 20\r\nS 10\r\nMn 0\r\n\r\n

    Run Spreader truck East and west

    Merged 2025-01-01

    plowed up to west. N in as S in 10/30\r\n\r\n2024 spring application\r\nN 210\r\nP 20\r\nK 20\r\nS 10\r\nMn 0\r\n\r\n

    Run Spreader truck East and west

    Merged 2024-10-26

    2024 spring application\r\nN 210\r\nP 20\r\nK 20\r\nS 10\r\nMn 0\r\n\r\n

    Run Spreader truck East and west

    Merged 2024-10-25

    2023 spring application\r\nN 150\r\n\r\n

    Run Spreader truck East and west

    Merged 2024-02-10

    \r\n2022 fall application\r\nN 50\r\nP 60\r\nK 50\r\nS 10\r\nMn 0\r\n\r\n2020 late\r\nN 0\r\nP 60\r\nK 60\r\nMn 0\r\n11/1/20 fall application \r\n\r\nAPPLY NORTH OF PIT CROSSING. Start application on north end of field. \r\n\r\n2016\r\nP 50\r\nK 30\r\n\r\napply 2/29/16\r\n\r\n2015\r\nN 160\r\nP 60\r\nK 30\r\nMn 6\r\n\r\n\r\n2014\r\nN 170\r\nP 90\r\nK 30\r\nMn 6\r\n\r\n2013\r\nN 140\r\nP 20\r\nK 20\r\nMn 4\r\n\r\n2012\r\nN 150\r\nP 40\r\nK 20\r\nMn 6\r\n\r\n2011\r\nN 150\r\nP 30\r\nK 0\r\nMn 5\r\n4/25/11\r\n\r\n2010\r\nN 125\r\nP 40\r\nK 0\r\nMn 3.5',0,'','CORN',1),(14,1,'sev08',20.6,'14.jpg','14.png','14.jpg',0,'n,180,p,20,k,20,s,0,z,0,mn,0,cu,0,bo,0,fe,0,mg,0,gy,0,es,0','2024\r\nN 180\r\nP 20\r\nK 20\r\nS 0\r\nMn 0\r\nCU 0.0\r\nBO 0.0\r\n\r\n

    Run spreader truck East and West.

    ','whole corn 2018\r\nSprayed weevil 5/21/17\r\n2008-2010 WHOLE corn\r\n2011\r\n30N\r\n40P\r\n\r\nDec 9, 2010\r\n\r\n2010\r\nN 125\r\nP 25\r\nK 0\r\nMn 5',2018,'\r\n|`N `P2O5 `K2O `Mg `S `Zn `Mn `Fe `Cu `B`code\r\n|`205 `35 `85 ` -- `-- `-- `6.8 `-- `-- `--`Sevsouth 11/20/2018\r\n
    \r\n
    2024\r\nN 180\r\nP 20\r\nK 20\r\nS 0\r\nMn 0\r\nCU 0.0\r\nBO 0.0\r\n\r\n

    Run spreader truck East and West.

    Merged 2025-01-01

    \r\nPlowed N to S ripped ends 10/26\r\n2024\r\nN 180\r\nP 20\r\nK 20\r\nS 0\r\nMn 0\r\nCU 0.0\r\nBO 0.0\r\n\r\n

    Run spreader truck East and West.

    Merged 2024-10-26

    2024\r\nN 180\r\nP 20\r\nK 20\r\nS 0\r\nMn 0\r\nCU 0.0\r\nBO 0.0\r\n\r\n

    Run spreader truck East and West.

    Merged 2024-10-25

    2023 spring application\r\nN 140\r\n\r\n

    Run spreader truck East and West.

    Merged 2024-02-10

    \r\n\r\n2022 fall application on corn field\r\nN 50\r\nP 50\r\nK 60\r\nCu 0.6\r\nBo 0.5\r\n\r\n

    SECTION A:

    2022\r\nN 180\r\nP 40\r\nK 50\r\nMn 0

    \r\n

    Run spreader truck East and West. South side

    \r\n

    Create a 10 acre batch

    \r\n

    SECTION B:

    2022\r\nN 0\r\nP 50\r\nK 50

    \r\n

    Run spreader truck East and West. Start north sideMerged 2022-11-09

    \r\n\r\n2021\r\nN 170\r\nP 35\r\nK 50\r\nMn 7\r\n\r\n

    Run spreader truck East and West

    \r\nxx

    Merged 2021-02-23

    2021\r\nN 170\r\nP 35\r\nK 50\r\nMn 7\r\n\r\n

    Run spreader truck East and West

    \r\nxx\r\n2019\r\nN 170\r\nP 25\r\nK 50\r\nMn 7\r\n\r\n

    Run spreader truck East and West

    \r\n4/24/19\r\n\r\n2018\r\nN 70\r\nP 80\r\nK 90\r\nMn 7\r\n4/14/2018 WINDY 1st
    2024\r\nN 180\r\nP 20\r\nK 20\r\nS 0\r\nMn 0\r\nCU 0.0\r\nBO 0.0\r\n\r\n

    Run spreader truck East and West.

    Merged 2025-01-01

    2024\r\nN 180\r\nP 20\r\nK 20\r\nS 0\r\nMn 0\r\nCU 0.0\r\nBO 0.0\r\n\r\n

    Run spreader truck East and West.

    Merged 2024-10-26

    2024\r\nN 180\r\nP 20\r\nK 20\r\nS 0\r\nMn 0\r\nCU 0.0\r\nBO 0.0\r\n\r\n

    Run spreader truck East and West.

    Merged 2024-10-25

    2023 spring application\r\nN 140\r\n\r\n

    Run spreader truck East and West.

    Merged 2024-02-10

    SECTION A:

    2022\r\nN 180\r\nP 40\r\nK 50\r\nMn 0

    \r\n

    Run spreader truck East and West. South side

    \r\n

    Create a 10 acre batch

    \r\n

    SECTION B:

    2022\r\nN 0\r\nP 50\r\nK 50

    \r\n

    Run spreader truck East and West. Start north sideMerged 2022-11-09

    2021\r\nN 170\r\nP 35\r\nK 50\r\nMn 7\r\n\r\n

    Run spreader truck East and West

    \r\nxx

    Merged 2021-02-23

    2021\r\nN 170\r\nP 35\r\nK 50\r\nMn 7\r\n\r\n

    Run spreader truck East and West

    \r\nxx2021\r\nN 170\r\nP 35\r\nK 50\r\nMn 7\r\n\r\n

    Run spreader truck East and West

    \r\nxx2021\r\nN 170\r\nP 35\r\nK 50\r\nMn 7\r\n\r\n

    Run spreader truck East and West

    \r\nxx2021\r\nN 170\r\nP 35\r\nK 50\r\nMn 7\r\n\r\n

    Run spreader truck East and West

    \r\nxx2021\r\nN 170\r\nP 35\r\nK 50\r\nMn 7\r\n\r\n

    Run spreader truck East and West

    \r\nxx2021\r\nN 170\r\nP 35\r\nK 50\r\nMn 7\r\n\r\n

    Run spreader truck East and West

    \r\nxx2021\r\nN 170\r\nP 35\r\nK 50\r\nMn 7\r\n\r\n

    Run spreader truck East and West

    \r\nxx2019-01-12 17:13:28\r\n\r\ncement ditch start 40.533960, -104.862163 & end 40.530666, -104.859985 1338 feet estimate google maps\r\n\r\nsold 1.3 acres to moody reducing acrage from 32 to 30.67\r\ntriangle piece on east end is approximately 7 acres \r\ncalculate triangle piece\r\n597.8076919755667feet 1187.7813330167849feet=355212ft2\r\n\r\npoint in settlers landind\r\n297.74970069309023feet 159.27893609057872feet=47680ft2\r\n\r\n2011 start alfalfa\r\n\r\nFERTILIZER MIX CALCULATED\r\nProduct LBS/ACRE POUNDS\r\n0-0-60 134 1 $0.22\r\n11-52-0 154 1 $0.28\r\nCopper 3 1 $3.10\r\nManganese Sulfate 22 1 $1.20\r\nZinc 360 2 1 $0.62\r\n46-0-0 116 1 $0.20\r\n\r\nESTIMATED COST LESS APPLICATION\r\nacres=\r\nCost per Acre Total Cost\r\n$ 127.56 $ 0\r\nMY VARIABLES\r\nNitrogen=70\r\nPhosphorous=80\r\nPotash=80\r\nSulfate=0\r\nZinc=.5 Manganese=7\r\nCopper=.5\r\nBoron=0\r\nIron=0\r\nMagnesium=0\r\nGypsum=0\r\nElemental Sulphur=0',0,'Cone road 40.53432, 104.86190','CORN',1),(15,1,'SevE06',23.0,'15.jpg','15.png','15.jpg',0,'n,200,p,30,k,30,s,0,z,0,mn,0,cu,0,bo,0,fe,0,mg,0,gy,0,es,0','

    no till field east border. Run truck at you discretion.

    \r\nEast of pivot circle \r\n23 acres\r\n2024\r\nN 200\r\nP 30\r\nK 30\r\nS 5\r\nMn 0\r\nCU 0.0\r\nBO 0.0\r\n\r\n

    start by plowed ground, drive towards wood shed. Spread to the east

    ','2023 19.6 acres corn. 22 acres for rectangle measurement\r\n2014 West of Pivot circle, field size 25 acres\r\n1st corn 2012\r\n2013 No plant',2024,'Actual crop acres 22\r\n\r\n|`N `P2O5`K2O`Mg-`S `Zn `Mn `Fe `Cu `B `code\r\n|`215 `00 `--- `-- `5 `0.0 `0.0 `0.0`0.0`0.0 `250bu 11/21/23\r\n|`230 `45 `40 `-- `5 `1.1 `7.4 `2.4`1.3`0.9 `sev06 11/22/21\r\n|`250 `65 `70 `-- `--`0.5 `7.7`1.1`0.7`0.8 `3LOWERFARE 12/6/17\r\n
    \r\n

    no till field east border. Run truck at you discretion.

    \r\nEast of pivot circle \r\n23 acres\r\n2024\r\nN 200\r\nP 30\r\nK 30\r\nS 5\r\nMn 0\r\nCU 0.0\r\nBO 0.0\r\n\r\n

    start by plowed ground, drive towards wood shed. Spread to the east

    Merged 2025-01-01

    no till field east border. Run truck at you discretion.

    \r\nEast of pivot circle \r\n23 acres\r\n2024\r\nN 200\r\nP 30\r\nK 30\r\nS 5\r\nMn 0\r\nCU 0.0\r\nBO 0.0\r\n\r\n

    start by plowed ground, drive towards wood shed. Spread to the east

    Merged 2024-10-26

    no till field east border. Run truck at you discretion.

    \r\nEast of pivot circle \r\n23 acres\r\n2024\r\nN 200\r\nP 30\r\nK 30\r\nS 5\r\nMn 0\r\nCU 0.0\r\nBO 0.0\r\n\r\n

    start by plowed ground, drive towards wood shed. Spread to the east

    Merged 2024-10-25

    no till field east border. Run truck at you discretion.

    \r\nEast of pivot circle \r\n\r\n2023\r\nN 200\r\nP 40\r\nK 35\r\nS 5\r\nMn 0\r\nCU 1.0\r\nBO 1.0\r\n\r\n

    start by plowed ground, drive towards wood shed. Spread to the east

    Merged 2024-02-10

    When spreading on pivot side do this field first unless notified later.

    \r\nEast of pivot circle \r\n\r\n2022 \r\nN 185\r\nP 40\r\nK 35\r\nS 5\r\nMn 0\r\nCU 1.0\r\nBO 1.0\r\n\r\n

    start by drain tile, drive towards wood shed. Spread to the east

    Merged 2022-11-09

    East of pivot circle\r\n\r\n2021\r\nN 180\r\nP 25\r\nK 30\r\nMn 6\r\nCU 0.5\r\nBO 0.5\r\n\r\n

    Run spreader truck North & South

    \r\n20/20 showed 22.7 planting ends\r\n\r\n=============FERTILIZER========================\r\n\r\n2020\r\nN 180\r\nP 35\r\nK 40\r\nMn 7\r\n\r\n2019\r\nN 180\r\nP 30\r\nK 30\r\nMn 6\r\n\r\n

    Run spreader truck North & South

    \r\n4/24/19\r\nEast of pivot circle\r\n\r\n2018\r\nN 180\r\nP 30\r\nK 30\r\nMn 6\r\n4/18/2018 WINDY

    no till field east border. Run truck at you discretion.

    \r\nEast of pivot circle \r\n23 acres\r\n2024\r\nN 200\r\nP 30\r\nK 30\r\nS 5\r\nMn 0\r\nCU 0.0\r\nBO 0.0\r\n\r\n

    start by plowed ground, drive towards wood shed. Spread to the east

    Merged 2025-01-01

    no till field east border. Run truck at you discretion.

    \r\nEast of pivot circle \r\n23 acres\r\n2024\r\nN 200\r\nP 30\r\nK 30\r\nS 5\r\nMn 0\r\nCU 0.0\r\nBO 0.0\r\n\r\n

    start by plowed ground, drive towards wood shed. Spread to the east

    Merged 2024-10-26

    no till field east border. Run truck at you discretion.

    \r\nEast of pivot circle \r\n23 acres\r\n2024\r\nN 200\r\nP 30\r\nK 30\r\nS 5\r\nMn 0\r\nCU 0.0\r\nBO 0.0\r\n\r\n

    start by plowed ground, drive towards wood shed. Spread to the east

    Merged 2024-10-25

    no till field east border. Run truck at you discretion.

    \r\nEast of pivot circle \r\n\r\n2023\r\nN 200\r\nP 40\r\nK 35\r\nS 5\r\nMn 0\r\nCU 1.0\r\nBO 1.0\r\n\r\n

    start by plowed ground, drive towards wood shed. Spread to the east

    Merged 2024-02-10

    When spreading on pivot side do this field first unless notified later.

    \r\nEast of pivot circle \r\n\r\n2022 \r\nN 185\r\nP 40\r\nK 35\r\nS 5\r\nMn 0\r\nCU 1.0\r\nBO 1.0\r\n\r\n

    start by drain tile, drive towards wood shed. Spread to the east

    Merged 2022-11-09

    East of pivot circle\r\n\r\n2021\r\nN 180\r\nP 25\r\nK 30\r\nMn 6\r\nCU 0.5\r\nBO 0.5\r\n\r\n

    Run spreader truck North & South

    \r\nxx/xx/xx

    Merged 2021-02-23

    East of pivot circle\r\n\r\n2021\r\nN 180\r\nP 25\r\nK 30\r\nMn 6\r\nCU 0.5\r\nBO 0.5\r\n\r\n

    Run spreader truck North & South

    \r\nxx/xx/xxEast of pivot circle\r\n\r\n2021\r\nN 180\r\nP 25\r\nK 30\r\nMn 6\r\nCU 0.5\r\nBO 0.5\r\n\r\n

    Run spreader truck North & South

    \r\nxx/xx/xxEast of pivot circle\r\n\r\n2021\r\nN 180\r\nP 25\r\nK 30\r\nMn 6\r\nCU 0.5\r\nBO 0.5\r\n\r\n

    Run spreader truck North & South

    \r\nxx/xx/xxEast of pivot circle\r\n\r\n2021\r\nN 180\r\nP 25\r\nK 30\r\nMn 6\r\nCU 0.5\r\nBO 0.5\r\n\r\n

    Run spreader truck North & South

    \r\nxx/xx/xxEast of pivot circle\r\n\r\n2021\r\nN 180\r\nP 25\r\nK 30\r\nMn 6\r\nCU 0.5\r\nBO 0.5\r\n\r\n

    Run spreader truck North & South

    \r\nxx/xx/xxEast of pivot circle\r\n\r\n2021\r\nN 180\r\nP 25\r\nK 30\r\nMn 6\r\nCU 0.5\r\nBO 0.5\r\n\r\n

    Run spreader truck North & South

    \r\nxx/xx/xxEast of pivot circle\r\n\r\n2021\r\nN 180\r\nP 25\r\nK 30\r\nMn 6\r\nCU 0.5\r\nBO 0.5\r\n\r\n

    Run spreader truck North & South

    \r\nxx/xx/xx2019-01-12 17:13:28\r\n\r\n2017\r\nN 180\r\nP 55\r\nK 65\r\nMn 7\r\n2/14/17\r\n\r\nFERTILIZER MIX CALCULATED\r\nProduct LBS/ACRE POUNDS\r\n0-0-60 109 1 $0.22\r\n11-52-0 106 1 $0.28\r\nCopper 2 1 $3.10\r\nManganese Sulfate 22 1 $1.20\r\nZinc 360 2 1 $0.62\r\n46-0-0 367 1 $0.20\r\n\r\nESTIMATED COST LESS APPLICATION\r\nacres=\r\nCost per Acre Total Cost\r\n$ 157.6 $ 0\r\nMY VARIABLES\r\nNitrogen=180\r\nPhosphorous=55\r\nPotash=65\r\nSulfate=0\r\nZinc=.5 Manganese=7\r\nCopper=.5\r\nBoron=0\r\nIron=0\r\nMagnesium=0\r\nGypsum=0\r\nElemental Sulphur=0\r\n\r\n\r\n2016 \r\nN 180\r\nP 30\r\nK 30\r\nMn 6\r\n\r\nNorth end has fertilizer applied. I will mark with cones\r\n\r\n2015 NOT APPLIED\r\nN 165\r\nP 20\r\nK 40\r\nMn 6\r\n\r\n2014\r\nN 165\r\nP 10\r\nK 50\r\nMn 5\r\ncu 1\r\nTue 3/18/2014 7:38 AM\r\n\r\n2012\r\nN 140\r\nP 10\r\nK 50\r\nMn 4',0,'','CORN',1),(16,2,'Yard & lake',13.0,'16.png','16.jpg','16.jpg',1,'n,150,p,20,k,20,s,0,z,0,mn,6,cu,0.5,bo,0.5,fe,0,mg,0,gy,0,es,0','na\r\n11-52-0 16000 $6000\r\n46-0-0 76000 LB $17245','',0,'na
    na\r\n11-52-0 16000 $6000\r\n46-0-0 76000 LB $17245

    Merged 2025-01-01

    na\r\n11-52-0 16000 $6000\r\n46-0-0 76000 LB $17245

    Merged 2024-10-26

    na\r\n11-52-0 16000 $6000\r\n46-0-0 76000 LB $17245

    Merged 2024-10-25

    na\r\n11-52-0 16000 $6000\r\n46-0-0 76000 LB $17245

    Merged 2024-02-10

    na\r\n11-52-0 16000 $6000\r\n46-0-0 76000 LB $17245

    Merged 2022-11-09

    na\r\n11-52-0 16000 $6000\r\n46-0-0 76000 LB $17245

    Merged 2021-02-23

    na\r\n11-52-0 16000 $6000\r\n46-0-0 76000 LB $17245na\r\n\r\n=============hpPivNW acres=62.0====================\r\nFERTILIZER MIX CALCULATED\r\nProduct LBS/ACRE POUNDS\r\n0-0-60 55 3391 $813.84\r\n11-52-0 135 8347 $3,130.13\r\nK mAG 33 2026 $253.25\r\nBoron 4 207 $144.90\r\nCopper 2 124 $384.40\r\nManganese Sulfate 19 1163 $1,395.60\r\n46-0-0 240 14853 $3,379.06\r\n\r\nESTIMATED COST LESS APPLICATION\r\nField=hpPivNW acres=62.0\r\nCost per Acre Total Cost\r\n$ 153.22 $ 9499.65\r\nMY VARIABLES\r\nNitrogen=125\r\nPhosphorous=70\r\nPotash=40\r\nSulfate=10\r\nZinc=0 Manganese=6\r\nCopper=0.5\r\nBoron=0.5\r\nIron=0\r\nMagnesium=0\r\nGypsum=0\r\nElemental Sulphur=0\r\n\r\n=========hpSheep acres=35.5=========================\r\nFERTILIZER MIX CALCULATED\r\nProduct LBS/ACRE POUNDS\r\n0-0-60 51 1776 $426.24\r\n11-52-0 49 1707 $640.13\r\nBoron 4 119 $83.30\r\nCopper 2 71 $220.10\r\nManganese Sulfate 19 666 $799.20\r\n46-0-0 261 9239 $2,101.87\r\n\r\nESTIMATED COST LESS APPLICATION\r\nField=hpSheep acres=35.5\r\nCost per Acre Total Cost\r\n$ 120.26 $ 4269.49\r\nMY VARIABLES\r\nNitrogen=125\r\nPhosphorous=25\r\nPotash=30\r\nSulfate=0\r\nZinc=0 Manganese=6\r\nCopper=0.5\r\nBoron=0.5\r\nIron=0\r\nMagnesium=0\r\nGypsum=0\r\nElemental Sulphur=0\r\n\r\n\r\n===================sev08 acres=30.6==================\r\nFERTILIZER MIX CALCULATED\r\nProduct LBS/ACRE POUNDS\r\n0-0-60 84 2551 $612.24\r\n11-52-0 68 2060 $772.50\r\nBoron 4 103 $72.10\r\nCopper 3 62 $192.20\r\nManganese Sulfate 19 574 $688.80\r\n46-0-0 354 10817 $2,460.87\r\n\r\nESTIMATED COST LESS APPLICATION\r\nField=sev08 acres=30.6\r\nCost per Acre Total Cost\r\n$ 156.68 $ 4794.65\r\nMY VARIABLES\r\nNitrogen=170\r\nPhosphorous=35\r\nPotash=50\r\nSulfate=0\r\nZinc=0 Manganese=6\r\nCopper=0.5\r\nBoron=0.5\r\nIron=0\r\nMagnesium=0\r\nGypsum=0\r\nElemental Sulphur=0\r\n\r\n==============SevE06 acres=22.0================\r\nFERTILIZER MIX CALCULATED\r\nProduct LBS/ACRE POUNDS\r\n0-0-60 50 1100 $264.00\r\n11-52-0 49 1058 $396.75\r\nBoron 4 74 $51.80\r\nCopper 2 44 $136.40\r\nManganese Sulfate 19 413 $495.60\r\n46-0-0 380 8356 $1,900.99\r\n\r\nESTIMATED COST LESS APPLICATION\r\nField=SevE06 acres=22.0\r\nCost per Acre Total Cost\r\n$ 147.46 $ 3244.3\r\nMY VARIABLES\r\nNitrogen=180\r\nPhosphorous=25\r\nPotash=30\r\nSulfate=0\r\nZinc=0 Manganese=6\r\nCopper=0.5\r\nBoron=0.5\r\nIron=0\r\nMagnesium=0\r\nGypsum=0\r\nElemental Sulphur=0\r\n\r\n\r\n================sevPivNE acres=36.0====================\r\nFERTILIZER MIX CALCULATED\r\nProduct LBS/ACRE POUNDS\r\n0-0-60 34 1200 $288.00\r\n11-52-0 39 1385 $519.38\r\nBoron 4 120 $84.00\r\nCopper 2 72 $223.20\r\nManganese Sulfate 19 675 $810.00\r\n46-0-0 317 11409 $2,595.55\r\n\r\nESTIMATED COST LESS APPLICATION\r\nField=sevPivNE acres=36.0\r\nCost per Acre Total Cost\r\n$ 125.54 $ 4519.75\r\nMY VARIABLES\r\nNitrogen=150\r\nPhosphorous=20\r\nPotash=20\r\nSulfate=0\r\nZinc=0 Manganese=6\r\nCopper=0.5\r\nBoron=0.5\r\nIron=0\r\nMagnesium=0\r\nGypsum=0\r\nElemental Sulphur=0\r\n\r\n==========sevPivNW acres=32.0=========================\r\nFERTILIZER MIX CALCULATED\r\nProduct LBS/ACRE POUNDS\r\n0-0-60 101 3201 $768.24\r\n11-52-0 58 1847 $692.63\r\n\r\nESTIMATED COST LESS APPLICATION\r\nField=sevPivNW acres=32.0\r\nCost per Acre Total Cost\r\n$ 45.63 $ 1460.3\r\nMY VARIABLES\r\nNitrogen=0\r\nPhosphorous=30\r\nPotash=60\r\nSulfate=0\r\nZinc=0 Manganese=0\r\nCopper=0\r\nBoron=0\r\nIron=0\r\nMagnesium=0\r\nGypsum=0\r\nElemental Sulphur=0\r\n\r\n===============sevPivSE acres=65.0======================\r\nFERTILIZER MIX CALCULATED\r\nProduct LBS/ACRE POUNDS\r\n0-0-60 17 1084 $260.16\r\n11-52-0 20 1250 $468.75\r\nBoron 4 217 $151.90\r\nCopper 6 390 $1,209.00\r\nManganese Sulfate 19 1219 $1,462.80\r\n46-0-0 333 21604 $4,914.91\r\n\r\nESTIMATED COST LESS APPLICATION\r\n\r\nCost per Acre Total Cost\r\n$ 130.25 $ 8466.65\r\nMY VARIABLES\r\nNitrogen=155\r\nPhosphorous=10\r\nPotash=10\r\nSulfate=0\r\nZinc=0 Manganese=6\r\nCopper=1.5\r\nBoron=0.5\r\nIron=0\r\nMagnesium=0\r\nGypsum=0\r\nElemental Sulphur=0\r\n\r\n\r\n \r\n0-0-60 55 3391 $813.84 \r\n11-52-0 135 8347 $3,130.13 \r\nK mAG 33 2026 $253.25 \r\nBoron 4 207 $144.90 \r\nCopper 2 124 $384.40 \r\nManganese Sulfate 19 1163 $1,395.60 \r\n46-0-0 240 14853 $3,379.06 \r\n0-0-60 51 1776 $426.24 \r\n11-52-0 49 1707 $640.13 \r\nBoron 4 119 $83.30 \r\nCopper 2 71 $220.10 \r\nManganese Sulfate 19 666 $799.20 \r\n46-0-0 261 9239 $2,101.87 \r\n0-0-60 84 2551 $612.24 \r\n11-52-0 68 2060 $772.50 \r\nBoron 4 103 $72.10 \r\nCopper 3 62 $192.20 \r\nManganese Sulfate 19 574 $688.80 \r\n46-0-0 354 10817 $2,460.87 \r\n0-0-60 50 1100 $264.00 \r\n11-52-0 49 1058 $396.75 \r\nBoron 4 74 $51.80 \r\nCopper 2 44 $136.40 \r\nManganese Sulfate 19 413 $495.60 \r\n46-0-0 380 8356 $1,900.99 \r\n0-0-60 34 1200 $288.00 \r\n11-52-0 39 1385 $519.38 \r\nBoron 4 120 $84.00 \r\nCopper 2 72 $223.20 \r\nManganese Sulfate 19 675 $810.00 \r\n46-0-0 317 11409 $2,595.55 \r\n0-0-60 17 1084 $260.16 \r\n11-52-0 20 1250 $468.75 \r\nBoron 4 217 $151.90 \r\nCopper 6 390 $1,209.00 \r\nManganese Sulfate 19 1219 $1,462.80 \r\n46-0-0 333 21604 $4,914.91 \r\n $34,803.92',0,'8 acres for yard\r\n3 acres LAKE AREA\r\n2 ACRES oil well and creek','Desert',0),(17,1,'Yard & Knoll',10.0,'17.png','17.png','17.jpg',1,'n,150,p,20,k,20,s,0,z,0,mn,6,cu,0.5,bo,0.5,fe,0,mg,0,gy,0,es,0','cauca','',0,'na',0,'','Desert',0),(19,1,'sevPivNW',32.0,'19.jpg','19.jpg','19.jpg',0,'n,0,p,70,k,50,s,0,z,0,mn,0,cu,0,bo,0,fe,0,mg,0,gy,0,es,0','apply last\r\n\r\n2022 Fall application on Alfalfa\r\nN 0\r\nP 70\r\nK 50\r\n\r\n\r\n

    Run spreader truck between pivot tracks

    ','2021 Alfalfa',2018,'\r\n|`N `P2O5 `K2O `Mg `S `Zn `Mn `Fe `Cu `B `code\r\n|`135`-- `-- `-- `--`-- `5.5 `-- `0.7`-- `sev04 2014\r\n
    \r\n\r\n=====================FERTILIZER========================\r\n
    apply last\r\n\r\n2022 Fall application on Alfalfa\r\nN 0\r\nP 70\r\nK 50\r\n\r\n\r\n

    Run spreader truck between pivot tracks

    Merged 2025-01-01

    apply last\r\n\r\n2022 Fall application on Alfalfa\r\nN 0\r\nP 70\r\nK 50\r\n\r\n\r\n

    Run spreader truck between pivot tracks

    Merged 2024-10-26

    apply last\r\n\r\n2022 Fall application on Alfalfa\r\nN 0\r\nP 70\r\nK 50\r\n\r\n\r\n

    Run spreader truck between pivot tracks

    Merged 2024-10-25

    apply last\r\n\r\n2022 Fall application on Alfalfa\r\nN 0\r\nP 70\r\nK 50\r\n\r\n\r\n

    Run spreader truck between pivot tracks

    Merged 2024-02-10

    apply last\r\n\r\n2021\r\nN 0\r\nP 30\r\nK 60\r\nMn 0\r\n\r\n\r\n

    Run spreader truck East & West only

    \r\n\r\n32 of 68

    Merged 2022-11-09

    2021\r\nN 0\r\nP 30\r\nK 60\r\nMn 0\r\n\r\n\r\n

    Run spreader truck East & West only

    \r\nxx/xx/xx\r\n\r\n2020\r\nN 140\r\nP 30\r\nK 30\r\nMn 7\r\n\r\n2019 APPLIED\r\nN 160\r\nP 30\r\nK 30\r\nMn 7\r\nZ 1\r\nCu 1\r\n\r\n

    Run spreader truck East & West only

    \r\n4/24/19\r\n\r\nThis includes everything North of pivot tower\r\n2017 APPLIED\r\nN 160\r\nP 120\r\nK 90\r\nMn 7\r\nz-3\r\nC-1\r\n\r\n==============PLANTINGS================================\r\n2016\r\nBecause of Leach line bottom field was absorbed into this half. 80 acres in first batch.\r\n\r\n2008\r\nplant alfafa 2008\r\n\r\n2/15/17 80 acres\r\n68 acre \r\n\r\nFirst hay 2009. Top end requires plastic to push water out\r\n\r\n2017 APPLIED\r\nN 155\r\nP 30\r\nK 20\r\nMn 6\r\n\r\nFERTILIZER MIX CALCULATED\r\nProduct LBS/ACRE POUNDS\r\n0-0-60 151 10201 $2,193.22\r\n11-52-0 231 15693 $4,394.04\r\nCopper 5 273 $846.30\r\nManganese Sulfate 22 1488 $1,785.60\r\nZinc 360 9 575 $356.50\r\n46-0-0 293 19900 $3,880.50\r\n\r\nESTIMATED COST LESS APPLICATION\r\nacres=68\r\nCost per Acre Total Cost\r\n$ 197.82 $ 13451.76\r\nMY VARIABLES\r\nNitrogen=160\r\nPhosphorous=120\r\nPotash=90\r\nSulfate=0\r\nZinc=3 Manganese=7\r\nCopper=1\r\nBoron=0\r\nIron=0\r\nMagnesium=0\r\nGypsum=0\r\nElemental Sulphur=0\r\n\r\n\r\n2016 APPLIED\r\nN 175\r\nP 30\r\nK 10\r\nMn 6\r\n\r\n2015 APPLIED\r\nN 150\r\nP 20\r\nK 10\r\nMn 6\r\nCu 0.5\r\n2/10/15\r\n\r\n2014\r\nN 30\r\nP 80\r\nK 80\r\nMn 5\r\n\r\nThur 3/20/2014 7:09 AM\r\n\r\nESTIMATED 15 ACRES BECUASE OF PIVOT\r\n\r\nFERTILIZER MIX CALCULATED\r\nProduct LBS/ACRE POUNDS\r\n0-0-60 134 2000 $640.00\r\n11-52-0 154 2308 $634.70\r\nElemental Sulfur 34 500 $147.50\r\nManganese Sulfate 19 282 $324.30\r\n46-0-0 29 427 $111.02\r\n\r\nESTIMATED COST LESS APPLICATION\r\nacres=15.0\r\nCost per Acre Total Cost\r\n$ 123.76 $ 1856.42\r\nMY VARIABLES\r\nNitrogen=30\r\nPhosphorous=80\r\nPotash=80\r\nSulfate=0\r\nZinc=0 Manganese=6\r\nCopper=0\r\nBoron=0\r\nIron=0\r\nMagnesium=0\r\nGypsum=0\r\nElemental Sulphur=30',0,'','Alfalfa',0),(21,1,'sev08',10.0,'13.jpg','13.jpg','21.jpg',1,'n,150,p,20,k,20,s,0,z,0,mn,6,cu,0.5,bo,0.5,fe,0,mg,0,gy,0,es,0','sev07s rename 14','Alfalfa 2016 21 acres & 14 acres 2017',2014,'
    \r\n2020\r\nN 0\r\nP 60\r\nK 60\r\nMn 0\r\n11/1/20 fall application \r\n\r\n2017\r\nN 0\r\nP 50\r\nK 50\r\nMn 0\r\n\r\napply 2/13/17\r\n\r\nAPPLY SOUTH OF PIT CROSSING. Start on south end of field. \r\n2016\r\nslight overlap of feretilizer with new hay field.\r\n\r\n2016\r\nN 175\r\nP 50\r\nK 30\r\nMn 6\r\n\r\napply 2/29/16\r\n\r\n2015\r\nN 160\r\nP 60\r\nK 30\r\nMn 6',0,'','alfalfa',0),(22,2,'hpMcGinn',29.0,'22.png','22.png','22.jpg',0,'n,210,p,50,k,30,s,0,z,0,mn,0,cu,0,bo,0,fe,0,mg,0,gy,0,es,0','2024\r\nN 210\r\nP 40\r\nK 30\r\nMn 0\r\n\r\n

    start north end and spread south. Stay out of SE corner swamp land

    ','',2024,'\r\n|`N `P2O5 `K2O `Mg `S `Zn `Mn `Fe `Cu `B`code\r\n|`285 `50 `-- ` -- ` `-- `--- `-- `--- `--`11/27/24 west\r\n|`190 `25 `-- ` -- ` `-- `--- `-- `--- `--`11/27/24 east\r\n
    \r\n
    2024\r\nN 210\r\nP 40\r\nK 30\r\nMn 0\r\n\r\n

    start north end and spread south. Stay out of SE corner swamp land

    Merged 2025-01-01

    2024\r\nN 210\r\nP 40\r\nK 30\r\nMn 0\r\n\r\n

    start north end and spread south. Stay out of SE corner swamp land

    Merged 2024-10-26

    2024\r\nN 210\r\nP 40\r\nK 30\r\nMn 0\r\n\r\n

    start north end and spread south. Stay out of SE corner swamp land

    Merged 2024-10-25

    \r\nsubsoiled fall 2023\r\n2023\r\nN 200\r\nP 70\r\nK 70\r\nMn 0\r\n\r\n

    start north end and spread south. Stay out of SE corner swamp land

    \r\n2022\r\nN 200\r\nP 70\r\nK 70\r\nMn 0\r\n\r\n

    start north end and spread south. Stay out of SE corner swamp land

    ',0,'SE LatLong(40.538148, -104.908190)\r\nwest LatLong(40.540627, -104.911366)\r\nNE LatLong(40.543872, -104.908147);\"','CORN',1); /*!40000 ALTER TABLE `map` ENABLE KEYS */; UNLOCK TABLES; -- -- Table structure for table `products` -- DROP TABLE IF EXISTS `products`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `products` ( `productid` smallint(6) NOT NULL AUTO_INCREMENT, `categoryid` tinyint(4) NOT NULL, `product` varchar(50) NOT NULL, `manufactured` varchar(25) NOT NULL, `technology` varchar(200) NOT NULL, `notes` text NOT NULL, `number_bags` smallint(6) NOT NULL, `price` decimal(10,2) NOT NULL, `year` smallint(6) NOT NULL, `code` varchar(1) NOT NULL, `archive` tinyint(6) NOT NULL, `weightCount` mediumint(9) NOT NULL, `applied_rate` mediumint(9) NOT NULL, `img` varchar(9) NOT NULL, PRIMARY KEY (`productid`) ) ENGINE=MyISAM AUTO_INCREMENT=129 DEFAULT CHARSET=latin1; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Dumping data for table `products` -- LOCK TABLES `products` WRITE; /*!40000 ALTER TABLE `products` DISABLE KEYS */; INSERT INTO `products` VALUES (1,0,'38H72','Pioneer','Liberty Link, Roundup Ready 2, Herculex xtra, CruisereXTREME 250','RM: 100\r\nSize: F14\r\nGerm: 95%\r\nOrigin:IA\r\nLot No: N3ALG11011-N1\r\n\r\n2010\r\n LOT:N3ALG11011-N1\r\nSEED: PDR ALG1\r\n16 bags (1 returned)',12,0.00,2011,'C',1,80000,32000,'1.jpg'),(2,0,'DKC52-59','Dekalb','YieldGuard VT Triple, Roundup Ready 2, Poncho 250','RM 102 LOT:757CDV9NX\r\nSEED: AF2',26,0.00,2011,'C',1,80000,32000,'2.jpg'),(3,0,'DKC52-62','Dekalb','Roundup Ready 2, Poncho 1250','RM 102 lot:746D3F4NX\r\nSEED AF2 (1 returned)',0,0.00,2011,'C',1,80000,32000,'3.jpg'),(4,0,'DKC45-79','Dekalb','YieldGuard VT Triple, Roundup Ready 2, Poncho 250','this variety appears to have a good stand\r\nfor early corn it does not dry fast\r\n\r\nRM 95 LOT:754PMT4NX\r\nSEED: P22 (1 returned)',10,0.00,2011,'C',1,80000,32000,'4.jpg'),(5,0,'37K11','Pioneer','Liberty Link, Roundup Ready 2, Herculex I, PONCHO 1250','best vigor and height\r\n\r\nRM 99\r\n2011\r\nSize: F14\r\nGerm: 95%\r\nOrigin:IA\r\nLot No: M3DYS11013-N\r\n\r\n\r\n2010 \r\nLOT:P3PLY11056-00\r\nSEED: PDF PLY1\r\n16 bags (4 Returned)',18,0.00,2011,'C',1,80000,32000,'5.jpg'),(6,0,'38H08','Pioneer','Liberty Link, Roundup Ready 2, Herculex xtra, Cruiser Mid Rate','RM 92 LOT:P3DYS11027-00\r\nSEED: PDR DON1\r\n16 bags (5 returned)',0,0.00,2011,'C',1,80000,32000,'6.jpg'),(7,0,'DKC50-44','Dekalb','Roundup Ready 2, Poncho 1250','this variety stands poor in two fields. Does not like alkily but still yields good.\r\nMaximum yielder 260 bu in hpswest where stand is good.\r\n\r\nRM 100 LOT:757NED1NX\r\nSEED: AR2 (1 returned)',0,0.00,2011,'C',1,80000,32000,'7.jpg'),(8,0,'DKC50-47','Dekalb','Roundup Ready 2, Poncho 250','SEED SIZE: AR2\r\nMATURITY: 100\r\nMID-POLLINATION: 1265\r\nBLACK LAYER: 2530\r\nLOT NO: 253EAV4JX\r\nVARIETY: 79714221\r\nORIGIN: IL',8,0.00,2011,'C',1,80000,32000,'8.jpg'),(9,0,'54V09 Alfalfa','Pioneer','','Lot: P14NWPF13\r\nBATCH: P14NWPF13',8,0.00,2011,'A',1,50,12,'9.jpg'),(10,0,'P0125WB','Pioneer','Liberty Link, Roundup Ready 2 , Herculex xtra, Cruiser Mid Rate, PONCHO 1250, RAXIL HEAD SMUT','LOT:N3DON11023- N1 SEED: PDF REZ1\r\n RM 101\r\nCONTAINS 90% P0125XR & 10% P0125HR\r\n9 bags (0 returned)',0,0.00,2011,'C',1,80000,32000,'10.jpg'),(11,0,'P0125R','Pioneer','Roundup Ready 2, PONCHO 1250, RAXIL HEAD SMUT','RM 101 LOT:N3PRI11078- N1 SEED: PDR ALG1',0,0.00,2011,'C',1,80000,32000,'11.jpg'),(12,0,'P9252HR','Pioneer','Liberty Link, Roundup Ready 2 , Herculex I, PONCHO 1250 , RAXIL HEAD SMUT','2012 225.2@13.7 \r\n\r\n2011\r\nLOT:M1PNE11153-00 \r\nSEED: F14 YOR1\r\nRM 92',0,0.00,2012,'C',1,80000,32000,'12.jpg'),(13,0,'Pioneer P8917XR','Pioneer','','Delete PIONEER P0125 WB Liberty Link, Roundup Ready 2 , Herculex xtra, Cruiser Mid Rate, PONCHO 1250 , RAXIL HEAD SMUT LOT:N3 DON 11023- N1 SEED: PDF REZ1 RM 101 CONTAINS 90 % P0125 XR & 10 % ',0,0.00,2011,'C',1,80000,32000,'13.jpg'),(14,0,'P9512XR','Pioneer','Liberty Link, Roundup Ready 2, Herculex xtra, CruiserEXTREME 250','PAT PLOT\r\n\r\nLOT:N3DYS11014-00\r\nSEED: PDF\r\nRM 95\r\nORIGIN: IA',1,0.00,2011,'C',1,40000,32000,'14.jpg'),(15,0,'Sweet Corn','Burpee','None','Full bag of gotta have it.',0,500.00,2011,'C',1,80000,32000,'15.jpg'),(20,0,'P9512R','Pioneer','Roundup Ready 2, Poncho 1250','RM: 95\r\nSize: PDR\r\nGerm: 95%\r\nOrigin:IA\r\nLot No: N3ALG11025-N1',12,0.00,2011,'C',1,80000,32000,'20.jpg'),(21,0,'P0231HR','Pioneer','Liberty Link, Roundup Ready 2, Herculex I, PONCHO 1250','RM 99\r\n2011\r\nHY3RID:P:23:H.11 Kind: Field Corn\r\nSIZE: FI4 Wa- 1 ECT NO: M3PRI11043—N\r\nGERM: 93% t..5 5.D: DEC 010\r\nORIGIN:IL KERNELS/UNIT:80,000\r\nFERTILE CYTOPLASM\r\nPass tobbosscel proy,ded under restecr,u condf ions. See bag/tag/invoice for',1,0.00,2011,'C',1,80000,32000,'21.jpg'),(22,0,'monida oats','sharp seed','Spring\r\ncertified lot: W55-088-2955C\r\nConditioner: 10','',10,0.00,2011,'A',1,50,25,'22.jpg'),(23,0,'P9519HR','Pioneer','Liberty Link, Roundup Ready 2, Herculex I, PONCHO 1250','RM 99\r\n2011\r\nNv02 pdf 80k hi ist v $261.90\r\n\r\n2010 \r\nLOT:P3PLY11056-00\r\nSEED: PDF PLY1\r\n16 bags (4 Returned)',1,0.00,2011,'C',1,80000,32000,'23.jpg'),(24,0,'P0181XR','Pioneer','Liberty Link, Roundup Ready 2, Herculex I, PONCHO 1250, RALIX HEAD SMUT','RM: 101\r\nSize: F14\r\nGerm: 95%\r\nOrigin: OR\r\nLot No: M3HES11372-P5',1,0.00,2011,'C',1,80000,32000,'24.jpg'),(25,0,'DKC52-43','Dekalb','YIELDGUARD VT TRIPLE\r\nROUNDUP READY 2','SEED SIZE: P22\r\nMATURITY: 102\r\nMID-POLLINATION: 1285\r\nBLACK LAYER: 2550\r\nLOT NO: 7554LLL3JG\r\nVARIETY: B0000948\r\nORIGIN: IA',10,0.00,2011,'C',1,80000,32000,'25.jpg'),(26,0,'P9519HR','Pioneer','Liberty Link, Roundup Ready 2, Herculex I, PONCHO 1250, RAXIL HEAD SMUT','207.1@13.9\r\n\r\nRM: 95\r\n\r\n2012 SAMPLE\r\nSize: R23 LOT NO: L3CON11068-0\r\nGERM: 95% TESTED: MAR 2012\r\nORIGIN: MI \r\n\r\n2011\r\nSize: PDR\r\nGerm: 95%\r\nOrigin: WA\r\nLot No: M3CNN11031-P5',0,0.00,2012,'C',1,80000,32000,'26.jpg'),(27,0,'P9714XR','Pioneer','Liberty Link, Roundup Ready 2, Herculex I, PONCHO 1250','PAT PLOT\r\n\r\nRM 99\r\n2011\r\nNv02 pdf 80k hi ist v $261.90\r\n\r\n2010 \r\nLOT:P3PLY11056-00\r\nSEED: PDF PLY1\r\n16 bags (4 Returned)',1,0.00,2011,'C',1,40000,32000,'27.jpg'),(28,0,'P9252HR','Pioneer','PAT PLOT\r\n\r\nLiberty Link, Roundup Ready 2, Herculex xtra, Cruiser Mid Rate','LOT:N3DYS11014-00\r\nSEED: PDR MTP1\r\nRM 95',1,0.00,2011,'C',1,40000,32000,'28.jpg'),(29,0,'3212X','triump','CRUISER\r\nExtreme250\r\n900-015980/00336095\r\nn\\\', t) \\\" A _\r\nBox 1050 - Rails. TX 79357\r\nSTATE PERMITS—TX 13032, —MO W70481. —OK 7497. —AR R609\r\n\r\nBrand: 3212X\r\nWARNING: SEED TREATED WITH\r\nCI NO: C.I.\r\nM','GRADE SZ: F1 LOT: 06FY0J-C2\r\nKERNELS: 80,000 GERM: 95%\r\nSEEDS/LB: 2,041 DATE TESTED: Mar-11\r\nPLATE: B17 ORIGIN: NE\r\nPURE SEED: 99.50% OTHER CROP SEED: 0.00%\r\nINERT: 0.50% WEED SEED: 0.00%\r\nNOXIOUS WEED SEED: NONE',1,0.00,2011,'C',1,80000,32000,'29.jpg'),(30,0,'9502S','triumph','','GRADE SZ: F2 LOT: 50FGOD-A\r\nKERNELS: 80,000 GERM: 95%\r\nSEEDS/LB: 1,572 DATE TESTED: Feb-11\r\nPLATE: 87 ORIGIN: IL\r\nPURE SEED: 99.50% OTHER CROP SEED 0.00%\r\nINERT: 0.50% WED SEED: 0.00%\r\nNOXIOUS WEED SEED: NONE',1,0.00,2011,'C',1,80000,32000,'30.jpg'),(31,0,'9502S','Triumph','SMARTSTAX, Roundup 2, LIBERTY LINK','2012\r\nGRADE SZ: F2 LOT: 50FYOD1-C2\r\nKERNELS: 80,000 GERM: 95%\r\nSEEDS/LB: 1,572 DATE TESTED: DEC-11\r\nPLATE: B7-C7 ORIGIN: NE\r\nPURE SEED: 99.50% OTHER CROP SEED 0.00%\r\nINERT: 0.50% WED SEED: 0.00%\r\nNOXIOUS WEED SEED: NONE\r\nPrice up from 205 to 209\r\n\r\n2011\r\nGRADE SZ: F2 LOT: 50FGOD-A\r\nKERNELS: 80,000 GERM: 95%\r\nSEEDS/LB: 1,572 DATE TESTED: Feb-11\r\nPLATE: 87 ORIGIN: IL\r\nPURE SEED: 99.50% OTHER CROP SEED 0.00%\r\nINERT: 0.50% WED SEED: 0.00%\r\nNOXIOUS WEED SEED: NONE',0,209.00,2012,'C',1,80000,32000,'31.jpg'),(32,0,'3212S','Triumph','SMARTSTAX, ROUNDUP READY 2, LIBERTY LINK','233 bu @ 15.8%\r\n\r\n2012\r\nGRADE SZ: R1 LOT: 06RY1K-A2\r\nKERNELS: 80,000 GERM: 92%\r\nSEEDS/LB: 1697 DATE TESTED: DEC-11\r\nPLATE: B2 - C2X ORIGIN: NE\r\nPURE SEED: 99.0% OTHER CROP SEED: 0.02%\r\nINERT: 0.98% WEED SEED: 0.00%\r\nNOXIOUS WEED SEED: NONE\r\n\r\n2011\r\nGRADE SZ: F1 LOT: 06FY0J-C2\r\nKERNELS: 80,000 GERM: 95%\r\nSEEDS/LB: 2,041 DATE TESTED: Mar-11\r\nPLATE: B17 ORIGIN: NE\r\nPURE SEED: 99.50% OTHER CROP SEED: 0.00%\r\nINERT: 0.50% WEED SEED: 0.00%\r\nNOXIOUS WEED SEED: NONE\r\n$205',0,209.00,2012,'C',1,80000,32000,'32.jpg'),(33,0,'DKC52-59','Dekalb','YieldGuard VT Triple, Roundup Ready 2, Poncho 250','230.8@14.9%\r\nRM 102\r\n2012\r\nreceived 30 units and returned 14 bags\r\nLOT: 757W4R4JX\r\nVARIETY: 4688380 \r\nSEED SIZE: AR2 and AR\r\nMATURITY: 102\r\nMID-POLLINATION: 1280\r\nBLACK LAYER: 2540\r\n\r\n2011 $229.00\r\nLOT NO: 253EAV4JX\r\nVARIETY: 79714221\r\nORIGIN: IL\r\n2011\r\n LOT:757CDV9NX\r\nSEED: AF2',0,301.00,2012,'C',0,80000,32000,'33.jpg'),(34,0,'P37K11','Pioneer','Liberty Link, Roundup Ready 2, Herculex I, PONCHO 1250','best vigor and height\r\n196.6@14.3%\r\n\r\n2013\r\nNV02 PDF 80K HI IST V\r\n\r\nRM 99\r\n2012\r\nSize: R23 YOR1\r\nGerm: 95%\r\nOrigin:IA\r\nLot No: M3DYS11013-N\r\n\r\n2011\r\nSize: F14\r\nGerm: 95%\r\nOrigin:IA\r\nLot No: M3DYS11013-N\r\n\r\n\r\n2010 \r\nLOT:P3PLY11056-00\r\nSEED: PDF PLY1\r\n16 bags (4 Returned)',12,264.03,2013,'C',0,80000,32000,'34.jpg'),(35,0,'P9252HR','Pioneer','Liberty Link, Roundup Ready 2 , Herculex I, PONCHO 1250 , RAXIL HEAD SMUT','2012\r\n\r\n2011\r\nLOT:M1PNE11153-00 \r\nSEED: F14 YOR1\r\nRM 92',0,235.00,2012,'C',1,80000,32000,'35.jpg'),(36,0,'DKC50-47','Dekalb','Roundup Ready 2, Poncho 250','poorest drying good yield\r\n\r\n242.8@15.8\r\n2012\r\nSEED SIZE: AR2\r\nMATURITY: 100\r\nMID-POLLINATION: 1265\r\nBLACK LAYER: 2530\r\nLOT NO: 766 W R R7 JX\r\nVARIETY: 7971421\r\nORIGIN: IL\r\n\r\n2011\r\nSEED SIZE: AR2\r\nMATURITY: 100\r\nMID-POLLINATION: 1265\r\nBLACK LAYER: 2530\r\nLOT NO: 253EAV4JX\r\nVARIETY: 79714221\r\nORIGIN: IL',0,215.00,2012,'C',1,80000,32000,'36.jpg'),(37,0,'P0231HR','Pioneer','Liberty Link, Roundup Ready 2, Herculex I, PONCHO 1250','Triumph better 214@15.3%\r\n\r\n2013\r\nNS07 MF 80 M IST RA\r\n\r\nRM 99\r\nTop yielder in 2011 plot\r\n\r\n2011\r\nHY3RID:P:23:H.11 Kind: Field Corn\r\nSIZE: FI4 Wa- 1 ECT NO: M3PRI11043—N\r\nGERM: 93% t..5 5.D: DEC 010\r\nORIGIN:IL KERNELS/UNIT:80,000\r\nFERTILE CYTOPLASM\r\nPass tobbosscel proy,ded under restecr,u condf ions. See bag/tag/invoice for',6,275.91,2013,'C',0,80000,32000,'37.jpg'),(38,0,'DKC45-79','Dekalb','YieldGuard VT Triple, Roundup Ready 2, Poncho 250','this variety appears to have a good stand\r\nfor early corn it does not dry fast\r\n2012\r\nSize AR and AR2\r\n\r\nRM 95\r\n2011 $215.00\r\nLOT:754PMT4NX\r\nSEED: P22 (1 returned)',0,257.00,2012,'C',1,80000,32000,'38.jpg'),(39,0,'DKC52-43','Dekalb','YIELDGUARD VT TRIPLE\r\nROUNDUP READY 2','Fastest drying corn \r\n237.8@14.1\r\n2011\r\n\r\n2012\r\nSEED SIZE: P22\r\nMATURITY: 102\r\nMID-POLLINATION: 1285\r\nBLACK LAYER: 2550\r\nLOT NO: 757KL97JX\r\nVARIETY: B0000948\r\nORIGIN: IA\r\nTREATMENT: WAIH1\r\n\r\n2011\r\nSEED SIZE: P22\r\nMATURITY: 102\r\nMID-POLLINATION: 1285\r\nBLACK LAYER: 2550\r\nLOT NO: 7554LLL3JG\r\nVARIETY: B0000948\r\nORIGIN: IA',18,235.00,2013,'C',0,80000,32000,'39.jpg'),(40,0,'Counter','Amarican Cyanimid','death',' ',0,80.00,2013,'I',0,45,5,'40.jpg'),(41,0,'P0181HR','Pioneer','Liberty Link, Roundup Ready 2, Herculex I, PONCHO 1250, RALIX HEAD SMUT\r\ndo not plant in alkali the triumph does much better.','241.7@15.5\r\n\r\n2013\r\nNW04 MR 80 H IST V RA\r\n\r\nRM: 101\r\nSize: F14\r\nGerm: 95%\r\nOrigin: OR\r\nLot No: M3HES11372-P5',12,267.69,2013,'C',0,80000,32000,'41.jpg'),(42,0,'P8640HR','Pioneer','Liberty Link, Roundup Ready 2, Herculex I, PONCHO 1250','Poor yield but very dry\r\n\r\nRM: 101\r\nSize: PDF\r\nGerm: 95%\r\nOrigin: OR\r\nLot No:',0,0.00,2012,'C',1,80000,32000,'42.jpg'),(43,0,'P9252R','Pioneer','PAT PLOT\r\n\r\nRoundup Ready 2, RAXIL, PONCHO 1250','poor at severance.\r\n\r\nRM 92\r\nLOT: L3REI11027-N TESTED: MAR 2012\r\nSEED: PDF \r\nGERM: 95%\r\nORIGIN: IA',0,0.00,2012,'C',1,40000,32000,'43.jpg'),(44,0,'P9690HR','Pioneer','PAT PLOT\r\n\r\nLiberty Link, Roundup Ready 2, Herculex xtra, Cruiser Mid Rate','2012: 223.8@14.8\r\n\r\nLOT:\r\nSEED: MF\r\nRM',0,0.00,2012,'C',1,80000,32000,'44.jpg'),(45,0,'P9714AM1','Pioneer','Liberty Link, Roundup Ready 2, AM1, PONCHO 1250','PAT PLOT 2012: 205.9@ 14.5',0,0.00,2012,'C',1,80000,32000,'45.jpg'),(46,0,'DKC46-20','Dekalb','YieldGuard VT Triple, Roundup Ready 2, Poncho 250','this variety appears to have a good stand\r\nfor early corn it does not dry fast\r\n2012\r\nSize AR and AR2\r\n\r\nRM 95\r\n2011 $215.00\r\nLOT:754PMT4NX\r\nSEED: P22 (1 returned)',18,257.00,2013,'C',0,80000,32000,'46.jpg'),(47,0,'P9305YHR','Pioneer','YGCB/HX1/LL/RR2','NW02 PDF 80 H IST V R',1,310.90,2013,'C',0,80000,32000,'47.jpg'),(48,0,'P9675AMX','Pioneer','AMX/LL/RR2','NM07 MF 80K MD IST',1,307.00,2013,'C',0,80000,32000,'48.jpg'),(49,0,'P9690AM','Pioneer','AM/LL/RR2/A Q','NW02 PDF 80 H IST V R',1,320.90,2013,'C',0,80000,32000,'49.jpg'),(50,0,'P9973YXR','Pioneer','YGCB/HXX/LL/RR2','NW02 PDF 80 H IST V\r\nR',1,342.90,2013,'C',0,80000,32000,'50.jpg'),(51,0,'T3212RA','Triumph','SMARTSTAX, ROUNDUP READY 2, LIBERTY LINK','',12,230.00,2013,'C',0,80000,32000,'51.jpg'),(52,0,'T9669RA','Triumph','SMARTSTAX, Roundup 2, LIBERTY LINK','does dry down good but is not as fast as the DK 52 dash 43',3,230.00,2013,'C',0,80000,32000,'52.jpg'),(53,0,'T9811S','Triumph','SMARTSTAX, Roundup 2, LIBERTY LINK',' ',6,220.00,2013,'C',0,80000,32000,'53.jpg'),(54,0,'T9946RA','Triumph','SMARTSTAX, Roundup 2, LIBERTY LINK',' ',3,230.00,2013,'C',0,80000,32000,'54.jpg'),(55,0,'Willow Wheat','Sharp Brothers','Nobe',' ',15,40.00,2014,'W',1,0,70,'55.jpg'),(56,0,'DKC52-59','Dekalb','YIELDGUARD VT TRIPLE\r\nROUNDUP READY 2','Fastest drying corn \r\n237.8@14.1\r\n2011\r\n\r\n2012\r\nSEED SIZE: P22\r\nMATURITY: 102\r\nMID-POLLINATION: 1285\r\nBLACK LAYER: 2550\r\nLOT NO: 757KL97JX\r\nVARIETY: B0000948\r\nORIGIN: IA\r\nTREATMENT: WAIH1\r\n\r\n2011\r\nSEED SIZE: P22\r\nMATURITY: 102\r\nMID-POLLINATION: 1285\r\nBLACK LAYER: 2550\r\nLOT NO: 7554LLL3JG\r\nVARIETY: B0000948\r\nORIGIN: IA',23,315.00,2014,'C',0,80000,32000,'56.jpg'),(57,0,'P0231HR','Pioneer','Liberty Link, Roundup Ready 2, Herculex I, PONCHO 1250','2013\r\nNS07 MF 80 M IST RA\r\n\r\nRM 99\r\nTop yielder in 2011 plot\r\n\r\n2011\r\nHY3RID:P:23:H.11 Kind: Field Corn\r\nSIZE: FI4 Wa- 1 ECT NO: M3PRI11043—N\r\nGERM: 93% t..5 5.D: DEC 010\r\nORIGIN:IL KERNELS/UNIT:80,000\r\nFERTILE CYTOPLASM\r\nPass tobbosscel proy,ded under restecr,u condf ions. See bag/tag/invoice for',12,275.91,2014,'C',0,80000,32000,'57.jpg'),(58,0,'T3212RA','Triumph','SMARTSTAX, ROUNDUP READY 2, LIBERTY LINK\r\n50FM2P3-C2','Steve,\r\n\r\nHere is the following corn order as we discussed yesterday.\r\n\r\n20 bags of 3212RA - $225/bag\r\n12 bags of 9669RA - $225/bag\r\n6 bags of 9331RA - $225/bag (buy three get three)\r\n\r\nPlease let me know if you have any further questions!\r\n\r\nThanks,\r\nTrent\r\n\r\nTrent Leisy Sales Representative\r\nCell: 970-215-0331 TLLeisy@dow.com\r\n\r\nMycogen Seeds www.mycogen.com \r\n921 Campfire Drive, Fort Collins, CO 80524\r\n\r\nDow AgroSciences LLC',26,225.00,2014,'C',0,80000,32000,'58.jpg'),(59,0,'T9669RA','Triumph','SMARTSTAX, Roundup 2, LIBERTY LINK','6 _ 06RP1T3-C2 AND 6- 50RP1T3 - C2',18,225.00,2014,'C',0,80000,32000,'59.jpg'),(60,0,'P9690HR','Pioneer','AM/LL/RR2/A Q','NW02 PDF 80 H IST V R',12,320.90,2014,'C',0,80000,32000,'60.jpg'),(61,0,'T9331RA','Triumph','SMARTSTAX, Roundup 2, LIBERTY LINK',' 6 bags of 9331RA - $225/bag (buy three get three)',6,225.00,2014,'C',0,80000,32000,'61.jpg'),(62,0,'DKC49-29','Dekalb','YIELDGUARD VT TRIPLE\r\nROUNDUP READY 2','',4,355.00,2014,'C',0,80000,32000,'62.jpg'),(63,0,'DKRIB','Dekalb','YIELDGUARD VT TRIPLE\r\nROUNDUP READY 2','',9,237.00,2014,'C',0,80000,32000,'63.jpg'),(64,0,'P54VR03 Alfalfa','Pioneer','Roundup Ready',' ',5,400.00,2014,'A',1,50,12,'64.jpg'),(65,0,'P0157YXR','Pioneer','Liberty Link, Roundup Ready 2, Herculex I, PONCHO 1250','2013\r\nNS07 MF 80 M IST RA\r\n\r\nRM 99\r\nTop yielder in 2011 plot\r\n\r\n2011\r\nHY3RID:P:23:H.11 Kind: Field Corn\r\nSIZE: FI4 Wa- 1 ECT NO: M3PRI11043—N\r\nGERM: 93% t..5 5.D: DEC 010\r\nORIGIN:IL KERNELS/UNIT:80,000\r\nFERTILE CYTOPLASM\r\nPass tobbosscel proy,ded under restecr,u condf ions. See bag/tag/invoice for',1,275.91,2014,'C',0,80000,32000,'65.jpg'),(66,0,'P0157AMX','Pioneer','Liberty Link, Roundup Ready 2, Herculex I, PONCHO 1250','2013\r\nNS07 MF 80 M IST RA\r\n\r\nRM 99\r\nTop yielder in 2011 plot\r\n\r\n2011\r\nHY3RID:P:23:H.11 Kind: Field Corn\r\nSIZE: FI4 Wa- 1 ECT NO: M3PRI11043—N\r\nGERM: 93% t..5 5.D: DEC 010\r\nORIGIN:IL KERNELS/UNIT:80,000\r\nFERTILE CYTOPLASM\r\nPass tobbosscel proy,ded under restecr,u condf ions. See bag/tag/invoice for',1,275.91,2014,'C',0,80000,32000,'66.jpg'),(67,0,'P9973AMX','Pioneer','AM/LL/RR2/A Q','NW02 PDF 80 H IST V R',1,320.90,2014,'C',0,80000,32000,'67.jpg'),(68,0,'P9789AMX','Pioneer','AM/LL/RR2/A Q','NW02 PDF 80 H IST V R',1,320.90,2014,'C',0,80000,32000,'68.jpg'),(69,0,'P9697AM','Pioneer','AM/LL/RR2/A Q','NW02 PDF 80 H IST V R',1,320.90,2014,'C',0,80000,32000,'69.jpg'),(70,0,'DKC52-04RIB','Dekalb','YIELDGUARD VT TRIPLE\r\nROUNDUP READY 2\r\nLot 757RXJ7JT','Fastest drying corn \r\n237.8@14.1\r\n2011\r\n\r\n2012\r\nSEED SIZE: P22\r\nMATURITY: 102\r\nMID-POLLINATION: 1285\r\nBLACK LAYER: 2550\r\nLOT NO: 757KL97JX\r\nVARIETY: B0000948\r\nORIGIN: IA\r\nTREATMENT: WAIH1\r\n\r\n2011\r\nSEED SIZE: P22\r\nMATURITY: 102\r\nMID-POLLINATION: 1271\r\nBLACK LAYER: 2550A',40,34.00,2015,'C',0,80000,32000,'70.jpg'),(71,0,'P9690AM','Pioneer','AM/LL/RR2/AQ NW07 MF 8O H IST V RA \r\n\r\nRegular 12.0 $333.00 $3,996.00 $303.03','NW02 PDF 80 H IST V R',12,33.00,2015,'C',0,80000,32000,'71.jpg'),(72,0,'2A557a','MYCOGEN','SMARTSTAX, ROUNDUP READY 2, LIBERTY LINK\r\n50FM2P3-C2','3 bags triumph 3212RA from last year included\r\nSteve,\r\n\r\nHere is the following corn order as we discussed yesterday.\r\n\r\n20 bags of 3212RA - $225/bag\r\n12 bags of 9669RA - $225/bag\r\n6 bags of 9331RA - $225/bag (buy three get three)\r\n\r\nPlease let me know if you have any further questions!\r\n\r\nThanks,\r\nTrent\r\n\r\nTrent Leisy Sales Representative\r\nCell: 970-215-0331 TLLeisy@dow.com\r\n\r\nMycogen Seeds www.mycogen.com \r\n921 Campfire Drive, Fort Collins, CO 80524\r\n\r\nDow AgroSciences LLC',33,225.00,2015,'C',0,80000,32000,'72.jpg'),(73,0,'55VR05','Pioneer','55VR05 Muscle GEN N221 50# BAG FST \r\nRR \r\nRegular 5.0 $315.00 $1,575.00 $292.95\r\n\r\nRound up ready','',5,292.00,2015,'C',0,50,12,'73.jpg'),(74,0,'P9690R','Pioneer','REFUGE\r\n\r\nRR2/AQ NW02 PDF 80 H IST V R \r\n\r\nRegular 5.0 $317.00 $1585.00','NW02 PDF 80 H IST V R',5,31.00,2015,'C',0,80000,32000,'74.jpg'),(75,0,'P9697AM','Pioneer','P9697AM AMILLIRR2IA NW01 PDR 80 H IST V R \r\n0 \r\nRegular 12.0 $343.00 $4,116.00 $312.13','NW02',21,312.10,2015,'C',0,80000,32000,'75.jpg'),(77,0,'P0157R','Pioneer','RR2/AQ','',1,0.00,2015,'C',0,80000,32000,'77.jpg'),(78,0,'P0302CHR','Pioneer','RW/HX1/LL/RR2','',1,0.00,2015,'C',0,80000,32000,'78.jpg'),(79,0,'P9789AMXT','Pioneer',' AMXT/LL/RR2 NM07 MF 80K MD IST',' ',1,0.00,2015,'C',0,80000,32000,'79.jpg'),(80,0,'P9697AMT','Pioneer','AMT/LL/RR2/AQ NW02 PDF 80 H IST V R \r\n0 \r\nRegular 12.0 $343.00 $4,116.00 $312.13','NW02',6,312.10,2015,'C',0,80000,32000,'80.jpg'),(81,0,'DKC52-04RIB','Dekalb','YIELDGUARD VT TRIPLE\r\nROUNDUP READY 2\r\nLot 757RXJ7JT\r\n\r\n?????','Fastest drying corn \r\n237.8@14.1\r\n2011\r\n\r\n2012\r\nSEED SIZE: P22\r\nMATURITY: 102\r\nMID-POLLINATION: 1285\r\nBLACK LAYER: 2550\r\nLOT NO: 757KL97JX\r\nVARIETY: B0000948\r\nORIGIN: IA\r\nTREATMENT: WAIH1\r\n\r\n2011\r\nSEED SIZE: P22\r\nMATURITY: 102\r\nMID-POLLINATION: 1271\r\nBLACK LAYER: 2550A',40,340.00,2016,'C',0,80000,32000,'81.jpg'),(82,0,'P0157R','Pioneer','P0157R RR2/AQ NW02 PDF 80 H IST V R',' ',23,288.50,2016,'C',0,80000,32000,'82.jpg'),(83,0,'P9789AMXT','Pioneer','P9789AMXT AMXT/LL/RR2 NM04 MR 80K MD IST',' ',29,315.00,2016,'C',0,80000,32000,'83.jpg'),(84,0,'2A557a','MYCOGEN','SMARTSTAX, ROUNDUP READY 2, LIBERTY LINK\r\n50FM2P3-C2','3 bags triumph 3212RA from last year included\r\nSteve,\r\n\r\nHere is the following corn order as we discussed yesterday.\r\n\r\n20 bags of 3212RA - $225/bag\r\n12 bags of 9669RA - $225/bag\r\n6 bags of 9331RA - $225/bag (buy three get three)\r\n\r\nPlease let me know if you have any further questions!\r\n\r\nThanks,\r\nTrent\r\n\r\nTrent Leisy Sales Representative\r\nCell: 970-215-0331 TLLeisy@dow.com\r\n\r\nMycogen Seeds www.mycogen.com \r\n921 Campfire Drive, Fort Collins, CO 80524\r\n\r\nDow AgroSciences LLC',33,225.00,2016,'C',0,80000,32000,'84.jpg'),(85,0,'55VR05','Pioneer','Muscle GEN RR N221 50# BAG FST\r\n\r\nRound up ready','Regular 6.0 $292 down from $315.00 $1,575.00 $292.95',6,292.00,2016,'A',0,50,13,'85.jpg'),(86,0,'RC5112 3122A','Rob Seed','NO LIBERTY LINK','',10,0.00,2016,'C',0,80000,32000,'86.jpg'),(87,0,'P9697AMT','Pioneer','P9697AMT AMT/LL/RR2/AQ NW04 MR 80 H IST V RA','',1,0.00,2016,'C',0,80000,32000,'87.jpg'),(88,0,'P0157AMX','Pioneer','P0157AMX AMX/LL/RR2/AQ NS01 PDR 80 M IST R','',1,0.00,2016,'C',0,80000,32000,'88.jpg'),(89,0,'P0339AMT','Pioneer','P0339AMT AMT/LL/RR2/AQ NW04 MR 80 H IST V RA','',1,0.00,2016,'C',0,80000,32000,'89.jpg'),(90,0,'55VR05','Pioneer','55VR05 Muscle GEN RR N221 50# BAG FST\r\n\r\nRound up ready','??? Regular 6.0 $292 down from $315.00 $1,575.00 $292.95',6,292.00,2017,'A',0,50,14,'90.jpg'),(91,0,'P9789AMXT','Pioneer','AMXT/LL/RR2 NM04 MR 80K MD IST','P9789AMXT AMXT/LL/RR2 NM04 MR 80K MD IST Regular 33.0 $354.00 $11,682.00 $297.61',51,297.00,2017,'C',0,80000,34000,'91.jpg'),(92,0,'P0157AMX','Pioneer','AMX/LL/RR2/AQ NWP9 40 PKP H IST R VO','P0157AMX AMX/LL/RR2/AQ NWP9 40 PKP H IST R VO Regular 1.0 $191.00 $191.00 $160.57',1,160.50,2017,'C',0,80000,34000,'92.jpg'),(93,0,'P0157AMX','Pioneer','AMX/LL/RR2/AQ NS02 PDF 80 M IST R','P0157AMX AMX/LL/RR2/AQ NS02 PDF 80 M IST R Regular 1.0 $355.00 $355.00 $298.45',1,298.45,2017,'C',0,80000,34000,'93.jpg'),(94,0,'P0157R','Pioneer','RR2/AQ NW02 PDF 80 H IST V R','P0157R RR2/AQ NW02 PDF 80 H IST V R Regular 23.0 $322.00 $7,406.00 $270.70',23,270.70,2017,'C',0,80000,34000,'94.jpg'),(95,0,'P0339AMT','Pioneer','AMT/LL/RR2/AQ NW02 PDF 80 H IST V R','P0339AMT AMT/LL/RR2/AQ NW02 PDF 80 H IST V R Regular 1.0 $369.00 $369.00 $310.22',1,310.22,2017,'C',0,80000,34000,'95.jpg'),(96,0,'P9188AMX','Pioneer','AMX/LL/RR2 NWP9 40 PKP H IST R VO','P9188AMX AMX/LL/RR2 NWP9 40 PKP H IST R VO Regular 1.0 $193.50 $193.50 $162.67',1,162.67,2017,'C',0,80000,34000,'96.jpg'),(97,0,'P9608AM','Pioneer','AM/LL/RR2 NWP9 40 PKP H IST R VO','P9608AM AM/LL/RR2 NWP9 40 PKP H IST R VO Regular 1.0 $173.50 $173.50 $145.86',1,145.86,2017,'C',0,80000,34000,'97.jpg'),(98,0,'P9621AMXT','Pioneer','AMXT/LL/RR2 NJP9 40K PKP MD LR','P9621AMXT AMXT/LL/RR2 NJP9 40K PKP MD LR Regular 1.0 $184.00 $184.00 $154.69',1,154.69,2017,'C',0,80000,34000,'98.jpg'),(99,0,'P9697AMT','Pioneer','AMT/LL/RR2/AQ NWP9 40 PKP H IST R VO','P9697AMT AMT/LL/RR2/AQ NWP9 40 PKP H IST R VO Regular 1.0 $179.50 $179.50 $150.90',1,150.90,2017,'C',0,80000,34000,'99.jpg'),(100,0,'P9697AMT','Pioneer','AMT/LL/RR2/AQ NW02 PDF 80 H IST V R','P9697AMT AMT/LL/RR2/AQ NW02 PDF 80 H IST V R Regular 1.0 $359.00 $359.00 $301.81',1,301.81,2017,'C',0,80000,34000,'100.jpg'),(101,0,'P9789AMXT','Pioneer','AMXT/LL/RR2 NVP9 40K PKP HI IST VO','P9789AMXT AMXT/LL/RR2 NVP9 40K PKP HI IST VO Regular 1.0 $190.50 $190.50 $160.15',1,160.15,2017,'C',0,80000,34000,'101.jpg'),(102,0,'P9998AMXT','Pioneer','AMXT/LL/RR2/AQ NJP9 40K PKP MD LR','P9998AMXT AMXT/LL/RR2/AQ NJP9 40K PKP MD LR Regular 1.0 $183.50 $183.50 $154.28',1,154.28,2017,'C',0,80000,34000,'102.jpg'),(103,0,'DK46-36','Dekalb','YIELDGUARD VT TRIPLE\r\nROUNDUP READY 2\r\nLot 757RXJ7JT\r\n\r\n?????','SEED SIZE: P22\r\nMATURITY: 102\r\nMID-POLLINATION: 1285\r\nBLACK LAYER: 2550\r\nLOT NO: 757KL97JX\r\nVARIETY: B0000948\r\nORIGIN: IA\r\nTREATMENT: WAIH1\r\n\r\n2011\r\nSEED SIZE: P22\r\nMATURITY: 102\r\nMID-POLLINATION: 1271\r\nBLACK LAYER: 2550A',50,340.00,2017,'C',0,80000,34000,'103.jpg'),(104,0,'DUMMY','DUMMY','','',18,0.00,2018,'C',0,80000,34000,'104.jpg'),(105,0,'197-68STX','Challenger','197-68STXRIB BLEND 80M A500V','',1,313.00,2017,'C',0,80000,32000,'105.jpg'),(106,0,'203-01STX','Challenger','203-01STXRIB BLEND 80M A500V','',1,366.00,2017,'C',0,80000,32000,'106.jpg'),(107,0,'P9120AM','Pioneer','AMX/LL/RR2 NWP9 40 PKP H IST R VO','P9188AMX AMX/LL/RR2 NWP9 40 PKP H IST R VO Regular 1.0 $193.50 $193.50 $162.67',1,0.00,2017,'C',0,80000,32000,'107.jpg'),(108,0,'P8761AMXT','Pioneer','AMXT/LL/RR2 NM04 MR 80K MD IST','P9789AMXT AMXT/LL/RR2 NM04 MR 80K MD IST Regular 33.0 $354.00 $11,682.00 $297.61',1,0.00,2017,'C',0,80000,32000,'108.jpg'),(109,0,'DK46-36','Dekalb','SmartStax RIB complete\r\n?????','SEED SIZE: P22\r\nMATURITY: 96\r\nMID-POLLINATION: 1246\r\nBLACK LAYER: 2400\r\nLOT NO: 786MY33JX\r\nVARIETY: A 105252 94% germ\r\nORIGIN: IA\r\nTREATMENT: WAIH1\r\n\r\n2011\r\nSEED SIZE: P22\r\nMATURITY: 102\r\nMID-POLLINATION: 1271\r\nBLACK LAYER: 2550A',50,340.00,2018,'C',0,80000,34000,'109.jpg'),(110,0,'P9998AMXT','Pioneer','AMXT/LL/\r\nLiberty link Hercules and Cruiser 500 and acre Max\r\n\r\n\r\n\r\nGermination 95%','P9998AMXT AMXT/LL/RR2/AQ NJP9 40K PKP MD LR Regular 1.0 $183.50 $183.50 $154.28\r\nLot number D3DON 11042 - 00',25,300.00,2018,'C',0,80000,34000,'110.jpg'),(111,0,'P9789AMXT','Pioneer','AMXT/LL/RR2 NM04 MR 80K MD IST','Germ 95% \r\nLot number D3CON11053 - 00',25,300.00,2018,'C',0,80000,34000,'111.jpg'),(112,0,'203-01STX','Channel','203-01STXRIB BLEND 80M A500V','103 day corn\r\n variety: 1062 990 also variety: 106547 7\r\nLot number E48gx52W8',1,366.00,2018,'C',0,80000,34000,'112.jpg'),(113,0,'55VR05','Pioneer','Muscle GEN RR N221 50# BAG FST','55VR05 Muscle GEN RR N221 50# BAG FST Regular P14C49 Winter; Steve ‐1.0\r\nAlfalfa Total ‐1.0',2,400.00,2019,'A',0,80000,34000,'113.jpg'),(114,0,'P9492AM','Pioneer','AM/LL/RR2 NJ07 MF','80K MD IST LR Winter; Steve 8.0 8.0 0.0',8,333.00,2019,'C',0,80000,33000,'114.jpg'),(115,0,'P9789AMXT','Pioneer','AMXT/LL/RR2 NS02 PDF','80 M IST R Winter; Steve 24.0 24.0 0.0',24,333.00,2019,'C',0,80000,33000,'115.jpg'),(116,0,'P9998AMXT','Pioneer','AMXT/LL/RR2/AQ NC02 PDF','80MK MID RAX Winter; Steve 24.0 24.0 0.0',24,333.00,2019,'C',0,80000,33000,'116.jpg'),(117,0,'DK46-36','Dekalb','SmartStax RIB complete','SEED SIZE: AR2\r\nMATURITY: 96\r\nMID-POLLINATION: 1246\r\nBLACK LAYER: 2400\r\nLOT NO: 786MY33JX\r\nVARIETY: A 105252 94% germ\r\nORIGIN: IA\r\nTREATMENT: WAIH1\r\n\r\n2011\r\nSEED SIZE: P22\r\nMATURITY: 102\r\nMID-POLLINATION: 1271\r\nBLACK LAYER: 2550A',50,340.00,2019,'C',0,80000,33000,'117.jpg'),(118,0,'203-01STXRIB','Channel','203-01STXRIB BLEND 80M A500V','103 day corn\r\n variety: 1062 990 also variety: 106547 7\r\nLot number E48gx52W8',24,366.00,2019,'C',0,80000,33000,'118.jpg'),(119,0,'197-90STXRIB','Channel','BLEND 80M A500V 97 day LOT G54R36GD8','97 day',24,366.00,2020,'C',0,80000,33000,'119.jpg'),(120,0,'DK46-36','Dekalb','SmartStax RIB complete','SEED SIZE: AR2\r\nMATURITY: 96\r\nMID-POLLINATION: 1246\r\nBLACK LAYER: 2400\r\nLOT NO: 786PK37JX\r\nVARIETY: A 105252 94% germ\r\nORIGIN: IA\r\nTREATMENT: WAIH1\r\n\r\n2011\r\nSEED SIZE: P22\r\nMATURITY: 102\r\nMID-POLLINATION: 1271\r\nBLACK LAYER: 2550A',36,340.00,2020,'C',0,80000,33000,'120.jpg'),(121,0,'P9789AMXT','Pioneer','AMXT/LL/RR2 NS02 PDF','80 M IST R Winter; Steve 24.0 24.0 0.0',24,329.00,2020,'C',0,80000,32000,'121.jpg'),(122,0,'P9998AMXT','Pioneer','AMXT/LL/RR2/AQ NC02 PDF','80MK MID RAX Winter; Steve 24.0 24.0 0.0',24,348.00,2020,'C',0,80000,32000,'122.jpg'),(123,0,'DK45-65','Dekalb','SmartStax RIB complete','SEED SIZE: AR2\r\nMATURITY: 95\r\nMID-POLLINATION: 1244\r\nBLACK LAYER: 2375\r\nLOT NO: 748WNA4JX\r\nVARIETY: A 105252 94% germ\r\nORIGIN: IA\r\nTREATMENT: FALH2V',12,340.00,2020,'C',0,80000,33000,'123.jpg'),(124,0,'DKC51-91RIB','Dekalb','SmartStax RIB complete','SEED SIZE: AR2\r\nMATURITY: 95\r\nMID-POLLINATION: 1244\r\nBLACK LAYER: 2375\r\nLOT NO: 748WNA4JX\r\nVARIETY: A 105252 94% germ\r\nORIGIN: IA\r\nTREATMENT: FALH2V',46,340.00,2021,'C',0,80000,33000,'124.jpg'),(125,0,'197-90STXRIB','Channel','BLEND 80M A500V 97 day LOT G54R36GD8','97 day',24,366.00,2021,'C',0,80000,33000,'125.jpg'),(126,0,'199-60STXRIB','Channel','99 day','',24,366.00,2021,'C',0,80000,33000,'126.jpg'),(127,0,'RR488','Channel','Alfalfa','',10,499.00,2021,'C',0,50,19,'127.jpg'),(128,0,'199-11STXRIB','Channel','99 day','',12,366.00,2021,'C',0,80000,33000,'128.jpg'); /*!40000 ALTER TABLE `products` ENABLE KEYS */; UNLOCK TABLES; -- -- Table structure for table `storage` -- DROP TABLE IF EXISTS `storage`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `storage` ( `storageid` tinyint(4) NOT NULL, `date_stored` date NOT NULL, `stored` varchar(250) NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Dumping data for table `storage` -- LOCK TABLES `storage` WRITE; /*!40000 ALTER TABLE `storage` DISABLE KEYS */; INSERT INTO `storage` VALUES (1,'2012-07-17','LEVEL|10|ATTEMPTS|1'),(2,'0000-00-00',''); /*!40000 ALTER TABLE `storage` ENABLE KEYS */; UNLOCK TABLES; -- -- Table structure for table `swd_commentmeta` -- DROP TABLE IF EXISTS `swd_commentmeta`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `swd_commentmeta` ( `meta_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `comment_id` bigint(20) unsigned NOT NULL DEFAULT '0', `meta_key` varchar(255) COLLATE utf8mb4_unicode_520_ci DEFAULT NULL, `meta_value` longtext COLLATE utf8mb4_unicode_520_ci, PRIMARY KEY (`meta_id`), KEY `comment_id` (`comment_id`), KEY `meta_key` (`meta_key`(191)) ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Dumping data for table `swd_commentmeta` -- LOCK TABLES `swd_commentmeta` WRITE; /*!40000 ALTER TABLE `swd_commentmeta` DISABLE KEYS */; /*!40000 ALTER TABLE `swd_commentmeta` ENABLE KEYS */; UNLOCK TABLES; -- -- Table structure for table `swd_comments` -- DROP TABLE IF EXISTS `swd_comments`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `swd_comments` ( `comment_ID` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `comment_post_ID` bigint(20) unsigned NOT NULL DEFAULT '0', `comment_author` tinytext COLLATE utf8mb4_unicode_520_ci NOT NULL, `comment_author_email` varchar(100) COLLATE utf8mb4_unicode_520_ci NOT NULL DEFAULT '', `comment_author_url` varchar(200) COLLATE utf8mb4_unicode_520_ci NOT NULL DEFAULT '', `comment_author_IP` varchar(100) COLLATE utf8mb4_unicode_520_ci NOT NULL DEFAULT '', `comment_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `comment_date_gmt` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `comment_content` text COLLATE utf8mb4_unicode_520_ci NOT NULL, `comment_karma` int(11) NOT NULL DEFAULT '0', `comment_approved` varchar(20) COLLATE utf8mb4_unicode_520_ci NOT NULL DEFAULT '1', `comment_agent` varchar(255) COLLATE utf8mb4_unicode_520_ci NOT NULL DEFAULT '', `comment_type` varchar(20) COLLATE utf8mb4_unicode_520_ci NOT NULL DEFAULT 'comment', `comment_parent` bigint(20) unsigned NOT NULL DEFAULT '0', `user_id` bigint(20) unsigned NOT NULL DEFAULT '0', PRIMARY KEY (`comment_ID`), KEY `comment_post_ID` (`comment_post_ID`), KEY `comment_approved_date_gmt` (`comment_approved`,`comment_date_gmt`), KEY `comment_date_gmt` (`comment_date_gmt`), KEY `comment_parent` (`comment_parent`), KEY `comment_author_email` (`comment_author_email`(10)) ) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Dumping data for table `swd_comments` -- LOCK TABLES `swd_comments` WRITE; /*!40000 ALTER TABLE `swd_comments` DISABLE KEYS */; INSERT INTO `swd_comments` VALUES (1,1,'A WordPress Commenter','wapuu@wordpress.example','https://wordpress.org/','','2017-02-08 03:46:34','2017-02-08 03:46:34','Hi, this is a comment.\nTo get started with moderating, editing, and deleting comments, please visit the Comments screen in the dashboard.\nCommenter avatars come from Gravatar.',0,'1','','comment',0,0); /*!40000 ALTER TABLE `swd_comments` ENABLE KEYS */; UNLOCK TABLES; -- -- Table structure for table `swd_links` -- DROP TABLE IF EXISTS `swd_links`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `swd_links` ( `link_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `link_url` varchar(255) COLLATE utf8mb4_unicode_520_ci NOT NULL DEFAULT '', `link_name` varchar(255) COLLATE utf8mb4_unicode_520_ci NOT NULL DEFAULT '', `link_image` varchar(255) COLLATE utf8mb4_unicode_520_ci NOT NULL DEFAULT '', `link_target` varchar(25) COLLATE utf8mb4_unicode_520_ci NOT NULL DEFAULT '', `link_description` varchar(255) COLLATE utf8mb4_unicode_520_ci NOT NULL DEFAULT '', `link_visible` varchar(20) COLLATE utf8mb4_unicode_520_ci NOT NULL DEFAULT 'Y', `link_owner` bigint(20) unsigned NOT NULL DEFAULT '1', `link_rating` int(11) NOT NULL DEFAULT '0', `link_updated` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `link_rel` varchar(255) COLLATE utf8mb4_unicode_520_ci NOT NULL DEFAULT '', `link_notes` mediumtext COLLATE utf8mb4_unicode_520_ci NOT NULL, `link_rss` varchar(255) COLLATE utf8mb4_unicode_520_ci NOT NULL DEFAULT '', PRIMARY KEY (`link_id`), KEY `link_visible` (`link_visible`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Dumping data for table `swd_links` -- LOCK TABLES `swd_links` WRITE; /*!40000 ALTER TABLE `swd_links` DISABLE KEYS */; /*!40000 ALTER TABLE `swd_links` ENABLE KEYS */; UNLOCK TABLES; -- -- Table structure for table `swd_options` -- DROP TABLE IF EXISTS `swd_options`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `swd_options` ( `option_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `option_name` varchar(191) COLLATE utf8mb4_unicode_520_ci NOT NULL DEFAULT '', `option_value` longtext COLLATE utf8mb4_unicode_520_ci NOT NULL, `autoload` varchar(20) COLLATE utf8mb4_unicode_520_ci NOT NULL DEFAULT 'yes', PRIMARY KEY (`option_id`), UNIQUE KEY `option_name` (`option_name`), KEY `autoload` (`autoload`) ) ENGINE=MyISAM AUTO_INCREMENT=18617 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Dumping data for table `swd_options` -- LOCK TABLES `swd_options` WRITE; /*!40000 ALTER TABLE `swd_options` DISABLE KEYS */; INSERT INTO `swd_options` VALUES (1,'siteurl','http://www.acctcrop.softwarewebdesign.com','yes'),(2,'home','http://www.acctcrop.softwarewebdesign.com','yes'),(3,'blogname','Wordpress','yes'),(4,'blogdescription','S&J, Crops, & part files','yes'),(5,'users_can_register','0','yes'),(6,'admin_email','stevew@thinairnet.com','yes'),(7,'start_of_week','1','yes'),(8,'use_balanceTags','0','yes'),(9,'use_smilies','1','yes'),(10,'require_name_email','1','yes'),(11,'comments_notify','1','yes'),(12,'posts_per_rss','10','yes'),(13,'rss_use_excerpt','0','yes'),(14,'mailserver_url','mail.example.com','yes'),(15,'mailserver_login','login@example.com','yes'),(16,'mailserver_pass','password','yes'),(17,'mailserver_port','110','yes'),(18,'default_category','1','yes'),(19,'default_comment_status','open','yes'),(20,'default_ping_status','open','yes'),(21,'default_pingback_flag','0','yes'),(22,'posts_per_page','10','yes'),(23,'date_format','F j, Y','yes'),(24,'time_format','g:i a','yes'),(25,'links_updated_date_format','F j, Y g:i a','yes'),(26,'comment_moderation','0','yes'),(27,'moderation_notify','1','yes'),(28,'permalink_structure','/%year%/%monthnum%/%day%/%postname%/','yes'),(29,'rewrite_rules','a:91:{s:11:\"^wp-json/?$\";s:22:\"index.php?rest_route=/\";s:14:\"^wp-json/(.*)?\";s:33:\"index.php?rest_route=/$matches[1]\";s:21:\"^index.php/wp-json/?$\";s:22:\"index.php?rest_route=/\";s:24:\"^index.php/wp-json/(.*)?\";s:33:\"index.php?rest_route=/$matches[1]\";s:47:\"category/(.+?)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:52:\"index.php?category_name=$matches[1]&feed=$matches[2]\";s:42:\"category/(.+?)/(feed|rdf|rss|rss2|atom)/?$\";s:52:\"index.php?category_name=$matches[1]&feed=$matches[2]\";s:23:\"category/(.+?)/embed/?$\";s:46:\"index.php?category_name=$matches[1]&embed=true\";s:35:\"category/(.+?)/page/?([0-9]{1,})/?$\";s:53:\"index.php?category_name=$matches[1]&paged=$matches[2]\";s:17:\"category/(.+?)/?$\";s:35:\"index.php?category_name=$matches[1]\";s:44:\"tag/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:42:\"index.php?tag=$matches[1]&feed=$matches[2]\";s:39:\"tag/([^/]+)/(feed|rdf|rss|rss2|atom)/?$\";s:42:\"index.php?tag=$matches[1]&feed=$matches[2]\";s:20:\"tag/([^/]+)/embed/?$\";s:36:\"index.php?tag=$matches[1]&embed=true\";s:32:\"tag/([^/]+)/page/?([0-9]{1,})/?$\";s:43:\"index.php?tag=$matches[1]&paged=$matches[2]\";s:14:\"tag/([^/]+)/?$\";s:25:\"index.php?tag=$matches[1]\";s:45:\"type/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:50:\"index.php?post_format=$matches[1]&feed=$matches[2]\";s:40:\"type/([^/]+)/(feed|rdf|rss|rss2|atom)/?$\";s:50:\"index.php?post_format=$matches[1]&feed=$matches[2]\";s:21:\"type/([^/]+)/embed/?$\";s:44:\"index.php?post_format=$matches[1]&embed=true\";s:33:\"type/([^/]+)/page/?([0-9]{1,})/?$\";s:51:\"index.php?post_format=$matches[1]&paged=$matches[2]\";s:15:\"type/([^/]+)/?$\";s:33:\"index.php?post_format=$matches[1]\";s:12:\"robots\\.txt$\";s:18:\"index.php?robots=1\";s:48:\".*wp-(atom|rdf|rss|rss2|feed|commentsrss2)\\.php$\";s:18:\"index.php?feed=old\";s:20:\".*wp-app\\.php(/.*)?$\";s:19:\"index.php?error=403\";s:18:\".*wp-register.php$\";s:23:\"index.php?register=true\";s:32:\"feed/(feed|rdf|rss|rss2|atom)/?$\";s:27:\"index.php?&feed=$matches[1]\";s:27:\"(feed|rdf|rss|rss2|atom)/?$\";s:27:\"index.php?&feed=$matches[1]\";s:8:\"embed/?$\";s:21:\"index.php?&embed=true\";s:20:\"page/?([0-9]{1,})/?$\";s:28:\"index.php?&paged=$matches[1]\";s:27:\"comment-page-([0-9]{1,})/?$\";s:38:\"index.php?&page_id=2&cpage=$matches[1]\";s:41:\"comments/feed/(feed|rdf|rss|rss2|atom)/?$\";s:42:\"index.php?&feed=$matches[1]&withcomments=1\";s:36:\"comments/(feed|rdf|rss|rss2|atom)/?$\";s:42:\"index.php?&feed=$matches[1]&withcomments=1\";s:17:\"comments/embed/?$\";s:21:\"index.php?&embed=true\";s:44:\"search/(.+)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:40:\"index.php?s=$matches[1]&feed=$matches[2]\";s:39:\"search/(.+)/(feed|rdf|rss|rss2|atom)/?$\";s:40:\"index.php?s=$matches[1]&feed=$matches[2]\";s:20:\"search/(.+)/embed/?$\";s:34:\"index.php?s=$matches[1]&embed=true\";s:32:\"search/(.+)/page/?([0-9]{1,})/?$\";s:41:\"index.php?s=$matches[1]&paged=$matches[2]\";s:14:\"search/(.+)/?$\";s:23:\"index.php?s=$matches[1]\";s:47:\"author/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:50:\"index.php?author_name=$matches[1]&feed=$matches[2]\";s:42:\"author/([^/]+)/(feed|rdf|rss|rss2|atom)/?$\";s:50:\"index.php?author_name=$matches[1]&feed=$matches[2]\";s:23:\"author/([^/]+)/embed/?$\";s:44:\"index.php?author_name=$matches[1]&embed=true\";s:35:\"author/([^/]+)/page/?([0-9]{1,})/?$\";s:51:\"index.php?author_name=$matches[1]&paged=$matches[2]\";s:17:\"author/([^/]+)/?$\";s:33:\"index.php?author_name=$matches[1]\";s:69:\"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/feed/(feed|rdf|rss|rss2|atom)/?$\";s:80:\"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&feed=$matches[4]\";s:64:\"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/(feed|rdf|rss|rss2|atom)/?$\";s:80:\"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&feed=$matches[4]\";s:45:\"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/embed/?$\";s:74:\"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&embed=true\";s:57:\"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/page/?([0-9]{1,})/?$\";s:81:\"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&paged=$matches[4]\";s:39:\"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/?$\";s:63:\"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]\";s:56:\"([0-9]{4})/([0-9]{1,2})/feed/(feed|rdf|rss|rss2|atom)/?$\";s:64:\"index.php?year=$matches[1]&monthnum=$matches[2]&feed=$matches[3]\";s:51:\"([0-9]{4})/([0-9]{1,2})/(feed|rdf|rss|rss2|atom)/?$\";s:64:\"index.php?year=$matches[1]&monthnum=$matches[2]&feed=$matches[3]\";s:32:\"([0-9]{4})/([0-9]{1,2})/embed/?$\";s:58:\"index.php?year=$matches[1]&monthnum=$matches[2]&embed=true\";s:44:\"([0-9]{4})/([0-9]{1,2})/page/?([0-9]{1,})/?$\";s:65:\"index.php?year=$matches[1]&monthnum=$matches[2]&paged=$matches[3]\";s:26:\"([0-9]{4})/([0-9]{1,2})/?$\";s:47:\"index.php?year=$matches[1]&monthnum=$matches[2]\";s:43:\"([0-9]{4})/feed/(feed|rdf|rss|rss2|atom)/?$\";s:43:\"index.php?year=$matches[1]&feed=$matches[2]\";s:38:\"([0-9]{4})/(feed|rdf|rss|rss2|atom)/?$\";s:43:\"index.php?year=$matches[1]&feed=$matches[2]\";s:19:\"([0-9]{4})/embed/?$\";s:37:\"index.php?year=$matches[1]&embed=true\";s:31:\"([0-9]{4})/page/?([0-9]{1,})/?$\";s:44:\"index.php?year=$matches[1]&paged=$matches[2]\";s:13:\"([0-9]{4})/?$\";s:26:\"index.php?year=$matches[1]\";s:58:\"[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/attachment/([^/]+)/?$\";s:32:\"index.php?attachment=$matches[1]\";s:68:\"[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/attachment/([^/]+)/trackback/?$\";s:37:\"index.php?attachment=$matches[1]&tb=1\";s:88:\"[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/attachment/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:83:\"[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/attachment/([^/]+)/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:83:\"[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/attachment/([^/]+)/comment-page-([0-9]{1,})/?$\";s:50:\"index.php?attachment=$matches[1]&cpage=$matches[2]\";s:64:\"[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/attachment/([^/]+)/embed/?$\";s:43:\"index.php?attachment=$matches[1]&embed=true\";s:53:\"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/([^/]+)/embed/?$\";s:91:\"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&name=$matches[4]&embed=true\";s:57:\"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/([^/]+)/trackback/?$\";s:85:\"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&name=$matches[4]&tb=1\";s:77:\"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:97:\"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&name=$matches[4]&feed=$matches[5]\";s:72:\"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/([^/]+)/(feed|rdf|rss|rss2|atom)/?$\";s:97:\"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&name=$matches[4]&feed=$matches[5]\";s:65:\"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/([^/]+)/page/?([0-9]{1,})/?$\";s:98:\"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&name=$matches[4]&paged=$matches[5]\";s:72:\"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/([^/]+)/comment-page-([0-9]{1,})/?$\";s:98:\"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&name=$matches[4]&cpage=$matches[5]\";s:61:\"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/([^/]+)(?:/([0-9]+))?/?$\";s:97:\"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&name=$matches[4]&page=$matches[5]\";s:47:\"[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/([^/]+)/?$\";s:32:\"index.php?attachment=$matches[1]\";s:57:\"[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/([^/]+)/trackback/?$\";s:37:\"index.php?attachment=$matches[1]&tb=1\";s:77:\"[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:72:\"[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/([^/]+)/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:72:\"[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/([^/]+)/comment-page-([0-9]{1,})/?$\";s:50:\"index.php?attachment=$matches[1]&cpage=$matches[2]\";s:53:\"[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/([^/]+)/embed/?$\";s:43:\"index.php?attachment=$matches[1]&embed=true\";s:64:\"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/comment-page-([0-9]{1,})/?$\";s:81:\"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&cpage=$matches[4]\";s:51:\"([0-9]{4})/([0-9]{1,2})/comment-page-([0-9]{1,})/?$\";s:65:\"index.php?year=$matches[1]&monthnum=$matches[2]&cpage=$matches[3]\";s:38:\"([0-9]{4})/comment-page-([0-9]{1,})/?$\";s:44:\"index.php?year=$matches[1]&cpage=$matches[2]\";s:27:\".?.+?/attachment/([^/]+)/?$\";s:32:\"index.php?attachment=$matches[1]\";s:37:\".?.+?/attachment/([^/]+)/trackback/?$\";s:37:\"index.php?attachment=$matches[1]&tb=1\";s:57:\".?.+?/attachment/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:52:\".?.+?/attachment/([^/]+)/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:52:\".?.+?/attachment/([^/]+)/comment-page-([0-9]{1,})/?$\";s:50:\"index.php?attachment=$matches[1]&cpage=$matches[2]\";s:33:\".?.+?/attachment/([^/]+)/embed/?$\";s:43:\"index.php?attachment=$matches[1]&embed=true\";s:16:\"(.?.+?)/embed/?$\";s:41:\"index.php?pagename=$matches[1]&embed=true\";s:20:\"(.?.+?)/trackback/?$\";s:35:\"index.php?pagename=$matches[1]&tb=1\";s:40:\"(.?.+?)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:47:\"index.php?pagename=$matches[1]&feed=$matches[2]\";s:35:\"(.?.+?)/(feed|rdf|rss|rss2|atom)/?$\";s:47:\"index.php?pagename=$matches[1]&feed=$matches[2]\";s:28:\"(.?.+?)/page/?([0-9]{1,})/?$\";s:48:\"index.php?pagename=$matches[1]&paged=$matches[2]\";s:35:\"(.?.+?)/comment-page-([0-9]{1,})/?$\";s:48:\"index.php?pagename=$matches[1]&cpage=$matches[2]\";s:24:\"(.?.+?)(?:/([0-9]+))?/?$\";s:47:\"index.php?pagename=$matches[1]&page=$matches[2]\";}','yes'),(30,'hack_file','0','yes'),(31,'blog_charset','UTF-8','yes'),(32,'moderation_keys','','no'),(33,'active_plugins','a:2:{i:0;s:35:\"backupwordpress/backupwordpress.php\";i:1;s:41:\"wp-visitors-widget/wp-visitors-widget.php\";}','yes'),(34,'category_base','','yes'),(35,'ping_sites','http://rpc.pingomatic.com/','yes'),(36,'comment_max_links','2','yes'),(37,'gmt_offset','0','yes'),(38,'default_email_category','1','yes'),(39,'recently_edited','a:3:{i:0;s:74:\"/home1/softwax3/public_html/SWD/wp-content/themes/responsiveswd/header.php\";i:2;s:73:\"/home1/softwax3/public_html/SWD/wp-content/themes/responsiveswd/style.css\";i:3;s:0:\"\";}','no'),(40,'template','twentyseventeen','yes'),(41,'stylesheet','twentyseventeen','yes'),(44,'comment_registration','0','yes'),(45,'html_type','text/html','yes'),(46,'use_trackback','0','yes'),(47,'default_role','subscriber','yes'),(48,'db_version','60717','yes'),(49,'uploads_use_yearmonth_folders','1','yes'),(50,'upload_path','','yes'),(51,'blog_public','0','yes'),(52,'default_link_category','2','yes'),(53,'show_on_front','page','yes'),(54,'tag_base','','yes'),(55,'show_avatars','1','yes'),(56,'avatar_rating','G','yes'),(57,'upload_url_path','','yes'),(58,'thumbnail_size_w','150','yes'),(59,'thumbnail_size_h','150','yes'),(60,'thumbnail_crop','1','yes'),(61,'medium_size_w','300','yes'),(62,'medium_size_h','300','yes'),(63,'avatar_default','mystery','yes'),(64,'large_size_w','1024','yes'),(65,'large_size_h','1024','yes'),(66,'image_default_link_type','none','yes'),(67,'image_default_size','','yes'),(68,'image_default_align','','yes'),(69,'close_comments_for_old_posts','0','yes'),(70,'close_comments_days_old','14','yes'),(71,'thread_comments','1','yes'),(72,'thread_comments_depth','5','yes'),(73,'page_comments','0','yes'),(74,'comments_per_page','50','yes'),(75,'default_comments_page','newest','yes'),(76,'comment_order','asc','yes'),(77,'sticky_posts','a:0:{}','yes'),(78,'widget_categories','a:2:{i:2;a:4:{s:5:\"title\";s:0:\"\";s:5:\"count\";i:0;s:12:\"hierarchical\";i:0;s:8:\"dropdown\";i:0;}s:12:\"_multiwidget\";i:1;}','yes'),(79,'widget_text','a:2:{i:1;a:0:{}s:12:\"_multiwidget\";i:1;}','yes'),(80,'widget_rss','a:2:{i:1;a:0:{}s:12:\"_multiwidget\";i:1;}','yes'),(81,'uninstall_plugins','a:1:{s:41:\"wp-visitors-widget/wp-visitors-widget.php\";s:13:\"wvw_uninstall\";}','no'),(82,'timezone_string','','yes'),(83,'page_for_posts','0','yes'),(84,'page_on_front','2','yes'),(85,'default_post_format','0','yes'),(86,'link_manager_enabled','0','yes'),(87,'finished_splitting_shared_terms','1','yes'),(88,'site_icon','0','yes'),(89,'medium_large_size_w','768','yes'),(90,'medium_large_size_h','0','yes'),(91,'initial_db_version','38590','yes'),(92,'swd_user_roles','a:5:{s:13:\"administrator\";a:2:{s:4:\"name\";s:13:\"Administrator\";s:12:\"capabilities\";a:61:{s:13:\"switch_themes\";b:1;s:11:\"edit_themes\";b:1;s:16:\"activate_plugins\";b:1;s:12:\"edit_plugins\";b:1;s:10:\"edit_users\";b:1;s:10:\"edit_files\";b:1;s:14:\"manage_options\";b:1;s:17:\"moderate_comments\";b:1;s:17:\"manage_categories\";b:1;s:12:\"manage_links\";b:1;s:12:\"upload_files\";b:1;s:6:\"import\";b:1;s:15:\"unfiltered_html\";b:1;s:10:\"edit_posts\";b:1;s:17:\"edit_others_posts\";b:1;s:20:\"edit_published_posts\";b:1;s:13:\"publish_posts\";b:1;s:10:\"edit_pages\";b:1;s:4:\"read\";b:1;s:8:\"level_10\";b:1;s:7:\"level_9\";b:1;s:7:\"level_8\";b:1;s:7:\"level_7\";b:1;s:7:\"level_6\";b:1;s:7:\"level_5\";b:1;s:7:\"level_4\";b:1;s:7:\"level_3\";b:1;s:7:\"level_2\";b:1;s:7:\"level_1\";b:1;s:7:\"level_0\";b:1;s:17:\"edit_others_pages\";b:1;s:20:\"edit_published_pages\";b:1;s:13:\"publish_pages\";b:1;s:12:\"delete_pages\";b:1;s:19:\"delete_others_pages\";b:1;s:22:\"delete_published_pages\";b:1;s:12:\"delete_posts\";b:1;s:19:\"delete_others_posts\";b:1;s:22:\"delete_published_posts\";b:1;s:20:\"delete_private_posts\";b:1;s:18:\"edit_private_posts\";b:1;s:18:\"read_private_posts\";b:1;s:20:\"delete_private_pages\";b:1;s:18:\"edit_private_pages\";b:1;s:18:\"read_private_pages\";b:1;s:12:\"delete_users\";b:1;s:12:\"create_users\";b:1;s:17:\"unfiltered_upload\";b:1;s:14:\"edit_dashboard\";b:1;s:14:\"update_plugins\";b:1;s:14:\"delete_plugins\";b:1;s:15:\"install_plugins\";b:1;s:13:\"update_themes\";b:1;s:14:\"install_themes\";b:1;s:11:\"update_core\";b:1;s:10:\"list_users\";b:1;s:12:\"remove_users\";b:1;s:13:\"promote_users\";b:1;s:18:\"edit_theme_options\";b:1;s:13:\"delete_themes\";b:1;s:6:\"export\";b:1;}}s:6:\"editor\";a:2:{s:4:\"name\";s:6:\"Editor\";s:12:\"capabilities\";a:34:{s:17:\"moderate_comments\";b:1;s:17:\"manage_categories\";b:1;s:12:\"manage_links\";b:1;s:12:\"upload_files\";b:1;s:15:\"unfiltered_html\";b:1;s:10:\"edit_posts\";b:1;s:17:\"edit_others_posts\";b:1;s:20:\"edit_published_posts\";b:1;s:13:\"publish_posts\";b:1;s:10:\"edit_pages\";b:1;s:4:\"read\";b:1;s:7:\"level_7\";b:1;s:7:\"level_6\";b:1;s:7:\"level_5\";b:1;s:7:\"level_4\";b:1;s:7:\"level_3\";b:1;s:7:\"level_2\";b:1;s:7:\"level_1\";b:1;s:7:\"level_0\";b:1;s:17:\"edit_others_pages\";b:1;s:20:\"edit_published_pages\";b:1;s:13:\"publish_pages\";b:1;s:12:\"delete_pages\";b:1;s:19:\"delete_others_pages\";b:1;s:22:\"delete_published_pages\";b:1;s:12:\"delete_posts\";b:1;s:19:\"delete_others_posts\";b:1;s:22:\"delete_published_posts\";b:1;s:20:\"delete_private_posts\";b:1;s:18:\"edit_private_posts\";b:1;s:18:\"read_private_posts\";b:1;s:20:\"delete_private_pages\";b:1;s:18:\"edit_private_pages\";b:1;s:18:\"read_private_pages\";b:1;}}s:6:\"author\";a:2:{s:4:\"name\";s:6:\"Author\";s:12:\"capabilities\";a:10:{s:12:\"upload_files\";b:1;s:10:\"edit_posts\";b:1;s:20:\"edit_published_posts\";b:1;s:13:\"publish_posts\";b:1;s:4:\"read\";b:1;s:7:\"level_2\";b:1;s:7:\"level_1\";b:1;s:7:\"level_0\";b:1;s:12:\"delete_posts\";b:1;s:22:\"delete_published_posts\";b:1;}}s:11:\"contributor\";a:2:{s:4:\"name\";s:11:\"Contributor\";s:12:\"capabilities\";a:5:{s:10:\"edit_posts\";b:1;s:4:\"read\";b:1;s:7:\"level_1\";b:1;s:7:\"level_0\";b:1;s:12:\"delete_posts\";b:1;}}s:10:\"subscriber\";a:2:{s:4:\"name\";s:10:\"Subscriber\";s:12:\"capabilities\";a:2:{s:4:\"read\";b:1;s:7:\"level_0\";b:1;}}}','yes'),(93,'fresh_site','0','off'),(94,'widget_search','a:3:{i:2;a:1:{s:5:\"title\";s:0:\"\";}i:3;a:1:{s:5:\"title\";s:6:\"Search\";}s:12:\"_multiwidget\";i:1;}','yes'),(95,'widget_recent-posts','a:2:{i:2;a:2:{s:5:\"title\";s:0:\"\";s:6:\"number\";i:5;}s:12:\"_multiwidget\";i:1;}','yes'),(96,'widget_recent-comments','a:2:{i:2;a:2:{s:5:\"title\";s:0:\"\";s:6:\"number\";i:5;}s:12:\"_multiwidget\";i:1;}','yes'),(97,'widget_archives','a:2:{i:2;a:3:{s:5:\"title\";s:0:\"\";s:5:\"count\";i:0;s:8:\"dropdown\";i:0;}s:12:\"_multiwidget\";i:1;}','yes'),(98,'widget_meta','a:2:{i:2;a:1:{s:5:\"title\";s:0:\"\";}s:12:\"_multiwidget\";i:1;}','yes'),(99,'sidebars_widgets','a:5:{s:19:\"wp_inactive_widgets\";a:1:{i:0;s:8:\"search-3\";}s:9:\"sidebar-1\";a:6:{i:0;s:8:\"search-2\";i:1;s:14:\"recent-posts-2\";i:2;s:17:\"recent-comments-2\";i:3;s:10:\"archives-2\";i:4;s:12:\"categories-2\";i:5;s:6:\"meta-2\";}s:9:\"sidebar-2\";a:1:{i:0;s:17:\"visitors_widget-2\";}s:9:\"sidebar-3\";a:0:{}s:13:\"array_version\";i:3;}','yes'),(100,'widget_pages','a:1:{s:12:\"_multiwidget\";i:1;}','yes'),(101,'widget_calendar','a:1:{s:12:\"_multiwidget\";i:1;}','yes'),(102,'widget_tag_cloud','a:1:{s:12:\"_multiwidget\";i:1;}','yes'),(103,'widget_nav_menu','a:1:{s:12:\"_multiwidget\";i:1;}','yes'),(104,'cron','a:11:{i:1773318902;a:1:{s:34:\"wp_privacy_delete_old_export_files\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:3:{s:8:\"schedule\";s:6:\"hourly\";s:4:\"args\";a:0:{}s:8:\"interval\";i:3600;}}}i:1773329532;a:1:{s:21:\"wp_update_user_counts\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:3:{s:8:\"schedule\";s:10:\"twicedaily\";s:4:\"args\";a:0:{}s:8:\"interval\";i:43200;}}}i:1773330395;a:3:{s:16:\"wp_version_check\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:3:{s:8:\"schedule\";s:10:\"twicedaily\";s:4:\"args\";a:0:{}s:8:\"interval\";i:43200;}}s:17:\"wp_update_plugins\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:3:{s:8:\"schedule\";s:10:\"twicedaily\";s:4:\"args\";a:0:{}s:8:\"interval\";i:43200;}}s:16:\"wp_update_themes\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:3:{s:8:\"schedule\";s:10:\"twicedaily\";s:4:\"args\";a:0:{}s:8:\"interval\";i:43200;}}}i:1773356400;a:1:{s:19:\"hmbkp_schedule_hook\";a:1:{s:32:\"cf85e262980b9c7cc64afdd47a51445c\";a:3:{s:8:\"schedule\";s:5:\"daily\";s:4:\"args\";a:1:{s:2:\"id\";s:10:\"1486525727\";}s:8:\"interval\";i:86400;}}}i:1773362101;a:1:{s:32:\"recovery_mode_clean_expired_keys\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:3:{s:8:\"schedule\";s:5:\"daily\";s:4:\"args\";a:0:{}s:8:\"interval\";i:86400;}}}i:1773373606;a:1:{s:19:\"wp_scheduled_delete\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:3:{s:8:\"schedule\";s:5:\"daily\";s:4:\"args\";a:0:{}s:8:\"interval\";i:86400;}}}i:1773380876;a:1:{s:30:\"wp_scheduled_auto_draft_delete\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:3:{s:8:\"schedule\";s:5:\"daily\";s:4:\"args\";a:0:{}s:8:\"interval\";i:86400;}}}i:1773448501;a:1:{s:30:\"wp_site_health_scheduled_check\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:3:{s:8:\"schedule\";s:6:\"weekly\";s:4:\"args\";a:0:{}s:8:\"interval\";i:604800;}}}i:1773543600;a:1:{s:19:\"hmbkp_schedule_hook\";a:1:{s:32:\"abcbd8e888a4e545221d46fe5eaa0abb\";a:3:{s:8:\"schedule\";s:6:\"weekly\";s:4:\"args\";a:1:{s:2:\"id\";s:10:\"1486525728\";}s:8:\"interval\";i:604800;}}}i:1773766294;a:1:{s:30:\"wp_delete_temp_updater_backups\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:3:{s:8:\"schedule\";s:6:\"weekly\";s:4:\"args\";a:0:{}s:8:\"interval\";i:604800;}}}s:7:\"version\";i:2;}','on'),(105,'theme_mods_twentyseventeen','a:2:{s:18:\"custom_css_post_id\";i:-1;s:18:\"nav_menu_locations\";a:2:{s:11:\"header-menu\";i:2;s:3:\"top\";i:2;}}','yes'),(18611,'_site_transient_timeout_theme_roots','1773317516','off'),(18612,'_site_transient_theme_roots','a:10:{s:10:\"responsive\";s:7:\"/themes\";s:13:\"responsiveswd\";s:7:\"/themes\";s:13:\"twentyfifteen\";s:7:\"/themes\";s:14:\"twentynineteen\";s:7:\"/themes\";s:15:\"twentyseventeen\";s:7:\"/themes\";s:13:\"twentysixteen\";s:7:\"/themes\";s:12:\"twentytwenty\";s:7:\"/themes\";s:16:\"twentytwentyfive\";s:7:\"/themes\";s:16:\"twentytwentyfour\";s:7:\"/themes\";s:17:\"twentytwentythree\";s:7:\"/themes\";}','off'),(1060,'WPLANG','','yes'),(136,'current_theme','Twenty Seventeen','yes'),(137,'theme_mods_responsive2','a:3:{i:0;b:0;s:18:\"custom_css_post_id\";i:-1;s:16:\"sidebars_widgets\";a:2:{s:4:\"time\";i:1512011729;s:4:\"data\";a:13:{s:19:\"wp_inactive_widgets\";a:0:{}s:12:\"main-sidebar\";a:6:{i:0;s:8:\"search-2\";i:1;s:14:\"recent-posts-2\";i:2;s:17:\"recent-comments-2\";i:3;s:10:\"archives-2\";i:4;s:12:\"categories-2\";i:5;s:6:\"meta-2\";}s:13:\"right-sidebar\";a:0:{}s:12:\"left-sidebar\";a:0:{}s:17:\"left-sidebar-half\";N;s:18:\"right-sidebar-half\";N;s:13:\"home-widget-1\";N;s:13:\"home-widget-2\";N;s:13:\"home-widget-3\";N;s:14:\"gallery-widget\";N;s:15:\"colophon-widget\";N;s:10:\"top-widget\";N;s:13:\"footer-widget\";N;}}}','off'),(138,'theme_switched','','yes'),(139,'responsive_theme_options','a:68:{s:15:\"featured_images\";i:0;s:10:\"breadcrumb\";i:0;s:10:\"cta_button\";i:0;s:12:\"minified_css\";b:0;s:10:\"front_page\";i:0;s:13:\"home_headline\";N;s:16:\"home_subheadline\";N;s:17:\"home_content_area\";N;s:8:\"cta_text\";N;s:7:\"cta_url\";N;s:16:\"featured_content\";N;s:12:\"testimonials\";i:0;s:17:\"testimonial_title\";N;s:24:\"google_site_verification\";N;s:22:\"bing_site_verification\";N;s:23:\"yahoo_site_verification\";N;s:23:\"site_statistics_tracker\";N;s:11:\"twitter_uid\";s:0:\"\";s:12:\"facebook_uid\";s:0:\"\";s:12:\"linkedin_uid\";s:0:\"\";s:11:\"youtube_uid\";s:0:\"\";s:11:\"stumble_uid\";s:0:\"\";s:7:\"rss_uid\";s:0:\"\";s:15:\"google_plus_uid\";s:0:\"\";s:13:\"instagram_uid\";s:0:\"\";s:13:\"pinterest_uid\";s:0:\"\";s:8:\"yelp_uid\";s:0:\"\";s:9:\"vimeo_uid\";s:0:\"\";s:14:\"foursquare_uid\";s:0:\"\";s:9:\"email_uid\";s:0:\"\";s:15:\"testimonial_val\";s:0:\"\";s:11:\"teammember1\";s:0:\"\";s:11:\"teammember2\";s:0:\"\";s:11:\"teammember3\";s:0:\"\";s:8:\"feature1\";s:0:\"\";s:8:\"feature2\";s:0:\"\";s:8:\"feature3\";s:0:\"\";s:21:\"responsive_inline_css\";s:0:\"\";s:25:\"responsive_inline_js_head\";s:0:\"\";s:27:\"responsive_inline_js_footer\";s:0:\"\";s:31:\"responsive_inline_css_js_footer\";s:0:\"\";s:26:\"static_page_layout_default\";s:15:\"full-width-page\";s:26:\"single_post_layout_default\";s:15:\"full-width-page\";s:31:\"blog_posts_index_layout_default\";s:15:\"full-width-page\";s:18:\"site_layout_option\";s:17:\"full-width-no-box\";s:12:\"button_style\";s:7:\"default\";s:12:\"home-widgets\";b:0;s:18:\"site_footer_option\";s:12:\"footer-3-col\";s:19:\"res_hide_site_title\";b:0;s:16:\"res_hide_tagline\";b:1;s:13:\"sticky-header\";b:0;s:20:\"blog_post_title_text\";s:0:\"\";s:17:\"copyright_textbox\";s:0:\"\";s:11:\"home_slider\";s:0:\"\";s:11:\"about_title\";s:0:\"\";s:10:\"about_text\";s:0:\"\";s:14:\"about_cta_text\";s:0:\"\";s:13:\"about_cta_url\";s:0:\"\";s:13:\"feature_title\";s:0:\"\";s:10:\"team_title\";s:0:\"\";s:13:\"contact_title\";s:0:\"\";s:17:\"contact_subtitlet\";s:0:\"\";s:11:\"contact_add\";s:0:\"\";s:13:\"contact_email\";s:0:\"\";s:10:\"contact_ph\";s:0:\"\";s:15:\"contact_content\";s:0:\"\";s:14:\"googleplus_uid\";s:0:\"\";s:15:\"stumbleupon_uid\";s:0:\"\";}','yes'),(144,'recently_activated','a:0:{}','off'),(18616,'_site_transient_wp_theme_files_patterns-b6cbbc6195c262f28352aa132f49b746','a:2:{s:7:\"version\";s:3:\"3.4\";s:8:\"patterns\";a:0:{}}','off'),(147,'hmbkp_plugin_version','3.10','yes'),(150,'hmbkp_schedule_1486525727','a:8:{s:11:\"max_backups\";i:30;s:8:\"excludes\";a:0:{}s:4:\"type\";s:8:\"database\";s:12:\"reoccurrence\";s:5:\"daily\";s:19:\"schedule_start_time\";i:1486594800;s:5:\"email\";a:1:{s:5:\"email\";s:21:\"stevew@thinairnet.com\";}s:14:\"duration_total\";i:2779435899756;s:16:\"backup_run_count\";i:1665;}','yes'),(151,'hmbkp_schedule_1486525728','a:8:{s:11:\"max_backups\";i:10;s:8:\"excludes\";a:9:{i:0;s:10:\"HAIRSHOPPE\";i:1;s:4:\"ACCT\";i:2;s:8:\"iqofpost\";i:3;s:5:\"EMAIL\";i:4;s:4:\"CODE\";i:5;s:10:\"WINTERBROS\";i:6;s:9:\"mailstuff\";i:7;s:7:\"cgi-bin\";i:8;s:12:\"default.html\";}s:4:\"type\";s:8:\"complete\";s:12:\"reoccurrence\";s:6:\"weekly\";s:19:\"schedule_start_time\";i:1512874800;s:5:\"email\";a:1:{s:5:\"email\";s:21:\"stevew@thinairnet.com\";}s:14:\"duration_total\";i:259075226919;s:16:\"backup_run_count\";i:164;}','yes'),(171,'hmbkp_notices','a:1:{s:13:\"backup_errors\";a:11:{i:0;s:44:\"Zip: zip warning: No such file or directory\n\";i:1;s:200:\"Zip: zip warning: No such file or directory\nzip warning: No such file or directory\nzip warning: No such file or directory\nzip warning: No such file or directory\nzip warning: No such file or directory\n\";i:2;s:122:\"Zip: zip warning: No such file or directory\nzip warning: No such file or directory\nzip warning: No such file or directory\n\";i:3;s:211:\"php: ZipArchive::close(): Renaming temporary file failed: No such file or directory, /home1/softwax3/public_html/SWD/wp-content/plugins/backupwordpress/classes/backup/class-backup-engine-file-zip-archive.php, 46\";i:4;s:211:\"php: ZipArchive::close(): Renaming temporary file failed: No such file or directory, /home2/softwax3/public_html/SWD/wp-content/plugins/backupwordpress/classes/backup/class-backup-engine-file-zip-archive.php, 46\";i:5;s:83:\"Zip: zip warning: No such file or directory\nzip warning: No such file or directory\n\";i:6;s:36:\"Zip: zip warning: Permission denied\n\";i:7;s:161:\"Zip: zip warning: No such file or directory\nzip warning: No such file or directory\nzip warning: No such file or directory\nzip warning: No such file or directory\n\";i:8;s:233:\"Mysqldump: mysqldump: [Warning] Using a password on the command line interface can be insecure.\nmysqldump: Got error: 1203: User softwax3_Steve99 already has more than \'max_user_connections\' active connections when trying to connect\n\";i:9;s:161:\"IMysqldump: Connection to mysql failed with message: SQLSTATE[HY000] [1203] User softwax3_Steve99 already has more than \'max_user_connections\' active connections\";i:10;s:286:\"php: filesize(): stat failed for /home2/softwax3/public_html/SWD/wp-content/backupwordpress-fb2574a438-backups/database-acctcrop-softwarewebdesign-com-1486525727.sql, /home2/softwax3/public_html/SWD/wp-content/plugins/backupwordpress/classes/backup/class-backup-engine-database.php, 202\";}}','yes'),(1375,'auto_core_update_notified','a:4:{s:4:\"type\";s:7:\"success\";s:5:\"email\";s:21:\"stevew@thinairnet.com\";s:7:\"version\";s:5:\"6.9.4\";s:9:\"timestamp\";i:1773268271;}','off'),(960,'theme_mods_responsiveswd','a:11:{i:0;b:0;s:18:\"custom_css_post_id\";i:15;s:18:\"nav_menu_locations\";a:1:{s:11:\"header-menu\";i:2;}s:26:\"responsive_container_width\";i:1140;s:32:\"responsive_blog_sidebar_position\";s:2:\"no\";s:29:\"responsive_blog_content_width\";i:100;s:39:\"responsive_single_blog_sidebar_position\";s:2:\"no\";s:36:\"responsive_single_blog_content_width\";i:100;s:32:\"responsive_page_sidebar_position\";s:2:\"no\";s:29:\"responsive_page_content_width\";i:100;s:16:\"sidebars_widgets\";a:2:{s:4:\"time\";i:1703214034;s:4:\"data\";a:13:{s:19:\"wp_inactive_widgets\";a:0:{}s:12:\"main-sidebar\";a:6:{i:0;s:8:\"search-2\";i:1;s:14:\"recent-posts-2\";i:2;s:17:\"recent-comments-2\";i:3;s:10:\"archives-2\";i:4;s:12:\"categories-2\";i:5;s:6:\"meta-2\";}s:13:\"right-sidebar\";a:0:{}s:12:\"left-sidebar\";a:0:{}s:17:\"left-sidebar-half\";a:0:{}s:18:\"right-sidebar-half\";a:0:{}s:13:\"home-widget-1\";a:0:{}s:13:\"home-widget-2\";a:0:{}s:13:\"home-widget-3\";a:0:{}s:14:\"gallery-widget\";a:0:{}s:15:\"colophon-widget\";a:0:{}s:10:\"top-widget\";a:1:{i:0;s:8:\"search-3\";}s:13:\"footer-widget\";a:0:{}}}}','off'),(961,'theme_mods_responsive','a:2:{i:0;b:0;s:16:\"sidebars_widgets\";a:2:{s:4:\"time\";i:1512012162;s:4:\"data\";a:13:{s:19:\"wp_inactive_widgets\";a:0:{}s:12:\"main-sidebar\";a:6:{i:0;s:8:\"search-2\";i:1;s:14:\"recent-posts-2\";i:2;s:17:\"recent-comments-2\";i:3;s:10:\"archives-2\";i:4;s:12:\"categories-2\";i:5;s:6:\"meta-2\";}s:13:\"right-sidebar\";a:0:{}s:12:\"left-sidebar\";a:0:{}s:17:\"left-sidebar-half\";N;s:18:\"right-sidebar-half\";N;s:13:\"home-widget-1\";N;s:13:\"home-widget-2\";N;s:13:\"home-widget-3\";N;s:14:\"gallery-widget\";N;s:15:\"colophon-widget\";N;s:10:\"top-widget\";N;s:13:\"footer-widget\";N;}}}','off'),(18614,'_site_transient_update_plugins','O:8:\"stdClass\":5:{s:12:\"last_checked\";i:1773315716;s:8:\"response\";a:7:{s:19:\"akismet/akismet.php\";O:8:\"stdClass\":13:{s:2:\"id\";s:21:\"w.org/plugins/akismet\";s:4:\"slug\";s:7:\"akismet\";s:6:\"plugin\";s:19:\"akismet/akismet.php\";s:11:\"new_version\";s:3:\"5.6\";s:3:\"url\";s:38:\"https://wordpress.org/plugins/akismet/\";s:7:\"package\";s:54:\"https://downloads.wordpress.org/plugin/akismet.5.6.zip\";s:5:\"icons\";a:2:{s:2:\"2x\";s:60:\"https://ps.w.org/akismet/assets/icon-256x256.png?rev=2818463\";s:2:\"1x\";s:60:\"https://ps.w.org/akismet/assets/icon-128x128.png?rev=2818463\";}s:7:\"banners\";a:2:{s:2:\"2x\";s:63:\"https://ps.w.org/akismet/assets/banner-1544x500.png?rev=2900731\";s:2:\"1x\";s:62:\"https://ps.w.org/akismet/assets/banner-772x250.png?rev=2900731\";}s:11:\"banners_rtl\";a:0:{}s:8:\"requires\";s:3:\"5.8\";s:6:\"tested\";s:5:\"6.9.4\";s:12:\"requires_php\";s:3:\"7.2\";s:16:\"requires_plugins\";a:0:{}}s:49:\"better-recent-comments/better-recent-comments.php\";O:8:\"stdClass\":13:{s:2:\"id\";s:36:\"w.org/plugins/better-recent-comments\";s:4:\"slug\";s:22:\"better-recent-comments\";s:6:\"plugin\";s:49:\"better-recent-comments/better-recent-comments.php\";s:11:\"new_version\";s:5:\"1.2.0\";s:3:\"url\";s:53:\"https://wordpress.org/plugins/better-recent-comments/\";s:7:\"package\";s:71:\"https://downloads.wordpress.org/plugin/better-recent-comments.1.2.0.zip\";s:5:\"icons\";a:2:{s:2:\"1x\";s:67:\"https://ps.w.org/better-recent-comments/assets/icon.svg?rev=3100094\";s:3:\"svg\";s:67:\"https://ps.w.org/better-recent-comments/assets/icon.svg?rev=3100094\";}s:7:\"banners\";a:2:{s:2:\"2x\";s:78:\"https://ps.w.org/better-recent-comments/assets/banner-1544x500.png?rev=3100094\";s:2:\"1x\";s:77:\"https://ps.w.org/better-recent-comments/assets/banner-772x250.png?rev=3100094\";}s:11:\"banners_rtl\";a:0:{}s:8:\"requires\";s:3:\"6.0\";s:6:\"tested\";s:5:\"6.5.8\";s:12:\"requires_php\";s:3:\"7.4\";s:16:\"requires_plugins\";a:0:{}}s:19:\"jetpack/jetpack.php\";O:8:\"stdClass\":13:{s:2:\"id\";s:21:\"w.org/plugins/jetpack\";s:4:\"slug\";s:7:\"jetpack\";s:6:\"plugin\";s:19:\"jetpack/jetpack.php\";s:11:\"new_version\";s:4:\"15.6\";s:3:\"url\";s:38:\"https://wordpress.org/plugins/jetpack/\";s:7:\"package\";s:55:\"https://downloads.wordpress.org/plugin/jetpack.15.6.zip\";s:5:\"icons\";a:2:{s:2:\"1x\";s:52:\"https://ps.w.org/jetpack/assets/icon.svg?rev=2819237\";s:3:\"svg\";s:52:\"https://ps.w.org/jetpack/assets/icon.svg?rev=2819237\";}s:7:\"banners\";a:2:{s:2:\"2x\";s:63:\"https://ps.w.org/jetpack/assets/banner-1544x500.png?rev=2653649\";s:2:\"1x\";s:62:\"https://ps.w.org/jetpack/assets/banner-772x250.png?rev=2653649\";}s:11:\"banners_rtl\";a:0:{}s:8:\"requires\";s:3:\"6.8\";s:6:\"tested\";s:5:\"6.9.4\";s:12:\"requires_php\";s:3:\"7.2\";s:16:\"requires_plugins\";a:0:{}}s:47:\"latest-post-shortcode/latest-post-shortcode.php\";O:8:\"stdClass\":13:{s:2:\"id\";s:35:\"w.org/plugins/latest-post-shortcode\";s:4:\"slug\";s:21:\"latest-post-shortcode\";s:6:\"plugin\";s:47:\"latest-post-shortcode/latest-post-shortcode.php\";s:11:\"new_version\";s:6:\"14.2.2\";s:3:\"url\";s:52:\"https://wordpress.org/plugins/latest-post-shortcode/\";s:7:\"package\";s:71:\"https://downloads.wordpress.org/plugin/latest-post-shortcode.14.2.2.zip\";s:5:\"icons\";a:1:{s:2:\"1x\";s:74:\"https://ps.w.org/latest-post-shortcode/assets/icon-128x128.gif?rev=2355649\";}s:7:\"banners\";a:2:{s:2:\"2x\";s:77:\"https://ps.w.org/latest-post-shortcode/assets/banner-1544x500.png?rev=3117513\";s:2:\"1x\";s:76:\"https://ps.w.org/latest-post-shortcode/assets/banner-772x250.png?rev=3117513\";}s:11:\"banners_rtl\";a:0:{}s:8:\"requires\";s:5:\"5.5.0\";s:6:\"tested\";s:5:\"6.9.4\";s:12:\"requires_php\";s:5:\"7.3.5\";s:16:\"requires_plugins\";a:0:{}}s:45:\"organize-media-folder/organizemediafolder.php\";O:8:\"stdClass\":13:{s:2:\"id\";s:35:\"w.org/plugins/organize-media-folder\";s:4:\"slug\";s:21:\"organize-media-folder\";s:6:\"plugin\";s:45:\"organize-media-folder/organizemediafolder.php\";s:11:\"new_version\";s:4:\"1.36\";s:3:\"url\";s:52:\"https://wordpress.org/plugins/organize-media-folder/\";s:7:\"package\";s:69:\"https://downloads.wordpress.org/plugin/organize-media-folder.1.36.zip\";s:5:\"icons\";a:2:{s:2:\"2x\";s:74:\"https://ps.w.org/organize-media-folder/assets/icon-256x256.png?rev=2446017\";s:2:\"1x\";s:74:\"https://ps.w.org/organize-media-folder/assets/icon-256x256.png?rev=2446017\";}s:7:\"banners\";a:2:{s:2:\"2x\";s:77:\"https://ps.w.org/organize-media-folder/assets/banner-1544x500.jpg?rev=2446017\";s:2:\"1x\";s:76:\"https://ps.w.org/organize-media-folder/assets/banner-772x250.jpg?rev=2446017\";}s:11:\"banners_rtl\";a:0:{}s:8:\"requires\";s:3:\"4.7\";s:6:\"tested\";s:5:\"6.9.4\";s:12:\"requires_php\";s:3:\"8.0\";s:16:\"requires_plugins\";a:0:{}}s:45:\"phoenix-media-rename/phoenix-media-rename.php\";O:8:\"stdClass\":13:{s:2:\"id\";s:34:\"w.org/plugins/phoenix-media-rename\";s:4:\"slug\";s:20:\"phoenix-media-rename\";s:6:\"plugin\";s:45:\"phoenix-media-rename/phoenix-media-rename.php\";s:11:\"new_version\";s:6:\"3.13.1\";s:3:\"url\";s:51:\"https://wordpress.org/plugins/phoenix-media-rename/\";s:7:\"package\";s:70:\"https://downloads.wordpress.org/plugin/phoenix-media-rename.3.13.1.zip\";s:5:\"icons\";a:2:{s:2:\"2x\";s:73:\"https://ps.w.org/phoenix-media-rename/assets/icon-256x256.png?rev=3120623\";s:2:\"1x\";s:73:\"https://ps.w.org/phoenix-media-rename/assets/icon-128x128.png?rev=3120623\";}s:7:\"banners\";a:1:{s:2:\"1x\";s:75:\"https://ps.w.org/phoenix-media-rename/assets/banner-772x250.png?rev=1490792\";}s:11:\"banners_rtl\";a:0:{}s:8:\"requires\";s:3:\"5.0\";s:6:\"tested\";s:5:\"6.8.5\";s:12:\"requires_php\";s:3:\"8.0\";s:16:\"requires_plugins\";a:0:{}}s:47:\"really-simple-ssl/rlrsssl-really-simple-ssl.php\";O:8:\"stdClass\":13:{s:2:\"id\";s:31:\"w.org/plugins/really-simple-ssl\";s:4:\"slug\";s:17:\"really-simple-ssl\";s:6:\"plugin\";s:47:\"really-simple-ssl/rlrsssl-really-simple-ssl.php\";s:11:\"new_version\";s:5:\"9.5.8\";s:3:\"url\";s:48:\"https://wordpress.org/plugins/really-simple-ssl/\";s:7:\"package\";s:66:\"https://downloads.wordpress.org/plugin/really-simple-ssl.9.5.8.zip\";s:5:\"icons\";a:2:{s:2:\"2x\";s:70:\"https://ps.w.org/really-simple-ssl/assets/icon-256x256.png?rev=2839720\";s:2:\"1x\";s:70:\"https://ps.w.org/really-simple-ssl/assets/icon-128x128.png?rev=2839720\";}s:7:\"banners\";a:2:{s:2:\"2x\";s:73:\"https://ps.w.org/really-simple-ssl/assets/banner-1544x500.png?rev=3100992\";s:2:\"1x\";s:72:\"https://ps.w.org/really-simple-ssl/assets/banner-772x250.png?rev=3100992\";}s:11:\"banners_rtl\";a:0:{}s:8:\"requires\";s:3:\"6.6\";s:6:\"tested\";s:5:\"6.9.4\";s:12:\"requires_php\";s:3:\"7.4\";s:16:\"requires_plugins\";a:0:{}}}s:12:\"translations\";a:0:{}s:9:\"no_update\";a:2:{s:35:\"backupwordpress/backupwordpress.php\";O:8:\"stdClass\":10:{s:2:\"id\";s:29:\"w.org/plugins/backupwordpress\";s:4:\"slug\";s:15:\"backupwordpress\";s:6:\"plugin\";s:35:\"backupwordpress/backupwordpress.php\";s:11:\"new_version\";s:4:\"3.14\";s:3:\"url\";s:46:\"https://wordpress.org/plugins/backupwordpress/\";s:7:\"package\";s:63:\"https://downloads.wordpress.org/plugin/backupwordpress.3.14.zip\";s:5:\"icons\";a:2:{s:2:\"2x\";s:68:\"https://ps.w.org/backupwordpress/assets/icon-256x256.jpg?rev=1105225\";s:2:\"1x\";s:68:\"https://ps.w.org/backupwordpress/assets/icon-128x128.png?rev=1105225\";}s:7:\"banners\";a:2:{s:2:\"2x\";s:70:\"https://ps.w.org/backupwordpress/assets/banner-1544x500.jpg?rev=904756\";s:2:\"1x\";s:69:\"https://ps.w.org/backupwordpress/assets/banner-772x250.jpg?rev=904756\";}s:11:\"banners_rtl\";a:0:{}s:8:\"requires\";s:3:\"3.9\";}s:41:\"wp-visitors-widget/wp-visitors-widget.php\";O:8:\"stdClass\":10:{s:2:\"id\";s:32:\"w.org/plugins/wp-visitors-widget\";s:4:\"slug\";s:18:\"wp-visitors-widget\";s:6:\"plugin\";s:41:\"wp-visitors-widget/wp-visitors-widget.php\";s:11:\"new_version\";s:3:\"2.2\";s:3:\"url\";s:49:\"https://wordpress.org/plugins/wp-visitors-widget/\";s:7:\"package\";s:61:\"https://downloads.wordpress.org/plugin/wp-visitors-widget.zip\";s:5:\"icons\";a:2:{s:2:\"2x\";s:71:\"https://ps.w.org/wp-visitors-widget/assets/icon-256x256.png?rev=2178611\";s:2:\"1x\";s:71:\"https://ps.w.org/wp-visitors-widget/assets/icon-256x256.png?rev=2178611\";}s:7:\"banners\";a:2:{s:2:\"2x\";s:74:\"https://ps.w.org/wp-visitors-widget/assets/banner-1544x500.jpg?rev=2178619\";s:2:\"1x\";s:73:\"https://ps.w.org/wp-visitors-widget/assets/banner-772x250.jpg?rev=2178619\";}s:11:\"banners_rtl\";a:0:{}s:8:\"requires\";s:3:\"4.0\";}}s:7:\"checked\";a:15:{s:19:\"akismet/akismet.php\";s:3:\"3.2\";s:35:\"backupwordpress/backupwordpress.php\";s:4:\"3.14\";s:49:\"better-recent-comments/better-recent-comments.php\";s:5:\"1.1.2\";s:27:\"scriptures/ShowComments.php\";s:3:\"1.0\";s:12:\"fileView.php\";s:3:\"1.0\";s:29:\"gravityforms/gravityforms.php\";s:8:\"2.2.5.11\";s:19:\"jetpack/jetpack.php\";s:4:\"14.1\";s:47:\"latest-post-shortcode/latest-post-shortcode.php\";s:6:\"14.1.0\";s:41:\"wp-visitors-widget/wp-visitors-widget.php\";s:3:\"2.2\";s:30:\"movie_library/movieLibrary.php\";s:3:\"1.0\";s:45:\"organize-media-folder/organizemediafolder.php\";s:4:\"1.33\";s:45:\"phoenix-media-rename/phoenix-media-rename.php\";s:5:\"3.8.8\";s:47:\"really-simple-ssl/rlrsssl-really-simple-ssl.php\";s:5:\"3.3.3\";s:35:\"slider-pro-master/swd_sliderpro.php\";s:3:\"1.0\";s:30:\"directorySWD/ShowDirectory.php\";s:3:\"1.0\";}}','off'),(1206,'nav_menu_options','a:2:{i:0;b:0;s:8:\"auto_add\";a:0:{}}','off'),(18615,'_site_transient_timeout_wp_theme_files_patterns-b6cbbc6195c262f28352aa132f49b746','1773318660','off'),(13618,'_transient_health-check-site-status-result','{\"good\":17,\"recommended\":7,\"critical\":0}','yes'),(13845,'_transient_wp_styles_for_blocks','a:2:{s:4:\"hash\";s:32:\"ac5d1e337abdcb7c09762e96707a996c\";s:6:\"blocks\";a:6:{s:11:\"core/button\";s:0:\"\";s:14:\"core/site-logo\";s:0:\"\";s:18:\"core/post-template\";s:120:\":where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}\";s:18:\"core/term-template\";s:120:\":where(.wp-block-term-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-term-template.is-layout-grid){gap: 1.25em;}\";s:12:\"core/columns\";s:102:\":where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}\";s:14:\"core/pullquote\";s:69:\":root :where(.wp-block-pullquote){font-size: 1.5em;line-height: 1.6;}\";}}','on'),(8422,'widget_responsive_about_me_widget','a:1:{s:12:\"_multiwidget\";i:1;}','yes'),(8489,'responsive-theme-old-setup','1','yes'),(8428,'responsive_version_410','1','yes'),(8509,'widget_visitors_widget','a:2:{i:2;a:8:{s:5:\"title\";s:5:\"Crops\";s:12:\"select_style\";s:1:\"4\";s:6:\"colors\";s:5:\"light\";s:10:\"data_row_1\";s:10:\"visit_live\";s:10:\"data_row_2\";s:11:\"visit_today\";s:10:\"data_row_3\";s:11:\"visit_total\";s:6:\"shadow\";s:0:\"\";s:13:\"initial_value\";s:1:\"2\";}s:12:\"_multiwidget\";i:1;}','yes'),(8510,'_transient_is_multi_author','0','yes'),(13584,'widget_media_image','a:1:{s:12:\"_multiwidget\";i:1;}','yes'),(13585,'widget_media_gallery','a:1:{s:12:\"_multiwidget\";i:1;}','yes'),(13586,'widget_media_video','a:1:{s:12:\"_multiwidget\";i:1;}','yes'),(13587,'widget_custom_html','a:1:{s:12:\"_multiwidget\";i:1;}','yes'),(13841,'widget_block','a:1:{s:12:\"_multiwidget\";i:1;}','auto'),(13591,'recovery_keys','a:0:{}','off'),(13544,'_transient_twentyseventeen_categories','1','yes'),(13583,'widget_media_audio','a:1:{s:12:\"_multiwidget\";i:1;}','yes'),(13543,'category_children','a:0:{}','yes'),(18597,'user_count','1','off'),(18598,'db_upgraded','1','auto'),(18599,'_site_transient_update_core','O:8:\"stdClass\":4:{s:7:\"updates\";a:1:{i:0;O:8:\"stdClass\":10:{s:8:\"response\";s:6:\"latest\";s:8:\"download\";s:59:\"https://downloads.wordpress.org/release/wordpress-6.9.4.zip\";s:6:\"locale\";s:5:\"en_US\";s:8:\"packages\";O:8:\"stdClass\":5:{s:4:\"full\";s:59:\"https://downloads.wordpress.org/release/wordpress-6.9.4.zip\";s:10:\"no_content\";s:70:\"https://downloads.wordpress.org/release/wordpress-6.9.4-no-content.zip\";s:11:\"new_bundled\";s:71:\"https://downloads.wordpress.org/release/wordpress-6.9.4-new-bundled.zip\";s:7:\"partial\";s:0:\"\";s:8:\"rollback\";s:0:\"\";}s:7:\"current\";s:5:\"6.9.4\";s:7:\"version\";s:5:\"6.9.4\";s:11:\"php_version\";s:6:\"7.2.24\";s:13:\"mysql_version\";s:5:\"5.5.5\";s:11:\"new_bundled\";s:3:\"6.7\";s:15:\"partial_version\";s:0:\"\";}}s:12:\"last_checked\";i:1773315715;s:15:\"version_checked\";s:5:\"6.9.4\";s:12:\"translations\";a:0:{}}','off'),(18613,'_site_transient_update_themes','O:8:\"stdClass\":5:{s:12:\"last_checked\";i:1773315716;s:7:\"checked\";a:10:{s:10:\"responsive\";s:5:\"4.9.5\";s:13:\"responsiveswd\";s:0:\"\";s:13:\"twentyfifteen\";s:3:\"1.7\";s:14:\"twentynineteen\";s:3:\"1.6\";s:15:\"twentyseventeen\";s:3:\"3.4\";s:13:\"twentysixteen\";s:3:\"1.3\";s:12:\"twentytwenty\";s:3:\"1.4\";s:16:\"twentytwentyfive\";s:3:\"1.2\";s:16:\"twentytwentyfour\";s:3:\"1.3\";s:17:\"twentytwentythree\";s:3:\"1.6\";}s:8:\"response\";a:8:{s:10:\"responsive\";a:6:{s:5:\"theme\";s:10:\"responsive\";s:11:\"new_version\";s:5:\"6.3.5\";s:3:\"url\";s:40:\"https://wordpress.org/themes/responsive/\";s:7:\"package\";s:58:\"https://downloads.wordpress.org/theme/responsive.6.3.5.zip\";s:8:\"requires\";b:0;s:12:\"requires_php\";s:3:\"5.6\";}s:13:\"twentyfifteen\";a:6:{s:5:\"theme\";s:13:\"twentyfifteen\";s:11:\"new_version\";s:3:\"4.1\";s:3:\"url\";s:43:\"https://wordpress.org/themes/twentyfifteen/\";s:7:\"package\";s:59:\"https://downloads.wordpress.org/theme/twentyfifteen.4.1.zip\";s:8:\"requires\";s:3:\"4.1\";s:12:\"requires_php\";s:5:\"5.2.4\";}s:14:\"twentynineteen\";a:6:{s:5:\"theme\";s:14:\"twentynineteen\";s:11:\"new_version\";s:3:\"3.2\";s:3:\"url\";s:44:\"https://wordpress.org/themes/twentynineteen/\";s:7:\"package\";s:60:\"https://downloads.wordpress.org/theme/twentynineteen.3.2.zip\";s:8:\"requires\";s:3:\"4.7\";s:12:\"requires_php\";s:5:\"5.2.4\";}s:15:\"twentyseventeen\";a:6:{s:5:\"theme\";s:15:\"twentyseventeen\";s:11:\"new_version\";s:3:\"4.0\";s:3:\"url\";s:45:\"https://wordpress.org/themes/twentyseventeen/\";s:7:\"package\";s:61:\"https://downloads.wordpress.org/theme/twentyseventeen.4.0.zip\";s:8:\"requires\";s:3:\"4.7\";s:12:\"requires_php\";s:5:\"5.2.4\";}s:13:\"twentysixteen\";a:6:{s:5:\"theme\";s:13:\"twentysixteen\";s:11:\"new_version\";s:3:\"3.7\";s:3:\"url\";s:43:\"https://wordpress.org/themes/twentysixteen/\";s:7:\"package\";s:59:\"https://downloads.wordpress.org/theme/twentysixteen.3.7.zip\";s:8:\"requires\";s:3:\"4.4\";s:12:\"requires_php\";s:5:\"5.2.4\";}s:12:\"twentytwenty\";a:6:{s:5:\"theme\";s:12:\"twentytwenty\";s:11:\"new_version\";s:3:\"3.0\";s:3:\"url\";s:42:\"https://wordpress.org/themes/twentytwenty/\";s:7:\"package\";s:58:\"https://downloads.wordpress.org/theme/twentytwenty.3.0.zip\";s:8:\"requires\";s:3:\"4.7\";s:12:\"requires_php\";s:5:\"5.2.4\";}s:16:\"twentytwentyfive\";a:6:{s:5:\"theme\";s:16:\"twentytwentyfive\";s:11:\"new_version\";s:3:\"1.4\";s:3:\"url\";s:46:\"https://wordpress.org/themes/twentytwentyfive/\";s:7:\"package\";s:62:\"https://downloads.wordpress.org/theme/twentytwentyfive.1.4.zip\";s:8:\"requires\";s:3:\"6.7\";s:12:\"requires_php\";s:3:\"7.2\";}s:16:\"twentytwentyfour\";a:6:{s:5:\"theme\";s:16:\"twentytwentyfour\";s:11:\"new_version\";s:3:\"1.4\";s:3:\"url\";s:46:\"https://wordpress.org/themes/twentytwentyfour/\";s:7:\"package\";s:62:\"https://downloads.wordpress.org/theme/twentytwentyfour.1.4.zip\";s:8:\"requires\";s:3:\"6.4\";s:12:\"requires_php\";s:3:\"7.0\";}}s:9:\"no_update\";a:1:{s:17:\"twentytwentythree\";a:6:{s:5:\"theme\";s:17:\"twentytwentythree\";s:11:\"new_version\";s:3:\"1.6\";s:3:\"url\";s:47:\"https://wordpress.org/themes/twentytwentythree/\";s:7:\"package\";s:63:\"https://downloads.wordpress.org/theme/twentytwentythree.1.6.zip\";s:8:\"requires\";s:3:\"6.1\";s:12:\"requires_php\";s:3:\"5.6\";}}s:12:\"translations\";a:0:{}}','off'),(16792,'_transient_wp_core_block_css_files','a:2:{s:7:\"version\";s:5:\"6.9.4\";s:5:\"files\";a:584:{i:0;s:31:\"accordion-heading/style-rtl.css\";i:1;s:35:\"accordion-heading/style-rtl.min.css\";i:2;s:27:\"accordion-heading/style.css\";i:3;s:31:\"accordion-heading/style.min.css\";i:4;s:28:\"accordion-item/style-rtl.css\";i:5;s:32:\"accordion-item/style-rtl.min.css\";i:6;s:24:\"accordion-item/style.css\";i:7;s:28:\"accordion-item/style.min.css\";i:8;s:29:\"accordion-panel/style-rtl.css\";i:9;s:33:\"accordion-panel/style-rtl.min.css\";i:10;s:25:\"accordion-panel/style.css\";i:11;s:29:\"accordion-panel/style.min.css\";i:12;s:23:\"accordion/style-rtl.css\";i:13;s:27:\"accordion/style-rtl.min.css\";i:14;s:19:\"accordion/style.css\";i:15;s:23:\"accordion/style.min.css\";i:16;s:23:\"archives/editor-rtl.css\";i:17;s:27:\"archives/editor-rtl.min.css\";i:18;s:19:\"archives/editor.css\";i:19;s:23:\"archives/editor.min.css\";i:20;s:22:\"archives/style-rtl.css\";i:21;s:26:\"archives/style-rtl.min.css\";i:22;s:18:\"archives/style.css\";i:23;s:22:\"archives/style.min.css\";i:24;s:20:\"audio/editor-rtl.css\";i:25;s:24:\"audio/editor-rtl.min.css\";i:26;s:16:\"audio/editor.css\";i:27;s:20:\"audio/editor.min.css\";i:28;s:19:\"audio/style-rtl.css\";i:29;s:23:\"audio/style-rtl.min.css\";i:30;s:15:\"audio/style.css\";i:31;s:19:\"audio/style.min.css\";i:32;s:19:\"audio/theme-rtl.css\";i:33;s:23:\"audio/theme-rtl.min.css\";i:34;s:15:\"audio/theme.css\";i:35;s:19:\"audio/theme.min.css\";i:36;s:21:\"avatar/editor-rtl.css\";i:37;s:25:\"avatar/editor-rtl.min.css\";i:38;s:17:\"avatar/editor.css\";i:39;s:21:\"avatar/editor.min.css\";i:40;s:20:\"avatar/style-rtl.css\";i:41;s:24:\"avatar/style-rtl.min.css\";i:42;s:16:\"avatar/style.css\";i:43;s:20:\"avatar/style.min.css\";i:44;s:21:\"button/editor-rtl.css\";i:45;s:25:\"button/editor-rtl.min.css\";i:46;s:17:\"button/editor.css\";i:47;s:21:\"button/editor.min.css\";i:48;s:20:\"button/style-rtl.css\";i:49;s:24:\"button/style-rtl.min.css\";i:50;s:16:\"button/style.css\";i:51;s:20:\"button/style.min.css\";i:52;s:22:\"buttons/editor-rtl.css\";i:53;s:26:\"buttons/editor-rtl.min.css\";i:54;s:18:\"buttons/editor.css\";i:55;s:22:\"buttons/editor.min.css\";i:56;s:21:\"buttons/style-rtl.css\";i:57;s:25:\"buttons/style-rtl.min.css\";i:58;s:17:\"buttons/style.css\";i:59;s:21:\"buttons/style.min.css\";i:60;s:22:\"calendar/style-rtl.css\";i:61;s:26:\"calendar/style-rtl.min.css\";i:62;s:18:\"calendar/style.css\";i:63;s:22:\"calendar/style.min.css\";i:64;s:25:\"categories/editor-rtl.css\";i:65;s:29:\"categories/editor-rtl.min.css\";i:66;s:21:\"categories/editor.css\";i:67;s:25:\"categories/editor.min.css\";i:68;s:24:\"categories/style-rtl.css\";i:69;s:28:\"categories/style-rtl.min.css\";i:70;s:20:\"categories/style.css\";i:71;s:24:\"categories/style.min.css\";i:72;s:19:\"code/editor-rtl.css\";i:73;s:23:\"code/editor-rtl.min.css\";i:74;s:15:\"code/editor.css\";i:75;s:19:\"code/editor.min.css\";i:76;s:18:\"code/style-rtl.css\";i:77;s:22:\"code/style-rtl.min.css\";i:78;s:14:\"code/style.css\";i:79;s:18:\"code/style.min.css\";i:80;s:18:\"code/theme-rtl.css\";i:81;s:22:\"code/theme-rtl.min.css\";i:82;s:14:\"code/theme.css\";i:83;s:18:\"code/theme.min.css\";i:84;s:22:\"columns/editor-rtl.css\";i:85;s:26:\"columns/editor-rtl.min.css\";i:86;s:18:\"columns/editor.css\";i:87;s:22:\"columns/editor.min.css\";i:88;s:21:\"columns/style-rtl.css\";i:89;s:25:\"columns/style-rtl.min.css\";i:90;s:17:\"columns/style.css\";i:91;s:21:\"columns/style.min.css\";i:92;s:33:\"comment-author-name/style-rtl.css\";i:93;s:37:\"comment-author-name/style-rtl.min.css\";i:94;s:29:\"comment-author-name/style.css\";i:95;s:33:\"comment-author-name/style.min.css\";i:96;s:29:\"comment-content/style-rtl.css\";i:97;s:33:\"comment-content/style-rtl.min.css\";i:98;s:25:\"comment-content/style.css\";i:99;s:29:\"comment-content/style.min.css\";i:100;s:26:\"comment-date/style-rtl.css\";i:101;s:30:\"comment-date/style-rtl.min.css\";i:102;s:22:\"comment-date/style.css\";i:103;s:26:\"comment-date/style.min.css\";i:104;s:31:\"comment-edit-link/style-rtl.css\";i:105;s:35:\"comment-edit-link/style-rtl.min.css\";i:106;s:27:\"comment-edit-link/style.css\";i:107;s:31:\"comment-edit-link/style.min.css\";i:108;s:32:\"comment-reply-link/style-rtl.css\";i:109;s:36:\"comment-reply-link/style-rtl.min.css\";i:110;s:28:\"comment-reply-link/style.css\";i:111;s:32:\"comment-reply-link/style.min.css\";i:112;s:30:\"comment-template/style-rtl.css\";i:113;s:34:\"comment-template/style-rtl.min.css\";i:114;s:26:\"comment-template/style.css\";i:115;s:30:\"comment-template/style.min.css\";i:116;s:42:\"comments-pagination-numbers/editor-rtl.css\";i:117;s:46:\"comments-pagination-numbers/editor-rtl.min.css\";i:118;s:38:\"comments-pagination-numbers/editor.css\";i:119;s:42:\"comments-pagination-numbers/editor.min.css\";i:120;s:34:\"comments-pagination/editor-rtl.css\";i:121;s:38:\"comments-pagination/editor-rtl.min.css\";i:122;s:30:\"comments-pagination/editor.css\";i:123;s:34:\"comments-pagination/editor.min.css\";i:124;s:33:\"comments-pagination/style-rtl.css\";i:125;s:37:\"comments-pagination/style-rtl.min.css\";i:126;s:29:\"comments-pagination/style.css\";i:127;s:33:\"comments-pagination/style.min.css\";i:128;s:29:\"comments-title/editor-rtl.css\";i:129;s:33:\"comments-title/editor-rtl.min.css\";i:130;s:25:\"comments-title/editor.css\";i:131;s:29:\"comments-title/editor.min.css\";i:132;s:23:\"comments/editor-rtl.css\";i:133;s:27:\"comments/editor-rtl.min.css\";i:134;s:19:\"comments/editor.css\";i:135;s:23:\"comments/editor.min.css\";i:136;s:22:\"comments/style-rtl.css\";i:137;s:26:\"comments/style-rtl.min.css\";i:138;s:18:\"comments/style.css\";i:139;s:22:\"comments/style.min.css\";i:140;s:20:\"cover/editor-rtl.css\";i:141;s:24:\"cover/editor-rtl.min.css\";i:142;s:16:\"cover/editor.css\";i:143;s:20:\"cover/editor.min.css\";i:144;s:19:\"cover/style-rtl.css\";i:145;s:23:\"cover/style-rtl.min.css\";i:146;s:15:\"cover/style.css\";i:147;s:19:\"cover/style.min.css\";i:148;s:22:\"details/editor-rtl.css\";i:149;s:26:\"details/editor-rtl.min.css\";i:150;s:18:\"details/editor.css\";i:151;s:22:\"details/editor.min.css\";i:152;s:21:\"details/style-rtl.css\";i:153;s:25:\"details/style-rtl.min.css\";i:154;s:17:\"details/style.css\";i:155;s:21:\"details/style.min.css\";i:156;s:20:\"embed/editor-rtl.css\";i:157;s:24:\"embed/editor-rtl.min.css\";i:158;s:16:\"embed/editor.css\";i:159;s:20:\"embed/editor.min.css\";i:160;s:19:\"embed/style-rtl.css\";i:161;s:23:\"embed/style-rtl.min.css\";i:162;s:15:\"embed/style.css\";i:163;s:19:\"embed/style.min.css\";i:164;s:19:\"embed/theme-rtl.css\";i:165;s:23:\"embed/theme-rtl.min.css\";i:166;s:15:\"embed/theme.css\";i:167;s:19:\"embed/theme.min.css\";i:168;s:19:\"file/editor-rtl.css\";i:169;s:23:\"file/editor-rtl.min.css\";i:170;s:15:\"file/editor.css\";i:171;s:19:\"file/editor.min.css\";i:172;s:18:\"file/style-rtl.css\";i:173;s:22:\"file/style-rtl.min.css\";i:174;s:14:\"file/style.css\";i:175;s:18:\"file/style.min.css\";i:176;s:23:\"footnotes/style-rtl.css\";i:177;s:27:\"footnotes/style-rtl.min.css\";i:178;s:19:\"footnotes/style.css\";i:179;s:23:\"footnotes/style.min.css\";i:180;s:23:\"freeform/editor-rtl.css\";i:181;s:27:\"freeform/editor-rtl.min.css\";i:182;s:19:\"freeform/editor.css\";i:183;s:23:\"freeform/editor.min.css\";i:184;s:22:\"gallery/editor-rtl.css\";i:185;s:26:\"gallery/editor-rtl.min.css\";i:186;s:18:\"gallery/editor.css\";i:187;s:22:\"gallery/editor.min.css\";i:188;s:21:\"gallery/style-rtl.css\";i:189;s:25:\"gallery/style-rtl.min.css\";i:190;s:17:\"gallery/style.css\";i:191;s:21:\"gallery/style.min.css\";i:192;s:21:\"gallery/theme-rtl.css\";i:193;s:25:\"gallery/theme-rtl.min.css\";i:194;s:17:\"gallery/theme.css\";i:195;s:21:\"gallery/theme.min.css\";i:196;s:20:\"group/editor-rtl.css\";i:197;s:24:\"group/editor-rtl.min.css\";i:198;s:16:\"group/editor.css\";i:199;s:20:\"group/editor.min.css\";i:200;s:19:\"group/style-rtl.css\";i:201;s:23:\"group/style-rtl.min.css\";i:202;s:15:\"group/style.css\";i:203;s:19:\"group/style.min.css\";i:204;s:19:\"group/theme-rtl.css\";i:205;s:23:\"group/theme-rtl.min.css\";i:206;s:15:\"group/theme.css\";i:207;s:19:\"group/theme.min.css\";i:208;s:21:\"heading/style-rtl.css\";i:209;s:25:\"heading/style-rtl.min.css\";i:210;s:17:\"heading/style.css\";i:211;s:21:\"heading/style.min.css\";i:212;s:19:\"html/editor-rtl.css\";i:213;s:23:\"html/editor-rtl.min.css\";i:214;s:15:\"html/editor.css\";i:215;s:19:\"html/editor.min.css\";i:216;s:20:\"image/editor-rtl.css\";i:217;s:24:\"image/editor-rtl.min.css\";i:218;s:16:\"image/editor.css\";i:219;s:20:\"image/editor.min.css\";i:220;s:19:\"image/style-rtl.css\";i:221;s:23:\"image/style-rtl.min.css\";i:222;s:15:\"image/style.css\";i:223;s:19:\"image/style.min.css\";i:224;s:19:\"image/theme-rtl.css\";i:225;s:23:\"image/theme-rtl.min.css\";i:226;s:15:\"image/theme.css\";i:227;s:19:\"image/theme.min.css\";i:228;s:29:\"latest-comments/style-rtl.css\";i:229;s:33:\"latest-comments/style-rtl.min.css\";i:230;s:25:\"latest-comments/style.css\";i:231;s:29:\"latest-comments/style.min.css\";i:232;s:27:\"latest-posts/editor-rtl.css\";i:233;s:31:\"latest-posts/editor-rtl.min.css\";i:234;s:23:\"latest-posts/editor.css\";i:235;s:27:\"latest-posts/editor.min.css\";i:236;s:26:\"latest-posts/style-rtl.css\";i:237;s:30:\"latest-posts/style-rtl.min.css\";i:238;s:22:\"latest-posts/style.css\";i:239;s:26:\"latest-posts/style.min.css\";i:240;s:18:\"list/style-rtl.css\";i:241;s:22:\"list/style-rtl.min.css\";i:242;s:14:\"list/style.css\";i:243;s:18:\"list/style.min.css\";i:244;s:22:\"loginout/style-rtl.css\";i:245;s:26:\"loginout/style-rtl.min.css\";i:246;s:18:\"loginout/style.css\";i:247;s:22:\"loginout/style.min.css\";i:248;s:19:\"math/editor-rtl.css\";i:249;s:23:\"math/editor-rtl.min.css\";i:250;s:15:\"math/editor.css\";i:251;s:19:\"math/editor.min.css\";i:252;s:18:\"math/style-rtl.css\";i:253;s:22:\"math/style-rtl.min.css\";i:254;s:14:\"math/style.css\";i:255;s:18:\"math/style.min.css\";i:256;s:25:\"media-text/editor-rtl.css\";i:257;s:29:\"media-text/editor-rtl.min.css\";i:258;s:21:\"media-text/editor.css\";i:259;s:25:\"media-text/editor.min.css\";i:260;s:24:\"media-text/style-rtl.css\";i:261;s:28:\"media-text/style-rtl.min.css\";i:262;s:20:\"media-text/style.css\";i:263;s:24:\"media-text/style.min.css\";i:264;s:19:\"more/editor-rtl.css\";i:265;s:23:\"more/editor-rtl.min.css\";i:266;s:15:\"more/editor.css\";i:267;s:19:\"more/editor.min.css\";i:268;s:30:\"navigation-link/editor-rtl.css\";i:269;s:34:\"navigation-link/editor-rtl.min.css\";i:270;s:26:\"navigation-link/editor.css\";i:271;s:30:\"navigation-link/editor.min.css\";i:272;s:29:\"navigation-link/style-rtl.css\";i:273;s:33:\"navigation-link/style-rtl.min.css\";i:274;s:25:\"navigation-link/style.css\";i:275;s:29:\"navigation-link/style.min.css\";i:276;s:33:\"navigation-submenu/editor-rtl.css\";i:277;s:37:\"navigation-submenu/editor-rtl.min.css\";i:278;s:29:\"navigation-submenu/editor.css\";i:279;s:33:\"navigation-submenu/editor.min.css\";i:280;s:25:\"navigation/editor-rtl.css\";i:281;s:29:\"navigation/editor-rtl.min.css\";i:282;s:21:\"navigation/editor.css\";i:283;s:25:\"navigation/editor.min.css\";i:284;s:24:\"navigation/style-rtl.css\";i:285;s:28:\"navigation/style-rtl.min.css\";i:286;s:20:\"navigation/style.css\";i:287;s:24:\"navigation/style.min.css\";i:288;s:23:\"nextpage/editor-rtl.css\";i:289;s:27:\"nextpage/editor-rtl.min.css\";i:290;s:19:\"nextpage/editor.css\";i:291;s:23:\"nextpage/editor.min.css\";i:292;s:24:\"page-list/editor-rtl.css\";i:293;s:28:\"page-list/editor-rtl.min.css\";i:294;s:20:\"page-list/editor.css\";i:295;s:24:\"page-list/editor.min.css\";i:296;s:23:\"page-list/style-rtl.css\";i:297;s:27:\"page-list/style-rtl.min.css\";i:298;s:19:\"page-list/style.css\";i:299;s:23:\"page-list/style.min.css\";i:300;s:24:\"paragraph/editor-rtl.css\";i:301;s:28:\"paragraph/editor-rtl.min.css\";i:302;s:20:\"paragraph/editor.css\";i:303;s:24:\"paragraph/editor.min.css\";i:304;s:23:\"paragraph/style-rtl.css\";i:305;s:27:\"paragraph/style-rtl.min.css\";i:306;s:19:\"paragraph/style.css\";i:307;s:23:\"paragraph/style.min.css\";i:308;s:35:\"post-author-biography/style-rtl.css\";i:309;s:39:\"post-author-biography/style-rtl.min.css\";i:310;s:31:\"post-author-biography/style.css\";i:311;s:35:\"post-author-biography/style.min.css\";i:312;s:30:\"post-author-name/style-rtl.css\";i:313;s:34:\"post-author-name/style-rtl.min.css\";i:314;s:26:\"post-author-name/style.css\";i:315;s:30:\"post-author-name/style.min.css\";i:316;s:25:\"post-author/style-rtl.css\";i:317;s:29:\"post-author/style-rtl.min.css\";i:318;s:21:\"post-author/style.css\";i:319;s:25:\"post-author/style.min.css\";i:320;s:33:\"post-comments-count/style-rtl.css\";i:321;s:37:\"post-comments-count/style-rtl.min.css\";i:322;s:29:\"post-comments-count/style.css\";i:323;s:33:\"post-comments-count/style.min.css\";i:324;s:33:\"post-comments-form/editor-rtl.css\";i:325;s:37:\"post-comments-form/editor-rtl.min.css\";i:326;s:29:\"post-comments-form/editor.css\";i:327;s:33:\"post-comments-form/editor.min.css\";i:328;s:32:\"post-comments-form/style-rtl.css\";i:329;s:36:\"post-comments-form/style-rtl.min.css\";i:330;s:28:\"post-comments-form/style.css\";i:331;s:32:\"post-comments-form/style.min.css\";i:332;s:32:\"post-comments-link/style-rtl.css\";i:333;s:36:\"post-comments-link/style-rtl.min.css\";i:334;s:28:\"post-comments-link/style.css\";i:335;s:32:\"post-comments-link/style.min.css\";i:336;s:26:\"post-content/style-rtl.css\";i:337;s:30:\"post-content/style-rtl.min.css\";i:338;s:22:\"post-content/style.css\";i:339;s:26:\"post-content/style.min.css\";i:340;s:23:\"post-date/style-rtl.css\";i:341;s:27:\"post-date/style-rtl.min.css\";i:342;s:19:\"post-date/style.css\";i:343;s:23:\"post-date/style.min.css\";i:344;s:27:\"post-excerpt/editor-rtl.css\";i:345;s:31:\"post-excerpt/editor-rtl.min.css\";i:346;s:23:\"post-excerpt/editor.css\";i:347;s:27:\"post-excerpt/editor.min.css\";i:348;s:26:\"post-excerpt/style-rtl.css\";i:349;s:30:\"post-excerpt/style-rtl.min.css\";i:350;s:22:\"post-excerpt/style.css\";i:351;s:26:\"post-excerpt/style.min.css\";i:352;s:34:\"post-featured-image/editor-rtl.css\";i:353;s:38:\"post-featured-image/editor-rtl.min.css\";i:354;s:30:\"post-featured-image/editor.css\";i:355;s:34:\"post-featured-image/editor.min.css\";i:356;s:33:\"post-featured-image/style-rtl.css\";i:357;s:37:\"post-featured-image/style-rtl.min.css\";i:358;s:29:\"post-featured-image/style.css\";i:359;s:33:\"post-featured-image/style.min.css\";i:360;s:34:\"post-navigation-link/style-rtl.css\";i:361;s:38:\"post-navigation-link/style-rtl.min.css\";i:362;s:30:\"post-navigation-link/style.css\";i:363;s:34:\"post-navigation-link/style.min.css\";i:364;s:27:\"post-template/style-rtl.css\";i:365;s:31:\"post-template/style-rtl.min.css\";i:366;s:23:\"post-template/style.css\";i:367;s:27:\"post-template/style.min.css\";i:368;s:24:\"post-terms/style-rtl.css\";i:369;s:28:\"post-terms/style-rtl.min.css\";i:370;s:20:\"post-terms/style.css\";i:371;s:24:\"post-terms/style.min.css\";i:372;s:31:\"post-time-to-read/style-rtl.css\";i:373;s:35:\"post-time-to-read/style-rtl.min.css\";i:374;s:27:\"post-time-to-read/style.css\";i:375;s:31:\"post-time-to-read/style.min.css\";i:376;s:24:\"post-title/style-rtl.css\";i:377;s:28:\"post-title/style-rtl.min.css\";i:378;s:20:\"post-title/style.css\";i:379;s:24:\"post-title/style.min.css\";i:380;s:26:\"preformatted/style-rtl.css\";i:381;s:30:\"preformatted/style-rtl.min.css\";i:382;s:22:\"preformatted/style.css\";i:383;s:26:\"preformatted/style.min.css\";i:384;s:24:\"pullquote/editor-rtl.css\";i:385;s:28:\"pullquote/editor-rtl.min.css\";i:386;s:20:\"pullquote/editor.css\";i:387;s:24:\"pullquote/editor.min.css\";i:388;s:23:\"pullquote/style-rtl.css\";i:389;s:27:\"pullquote/style-rtl.min.css\";i:390;s:19:\"pullquote/style.css\";i:391;s:23:\"pullquote/style.min.css\";i:392;s:23:\"pullquote/theme-rtl.css\";i:393;s:27:\"pullquote/theme-rtl.min.css\";i:394;s:19:\"pullquote/theme.css\";i:395;s:23:\"pullquote/theme.min.css\";i:396;s:39:\"query-pagination-numbers/editor-rtl.css\";i:397;s:43:\"query-pagination-numbers/editor-rtl.min.css\";i:398;s:35:\"query-pagination-numbers/editor.css\";i:399;s:39:\"query-pagination-numbers/editor.min.css\";i:400;s:31:\"query-pagination/editor-rtl.css\";i:401;s:35:\"query-pagination/editor-rtl.min.css\";i:402;s:27:\"query-pagination/editor.css\";i:403;s:31:\"query-pagination/editor.min.css\";i:404;s:30:\"query-pagination/style-rtl.css\";i:405;s:34:\"query-pagination/style-rtl.min.css\";i:406;s:26:\"query-pagination/style.css\";i:407;s:30:\"query-pagination/style.min.css\";i:408;s:25:\"query-title/style-rtl.css\";i:409;s:29:\"query-title/style-rtl.min.css\";i:410;s:21:\"query-title/style.css\";i:411;s:25:\"query-title/style.min.css\";i:412;s:25:\"query-total/style-rtl.css\";i:413;s:29:\"query-total/style-rtl.min.css\";i:414;s:21:\"query-total/style.css\";i:415;s:25:\"query-total/style.min.css\";i:416;s:20:\"query/editor-rtl.css\";i:417;s:24:\"query/editor-rtl.min.css\";i:418;s:16:\"query/editor.css\";i:419;s:20:\"query/editor.min.css\";i:420;s:19:\"quote/style-rtl.css\";i:421;s:23:\"quote/style-rtl.min.css\";i:422;s:15:\"quote/style.css\";i:423;s:19:\"quote/style.min.css\";i:424;s:19:\"quote/theme-rtl.css\";i:425;s:23:\"quote/theme-rtl.min.css\";i:426;s:15:\"quote/theme.css\";i:427;s:19:\"quote/theme.min.css\";i:428;s:23:\"read-more/style-rtl.css\";i:429;s:27:\"read-more/style-rtl.min.css\";i:430;s:19:\"read-more/style.css\";i:431;s:23:\"read-more/style.min.css\";i:432;s:18:\"rss/editor-rtl.css\";i:433;s:22:\"rss/editor-rtl.min.css\";i:434;s:14:\"rss/editor.css\";i:435;s:18:\"rss/editor.min.css\";i:436;s:17:\"rss/style-rtl.css\";i:437;s:21:\"rss/style-rtl.min.css\";i:438;s:13:\"rss/style.css\";i:439;s:17:\"rss/style.min.css\";i:440;s:21:\"search/editor-rtl.css\";i:441;s:25:\"search/editor-rtl.min.css\";i:442;s:17:\"search/editor.css\";i:443;s:21:\"search/editor.min.css\";i:444;s:20:\"search/style-rtl.css\";i:445;s:24:\"search/style-rtl.min.css\";i:446;s:16:\"search/style.css\";i:447;s:20:\"search/style.min.css\";i:448;s:20:\"search/theme-rtl.css\";i:449;s:24:\"search/theme-rtl.min.css\";i:450;s:16:\"search/theme.css\";i:451;s:20:\"search/theme.min.css\";i:452;s:24:\"separator/editor-rtl.css\";i:453;s:28:\"separator/editor-rtl.min.css\";i:454;s:20:\"separator/editor.css\";i:455;s:24:\"separator/editor.min.css\";i:456;s:23:\"separator/style-rtl.css\";i:457;s:27:\"separator/style-rtl.min.css\";i:458;s:19:\"separator/style.css\";i:459;s:23:\"separator/style.min.css\";i:460;s:23:\"separator/theme-rtl.css\";i:461;s:27:\"separator/theme-rtl.min.css\";i:462;s:19:\"separator/theme.css\";i:463;s:23:\"separator/theme.min.css\";i:464;s:24:\"shortcode/editor-rtl.css\";i:465;s:28:\"shortcode/editor-rtl.min.css\";i:466;s:20:\"shortcode/editor.css\";i:467;s:24:\"shortcode/editor.min.css\";i:468;s:24:\"site-logo/editor-rtl.css\";i:469;s:28:\"site-logo/editor-rtl.min.css\";i:470;s:20:\"site-logo/editor.css\";i:471;s:24:\"site-logo/editor.min.css\";i:472;s:23:\"site-logo/style-rtl.css\";i:473;s:27:\"site-logo/style-rtl.min.css\";i:474;s:19:\"site-logo/style.css\";i:475;s:23:\"site-logo/style.min.css\";i:476;s:27:\"site-tagline/editor-rtl.css\";i:477;s:31:\"site-tagline/editor-rtl.min.css\";i:478;s:23:\"site-tagline/editor.css\";i:479;s:27:\"site-tagline/editor.min.css\";i:480;s:26:\"site-tagline/style-rtl.css\";i:481;s:30:\"site-tagline/style-rtl.min.css\";i:482;s:22:\"site-tagline/style.css\";i:483;s:26:\"site-tagline/style.min.css\";i:484;s:25:\"site-title/editor-rtl.css\";i:485;s:29:\"site-title/editor-rtl.min.css\";i:486;s:21:\"site-title/editor.css\";i:487;s:25:\"site-title/editor.min.css\";i:488;s:24:\"site-title/style-rtl.css\";i:489;s:28:\"site-title/style-rtl.min.css\";i:490;s:20:\"site-title/style.css\";i:491;s:24:\"site-title/style.min.css\";i:492;s:26:\"social-link/editor-rtl.css\";i:493;s:30:\"social-link/editor-rtl.min.css\";i:494;s:22:\"social-link/editor.css\";i:495;s:26:\"social-link/editor.min.css\";i:496;s:27:\"social-links/editor-rtl.css\";i:497;s:31:\"social-links/editor-rtl.min.css\";i:498;s:23:\"social-links/editor.css\";i:499;s:27:\"social-links/editor.min.css\";i:500;s:26:\"social-links/style-rtl.css\";i:501;s:30:\"social-links/style-rtl.min.css\";i:502;s:22:\"social-links/style.css\";i:503;s:26:\"social-links/style.min.css\";i:504;s:21:\"spacer/editor-rtl.css\";i:505;s:25:\"spacer/editor-rtl.min.css\";i:506;s:17:\"spacer/editor.css\";i:507;s:21:\"spacer/editor.min.css\";i:508;s:20:\"spacer/style-rtl.css\";i:509;s:24:\"spacer/style-rtl.min.css\";i:510;s:16:\"spacer/style.css\";i:511;s:20:\"spacer/style.min.css\";i:512;s:20:\"table/editor-rtl.css\";i:513;s:24:\"table/editor-rtl.min.css\";i:514;s:16:\"table/editor.css\";i:515;s:20:\"table/editor.min.css\";i:516;s:19:\"table/style-rtl.css\";i:517;s:23:\"table/style-rtl.min.css\";i:518;s:15:\"table/style.css\";i:519;s:19:\"table/style.min.css\";i:520;s:19:\"table/theme-rtl.css\";i:521;s:23:\"table/theme-rtl.min.css\";i:522;s:15:\"table/theme.css\";i:523;s:19:\"table/theme.min.css\";i:524;s:24:\"tag-cloud/editor-rtl.css\";i:525;s:28:\"tag-cloud/editor-rtl.min.css\";i:526;s:20:\"tag-cloud/editor.css\";i:527;s:24:\"tag-cloud/editor.min.css\";i:528;s:23:\"tag-cloud/style-rtl.css\";i:529;s:27:\"tag-cloud/style-rtl.min.css\";i:530;s:19:\"tag-cloud/style.css\";i:531;s:23:\"tag-cloud/style.min.css\";i:532;s:28:\"template-part/editor-rtl.css\";i:533;s:32:\"template-part/editor-rtl.min.css\";i:534;s:24:\"template-part/editor.css\";i:535;s:28:\"template-part/editor.min.css\";i:536;s:27:\"template-part/theme-rtl.css\";i:537;s:31:\"template-part/theme-rtl.min.css\";i:538;s:23:\"template-part/theme.css\";i:539;s:27:\"template-part/theme.min.css\";i:540;s:24:\"term-count/style-rtl.css\";i:541;s:28:\"term-count/style-rtl.min.css\";i:542;s:20:\"term-count/style.css\";i:543;s:24:\"term-count/style.min.css\";i:544;s:30:\"term-description/style-rtl.css\";i:545;s:34:\"term-description/style-rtl.min.css\";i:546;s:26:\"term-description/style.css\";i:547;s:30:\"term-description/style.min.css\";i:548;s:23:\"term-name/style-rtl.css\";i:549;s:27:\"term-name/style-rtl.min.css\";i:550;s:19:\"term-name/style.css\";i:551;s:23:\"term-name/style.min.css\";i:552;s:28:\"term-template/editor-rtl.css\";i:553;s:32:\"term-template/editor-rtl.min.css\";i:554;s:24:\"term-template/editor.css\";i:555;s:28:\"term-template/editor.min.css\";i:556;s:27:\"term-template/style-rtl.css\";i:557;s:31:\"term-template/style-rtl.min.css\";i:558;s:23:\"term-template/style.css\";i:559;s:27:\"term-template/style.min.css\";i:560;s:27:\"text-columns/editor-rtl.css\";i:561;s:31:\"text-columns/editor-rtl.min.css\";i:562;s:23:\"text-columns/editor.css\";i:563;s:27:\"text-columns/editor.min.css\";i:564;s:26:\"text-columns/style-rtl.css\";i:565;s:30:\"text-columns/style-rtl.min.css\";i:566;s:22:\"text-columns/style.css\";i:567;s:26:\"text-columns/style.min.css\";i:568;s:19:\"verse/style-rtl.css\";i:569;s:23:\"verse/style-rtl.min.css\";i:570;s:15:\"verse/style.css\";i:571;s:19:\"verse/style.min.css\";i:572;s:20:\"video/editor-rtl.css\";i:573;s:24:\"video/editor-rtl.min.css\";i:574;s:16:\"video/editor.css\";i:575;s:20:\"video/editor.min.css\";i:576;s:19:\"video/style-rtl.css\";i:577;s:23:\"video/style-rtl.min.css\";i:578;s:15:\"video/style.css\";i:579;s:19:\"video/style.min.css\";i:580;s:19:\"video/theme-rtl.css\";i:581;s:23:\"video/theme-rtl.min.css\";i:582;s:15:\"video/theme.css\";i:583;s:19:\"video/theme.min.css\";}}','on'),(16357,'finished_updating_comment_type','1','auto'),(18585,'wp_page_for_privacy_policy','0','on'),(18586,'show_comments_cookies_opt_in','1','on'),(18587,'admin_email_lifespan','0','on'),(18588,'disallowed_keys','','off'),(18589,'comment_previously_approved','1','on'),(18590,'auto_plugin_theme_update_emails','a:0:{}','off'),(18591,'auto_update_core_dev','enabled','on'),(18592,'auto_update_core_minor','enabled','on'),(18593,'auto_update_core_major','unset','on'),(18594,'wp_force_deactivated_plugins','a:0:{}','off'),(18595,'wp_attachment_pages_enabled','1','on'),(18596,'wp_notes_notify','1','on'); /*!40000 ALTER TABLE `swd_options` ENABLE KEYS */; UNLOCK TABLES; -- -- Table structure for table `swd_postmeta` -- DROP TABLE IF EXISTS `swd_postmeta`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `swd_postmeta` ( `meta_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `post_id` bigint(20) unsigned NOT NULL DEFAULT '0', `meta_key` varchar(255) COLLATE utf8mb4_unicode_520_ci DEFAULT NULL, `meta_value` longtext COLLATE utf8mb4_unicode_520_ci, PRIMARY KEY (`meta_id`), KEY `post_id` (`post_id`), KEY `meta_key` (`meta_key`(191)) ) ENGINE=MyISAM AUTO_INCREMENT=165 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Dumping data for table `swd_postmeta` -- LOCK TABLES `swd_postmeta` WRITE; /*!40000 ALTER TABLE `swd_postmeta` DISABLE KEYS */; INSERT INTO `swd_postmeta` VALUES (1,2,'_wp_page_template','full-width-page.php'),(2,2,'_edit_lock','1512011648:1'),(3,2,'_edit_last','1'),(4,2,'_responsive_layout','default'),(5,6,'_edit_last','1'),(6,6,'_edit_lock','1512691156:1'),(7,6,'_wp_page_template','full-width-page.php'),(8,6,'_responsive_layout','default'),(9,9,'_edit_last','1'),(10,9,'_wp_page_template','full-width-page.php'),(11,9,'_responsive_layout','default'),(12,9,'_edit_lock','1512686536:1'),(13,12,'_edit_last','1'),(14,12,'_edit_lock','1512690497:1'),(15,12,'_wp_page_template','full-width-page.php'),(16,12,'_responsive_layout','default'),(19,17,'_edit_last','1'),(20,17,'_edit_lock','1512972840:1'),(21,17,'_wp_page_template','full-width-page.php'),(22,17,'_responsive_layout','default'),(23,19,'_edit_last','1'),(24,19,'_edit_lock','1512973540:1'),(25,19,'_wp_page_template','full-width-page.php'),(26,19,'_responsive_layout','default'),(27,22,'_edit_last','1'),(28,22,'_wp_page_template','full-width-page.php'),(29,22,'_responsive_layout','default'),(30,22,'_edit_lock','1513903124:1'),(31,24,'_edit_last','1'),(32,24,'_wp_page_template','default'),(33,24,'_responsive_layout','default'),(34,24,'_edit_lock','1513903801:1'),(35,26,'_menu_item_type','custom'),(36,26,'_menu_item_menu_item_parent','0'),(37,26,'_menu_item_object_id','26'),(38,26,'_menu_item_object','custom'),(39,26,'_menu_item_target',''),(40,26,'_menu_item_classes','a:1:{i:0;s:0:\"\";}'),(41,26,'_menu_item_xfn',''),(42,26,'_menu_item_url','#'),(44,27,'_menu_item_type','post_type'),(45,27,'_menu_item_menu_item_parent','26'),(46,27,'_menu_item_object_id','24'),(47,27,'_menu_item_object','page'),(48,27,'_menu_item_target',''),(49,27,'_menu_item_classes','a:1:{i:0;s:0:\"\";}'),(50,27,'_menu_item_xfn',''),(51,27,'_menu_item_url',''),(53,28,'_menu_item_type','post_type'),(54,28,'_menu_item_menu_item_parent','26'),(55,28,'_menu_item_object_id','22'),(56,28,'_menu_item_object','page'),(57,28,'_menu_item_target',''),(58,28,'_menu_item_classes','a:1:{i:0;s:0:\"\";}'),(59,28,'_menu_item_xfn',''),(60,28,'_menu_item_url',''),(62,29,'_menu_item_type','post_type'),(63,29,'_menu_item_menu_item_parent','0'),(64,29,'_menu_item_object_id','6'),(65,29,'_menu_item_object','page'),(66,29,'_menu_item_target',''),(67,29,'_menu_item_classes','a:1:{i:0;s:0:\"\";}'),(68,29,'_menu_item_xfn',''),(69,29,'_menu_item_url',''),(71,30,'_menu_item_type','post_type'),(72,30,'_menu_item_menu_item_parent','29'),(73,30,'_menu_item_object_id','12'),(74,30,'_menu_item_object','page'),(75,30,'_menu_item_target',''),(76,30,'_menu_item_classes','a:1:{i:0;s:0:\"\";}'),(77,30,'_menu_item_xfn',''),(78,30,'_menu_item_url',''),(80,31,'_menu_item_type','post_type'),(81,31,'_menu_item_menu_item_parent','29'),(82,31,'_menu_item_object_id','9'),(83,31,'_menu_item_object','page'),(84,31,'_menu_item_target',''),(85,31,'_menu_item_classes','a:1:{i:0;s:0:\"\";}'),(86,31,'_menu_item_xfn',''),(87,31,'_menu_item_url',''),(89,32,'_menu_item_type','post_type'),(90,32,'_menu_item_menu_item_parent','0'),(91,32,'_menu_item_object_id','19'),(92,32,'_menu_item_object','page'),(93,32,'_menu_item_target',''),(94,32,'_menu_item_classes','a:1:{i:0;s:0:\"\";}'),(95,32,'_menu_item_xfn',''),(96,32,'_menu_item_url',''),(97,33,'_edit_last','1'),(98,33,'_edit_lock','1514063915:1'),(99,33,'_wp_page_template','full-width-page.php'),(100,33,'_responsive_layout','default'),(101,36,'_menu_item_type','post_type'),(102,36,'_menu_item_menu_item_parent','39'),(103,36,'_menu_item_object_id','33'),(104,36,'_menu_item_object','page'),(105,36,'_menu_item_target',''),(106,36,'_menu_item_classes','a:1:{i:0;s:0:\"\";}'),(107,36,'_menu_item_xfn',''),(108,36,'_menu_item_url',''),(110,37,'_edit_last','1'),(111,37,'_edit_lock','1514068895:1'),(112,37,'_wp_page_template','default'),(113,37,'_responsive_layout','default'),(114,39,'_menu_item_type','custom'),(115,39,'_menu_item_menu_item_parent','0'),(116,39,'_menu_item_object_id','39'),(117,39,'_menu_item_object','custom'),(118,39,'_menu_item_target',''),(119,39,'_menu_item_classes','a:1:{i:0;s:0:\"\";}'),(120,39,'_menu_item_xfn',''),(121,39,'_menu_item_url','#'),(123,40,'_menu_item_type','post_type'),(124,40,'_menu_item_menu_item_parent','39'),(125,40,'_menu_item_object_id','37'),(126,40,'_menu_item_object','page'),(127,40,'_menu_item_target',''),(128,40,'_menu_item_classes','a:1:{i:0;s:0:\"\";}'),(129,40,'_menu_item_xfn',''),(130,40,'_menu_item_url',''),(131,42,'_menu_item_type','custom'),(132,42,'_menu_item_menu_item_parent','0'),(133,42,'_menu_item_object_id','42'),(134,42,'_menu_item_object','custom'),(135,42,'_menu_item_target',''),(136,42,'_menu_item_classes','a:1:{i:0;s:0:\"\";}'),(137,42,'_menu_item_xfn',''),(138,42,'_menu_item_url','#'),(140,43,'_edit_last','1'),(141,43,'_edit_lock','1522982181:1'),(142,43,'_wp_page_template','default'),(143,43,'_responsive_layout','default'),(144,45,'_menu_item_type','post_type'),(145,45,'_menu_item_menu_item_parent','42'),(146,45,'_menu_item_object_id','43'),(147,45,'_menu_item_object','page'),(148,45,'_menu_item_target',''),(149,45,'_menu_item_classes','a:1:{i:0;s:0:\"\";}'),(150,45,'_menu_item_xfn',''),(151,45,'_menu_item_url',''),(153,46,'_edit_last','1'),(154,46,'_edit_lock','1522982711:1'),(155,46,'_wp_page_template','default'),(156,46,'_responsive_layout','default'),(157,48,'_menu_item_type','post_type'),(158,48,'_menu_item_menu_item_parent','42'),(159,48,'_menu_item_object_id','46'),(160,48,'_menu_item_object','page'),(161,48,'_menu_item_target',''),(162,48,'_menu_item_classes','a:1:{i:0;s:0:\"\";}'),(163,48,'_menu_item_xfn',''),(164,48,'_menu_item_url',''); /*!40000 ALTER TABLE `swd_postmeta` ENABLE KEYS */; UNLOCK TABLES; -- -- Table structure for table `swd_posts` -- DROP TABLE IF EXISTS `swd_posts`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `swd_posts` ( `ID` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `post_author` bigint(20) unsigned NOT NULL DEFAULT '0', `post_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `post_date_gmt` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `post_content` longtext COLLATE utf8mb4_unicode_520_ci NOT NULL, `post_title` text COLLATE utf8mb4_unicode_520_ci NOT NULL, `post_excerpt` text COLLATE utf8mb4_unicode_520_ci NOT NULL, `post_status` varchar(20) COLLATE utf8mb4_unicode_520_ci NOT NULL DEFAULT 'publish', `comment_status` varchar(20) COLLATE utf8mb4_unicode_520_ci NOT NULL DEFAULT 'open', `ping_status` varchar(20) COLLATE utf8mb4_unicode_520_ci NOT NULL DEFAULT 'open', `post_password` varchar(255) COLLATE utf8mb4_unicode_520_ci NOT NULL DEFAULT '', `post_name` varchar(200) COLLATE utf8mb4_unicode_520_ci NOT NULL DEFAULT '', `to_ping` text COLLATE utf8mb4_unicode_520_ci NOT NULL, `pinged` text COLLATE utf8mb4_unicode_520_ci NOT NULL, `post_modified` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `post_modified_gmt` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `post_content_filtered` longtext COLLATE utf8mb4_unicode_520_ci NOT NULL, `post_parent` bigint(20) unsigned NOT NULL DEFAULT '0', `guid` varchar(255) COLLATE utf8mb4_unicode_520_ci NOT NULL DEFAULT '', `menu_order` int(11) NOT NULL DEFAULT '0', `post_type` varchar(20) COLLATE utf8mb4_unicode_520_ci NOT NULL DEFAULT 'post', `post_mime_type` varchar(100) COLLATE utf8mb4_unicode_520_ci NOT NULL DEFAULT '', `comment_count` bigint(20) NOT NULL DEFAULT '0', PRIMARY KEY (`ID`), KEY `post_name` (`post_name`(191)), KEY `type_status_date` (`post_type`,`post_status`,`post_date`,`ID`), KEY `post_parent` (`post_parent`), KEY `post_author` (`post_author`), KEY `type_status_author` (`post_type`,`post_status`,`post_author`) ) ENGINE=MyISAM AUTO_INCREMENT=50 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Dumping data for table `swd_posts` -- LOCK TABLES `swd_posts` WRITE; /*!40000 ALTER TABLE `swd_posts` DISABLE KEYS */; INSERT INTO `swd_posts` VALUES (1,1,'2017-02-08 03:46:34','2017-02-08 03:46:34','Welcome to WordPress. This is your first post. Edit or delete it, then start writing!','Hello world!','','publish','open','open','','hello-world','','','2017-02-08 03:46:34','2017-02-08 03:46:34','',0,'http://www.acctcrop.softwarewebdesign.com/?p=1',0,'post','',1),(2,1,'2017-02-08 03:46:34','2017-02-08 03:46:34',' \r\n\r\nWordPress File Lock – Lock index.php, .htaccess files, wp-config.php and wp-blog-header.php With Read Only Permissions\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n404 File Permissions\r\n\r\n.htaccess files should have 404 File Permissions\r\n\r\nOwner Permissions – Read On – Write X – Execute X\r\nGroup Permissions – Read X – Write X – Execute X\r\nPublic Permissions – Read On – Write X – Execute X\r\n\r\n400 File Permissions\r\n\r\nindex.php, wp-config.php and wp-blog-header.php should have 400 File Permissions\r\n\r\nOwner Permissions – Read On – Write X – Execute X\r\nGroup Permissions – Read X – Write X – Execute X\r\nPublic Permissions – Read X – Write X – Execute X\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n ','FILE PERMISSIONS','','publish','closed','open','','sample-page','','','2017-11-30 03:16:26','2017-11-30 03:16:26','',0,'http://www.acctcrop.softwarewebdesign.com/?page_id=2',0,'page','',0),(7,1,'2017-12-07 05:48:28','2017-12-07 05:48:28','
    @media screen and (min-width: 981px) {
        .menu {
            text-align:center
        }
        .menu li {
            display:inline-block;
            float:none;
            margin-left: -5px;
        }
        .menu li li {
            display:block;
            text-align:left
        }
    }
    ','Center menu','','inherit','closed','closed','','6-revision-v1','','','2017-12-07 05:48:28','2017-12-07 05:48:28','',6,'http://www.acctcrop.softwarewebdesign.com/2017/12/07/6-revision-v1/',0,'revision','',0),(5,1,'2017-10-12 01:00:24','2017-10-12 01:00:24',' \r\n\r\nWordPress File Lock – Lock index.php, .htaccess files, wp-config.php and wp-blog-header.php With Read Only Permissions\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n404 File Permissions\r\n\r\n.htaccess files should have 404 File Permissions\r\n\r\nOwner Permissions – Read On – Write X – Execute X\r\nGroup Permissions – Read X – Write X – Execute X\r\nPublic Permissions – Read On – Write X – Execute X\r\n\r\n400 File Permissions\r\n\r\nindex.php, wp-config.php and wp-blog-header.php should have 400 File Permissions\r\n\r\nOwner Permissions – Read On – Write X – Execute X\r\nGroup Permissions – Read X – Write X – Execute X\r\nPublic Permissions – Read X – Write X – Execute X\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n ','FILE PERMISSIONS','','inherit','closed','closed','','2-revision-v1','','','2017-10-12 01:00:24','2017-10-12 01:00:24','',2,'http://www.acctcrop.softwarewebdesign.com/2017/10/12/2-revision-v1/',0,'revision','',0),(4,1,'2017-10-12 00:59:55','2017-10-12 00:59:55',' \r\n\r\nWordPress File Lock – Lock index.php, .htaccess files, wp-config.php and wp-blog-header.php With Read Only Permissions\r\n\r\n \r\n\r\n \r\n\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n404 File Permissions\r\n\r\n.htaccess files should have 404 File Permissions\r\n\r\nOwner Permissions – Read On – Write X – Execute X\r\nGroup Permissions – Read X – Write X – Execute X\r\nPublic Permissions – Read On – Write X – Execute X\r\n\r\n400 File Permissions\r\n\r\nindex.php, wp-config.php and wp-blog-header.php should have 400 File Permissions\r\n\r\nOwner Permissions – Read On – Write X – Execute X\r\nGroup Permissions – Read X – Write X – Execute X\r\nPublic Permissions – Read X – Write X – Execute X\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n ','FILE PERMISSIONS','','inherit','closed','closed','','2-revision-v1','','','2017-10-12 00:59:55','2017-10-12 00:59:55','',2,'http://www.acctcrop.softwarewebdesign.com/2017/10/12/2-revision-v1/',0,'revision','',0),(6,1,'2017-12-07 05:48:28','2017-12-07 05:48:28','
    @media screen and (min-width: 981px) {
        .menu {
            text-align:center
        }
        .menu li {
            display:inline-block;
            float:none;
            margin-left: -5px;
        }
        .menu li li {
            display:block;
            text-align:left
        }
    }
    ','Center menu','','publish','closed','closed','','center-menu','','','2017-12-07 05:48:53','2017-12-07 05:48:53','',0,'http://www.acctcrop.softwarewebdesign.com/?page_id=6',0,'page','',0),(9,1,'2017-12-07 22:13:40','2017-12-07 22:13:40','
    /* Start navigation color change */
        .main-nav {
            background-color: #800000;
            background-image: -webkit-gradient(linear, left top, left bottom, from(#800000), to(#3d3d3d));
            background-image: -webkit-linear-gradient(top, #800000, #3d3d3d);
            background-image: -moz-linear-gradient(top, #800000, #3d3d3d);
            background-image: -ms-linear-gradient(top, #800000, #3d3d3d);
            background-image: -o-linear-gradient(top, #800000, #3d3d3d);
            background-image: linear-gradient(to top, #800000, #3d3d3d);
            -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#800000, endColorstr=#3d3d3d)";
        }
            .full-width-no-box #header {background-color: #800000;    }
            .full-width-no-box .main-nav  {     background-color: #800000;    background-image: none;}
            .full-width-no-box .menu a:hover {    background-color: #800000;background-image: none; color: #f4f2f2; }
            .full-width-no-box .menu li li a:hover {color: #444444;}
            .full-width-no-box ul.menu > li:hover {background-color: #800000;    color: #ffffff;}
            .full-width-no-box .menu .current_page_item a, .full-width-no-box .menu .current-menu-item a {    background-color: #800000; }
            .full-width-no-box .menu {background-color: #800000;background-image: none;}
            .full-width-no-box #testimonial_div  {    background-color:#800000;color: #fff;}
            .full-width-no-box #about_div  {    background-color:#800000;color: #fff; }
        /* =Header Menu (Primary)
        ————————————————————– */
        .menu {
            background-color: #800000;
            background-image: -webkit-gradient(linear, left top, left bottom, from(#800000), to(#3d3d3d));
            background-image: -webkit-linear-gradient(top, #800000, #3d3d3d);
            background-image: -moz-linear-gradient(top, #800000, #3d3d3d);
            background-image: -ms-linear-gradient(top, #800000, #3d3d3d);
            background-image: -o-linear-gradient(top, #800000, #3d3d3d);
            background-image: linear-gradient(to top, #800000, #3d3d3d);
            clear: both;
                -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#800000, endColorstr=#3d3d3d)";
            margin: 0 auto;
        }
           .main-nav {    clear: both;    background-color:#FFFFFF;  }
           .full-width-no-box #footer-wrapper .footer_div {    background-color: #800000;}
        .js .main-nav {
                position: relative;
                background-color: #800000;
                background-image: -webkit-gradient(linear, left top, left bottom, from(#800000), to(#3d3d3d));
                background-image: -webkit-linear-gradient(top, #800000, #3d3d3d);
                background-image: -moz-linear-gradient(top, #800000, #3d3d3d);
                background-image: -ms-linear-gradient(top, #800000, #3d3d3d);
                background-image: -o-linear-gradient(top, #800000, #3d3d3d);
                background-image: linear-gradient(to top, #800000, #3d3d3d);
                clear: both;
                -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#800000, endColorstr=#3d3d3d)";
                margin: 0 auto;
        }
    /* End navigation color change */
    ','responsive theme nav color change','','publish','closed','closed','','responsive-theme-nav-color-change','','','2017-12-07 22:44:35','2017-12-07 22:44:35','',6,'http://www.acctcrop.softwarewebdesign.com/?page_id=9',0,'page','',0),(10,1,'2017-12-07 22:13:40','2017-12-07 22:13:40','
    .main-nav {
        background-color: #585858;
        background-image: -webkit-gradient(linear, left top, left bottom, from(#585858), to(#3d3d3d));
        background-image: -webkit-linear-gradient(top, #585858, #3d3d3d);
        background-image: -moz-linear-gradient(top, #585858, #3d3d3d);
        background-image: -ms-linear-gradient(top, #585858, #3d3d3d);
        background-image: -o-linear-gradient(top, #585858, #3d3d3d);
        background-image: linear-gradient(to top, #585858, #3d3d3d);
        -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#585858, endColorstr=#3d3d3d)";
    }
    .full-width-no-box #header {background-color: #585858;    }
    .full-width-no-box .main-nav  {     background-color: #585858;    background-image: none;}
    .full-width-no-box .menu a:hover {    background-color: #585858;background-image: none; color: #f4f2f2; }
    .full-width-no-box .menu li li a:hover {color: #444444;}
    .full-width-no-box ul.menu > li:hover {background-color: #585858;    color: #ffffff;}
    .full-width-no-box .menu .current_page_item a, .full-width-no-box .menu .current-menu-item a {    background-color: #585858; }
    .full-width-no-box .menu {background-color: #585858;background-image: none;}
    .full-width-no-box #testimonial_div  {    background-color:#585858;color: #fff;}
    .full-width-no-box #about_div  {    background-color:#585858;color: #fff; }
    /* =Header Menu (Primary)
    -------------------------------------------------------------- */
    .menu {
        background-color: #585858;
        background-image: -webkit-gradient(linear, left top, left bottom, from(#585858), to(#3d3d3d));
        background-image: -webkit-linear-gradient(top, #585858, #3d3d3d);
        background-image: -moz-linear-gradient(top, #585858, #3d3d3d);
        background-image: -ms-linear-gradient(top, #585858, #3d3d3d);
        background-image: -o-linear-gradient(top, #585858, #3d3d3d);
        background-image: linear-gradient(to top, #585858, #3d3d3d);
        clear: both;
            -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#585858, endColorstr=#3d3d3d)";
        margin: 0 auto;
    }
    .main-nav {    clear: both;    background-color:#FFFFFF;  }
    .full-width-no-box #footer-wrapper .footer_div {    background-color: #585858;}
    ','responsive theme nav color change','','inherit','closed','closed','','9-revision-v1','','','2017-12-07 22:13:40','2017-12-07 22:13:40','',9,'http://www.acctcrop.softwarewebdesign.com/2017/12/07/9-revision-v1/',0,'revision','',0),(11,1,'2017-12-07 22:44:35','2017-12-07 22:44:35','
    /* Start navigation color change */
        .main-nav {
            background-color: #800000;
            background-image: -webkit-gradient(linear, left top, left bottom, from(#800000), to(#3d3d3d));
            background-image: -webkit-linear-gradient(top, #800000, #3d3d3d);
            background-image: -moz-linear-gradient(top, #800000, #3d3d3d);
            background-image: -ms-linear-gradient(top, #800000, #3d3d3d);
            background-image: -o-linear-gradient(top, #800000, #3d3d3d);
            background-image: linear-gradient(to top, #800000, #3d3d3d);
            -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#800000, endColorstr=#3d3d3d)";
        }
            .full-width-no-box #header {background-color: #800000;    }
            .full-width-no-box .main-nav  {     background-color: #800000;    background-image: none;}
            .full-width-no-box .menu a:hover {    background-color: #800000;background-image: none; color: #f4f2f2; }
            .full-width-no-box .menu li li a:hover {color: #444444;}
            .full-width-no-box ul.menu > li:hover {background-color: #800000;    color: #ffffff;}
            .full-width-no-box .menu .current_page_item a, .full-width-no-box .menu .current-menu-item a {    background-color: #800000; }
            .full-width-no-box .menu {background-color: #800000;background-image: none;}
            .full-width-no-box #testimonial_div  {    background-color:#800000;color: #fff;}
            .full-width-no-box #about_div  {    background-color:#800000;color: #fff; }
        /* =Header Menu (Primary)
        ————————————————————– */
        .menu {
            background-color: #800000;
            background-image: -webkit-gradient(linear, left top, left bottom, from(#800000), to(#3d3d3d));
            background-image: -webkit-linear-gradient(top, #800000, #3d3d3d);
            background-image: -moz-linear-gradient(top, #800000, #3d3d3d);
            background-image: -ms-linear-gradient(top, #800000, #3d3d3d);
            background-image: -o-linear-gradient(top, #800000, #3d3d3d);
            background-image: linear-gradient(to top, #800000, #3d3d3d);
            clear: both;
                -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#800000, endColorstr=#3d3d3d)";
            margin: 0 auto;
        }
           .main-nav {    clear: both;    background-color:#FFFFFF;  }
           .full-width-no-box #footer-wrapper .footer_div {    background-color: #800000;}
        .js .main-nav {
                position: relative;
                background-color: #800000;
                background-image: -webkit-gradient(linear, left top, left bottom, from(#800000), to(#3d3d3d));
                background-image: -webkit-linear-gradient(top, #800000, #3d3d3d);
                background-image: -moz-linear-gradient(top, #800000, #3d3d3d);
                background-image: -ms-linear-gradient(top, #800000, #3d3d3d);
                background-image: -o-linear-gradient(top, #800000, #3d3d3d);
                background-image: linear-gradient(to top, #800000, #3d3d3d);
                clear: both;
                -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#800000, endColorstr=#3d3d3d)";
                margin: 0 auto;
        }
    /* End navigation color change */
    ','responsive theme nav color change','','inherit','closed','closed','','9-revision-v1','','','2017-12-07 22:44:35','2017-12-07 22:44:35','',9,'http://www.acctcrop.softwarewebdesign.com/2017/12/07/9-revision-v1/',0,'revision','',0),(12,1,'2017-12-07 23:49:42','2017-12-07 23:49:42','
    /*
    Theme Name:     ResponsiveSWD
    Description:    Base on responsive
    Author:         SWD
    Template:       responsive
    (optional values you can add: Theme URI, Author URI, Version, License, License URI, Tags, Text Domain)
    */
    /* CSS Rules: Sorted alphabetically for better organization. */
    /* =Reset CSS (v2.0) http://meyerweb.com/eric/tools/css/reset/
    -------------------------------------------------------------- */
    html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
        border: 0;
        font-size: 100%;
        font: inherit;
        margin: 0;
        padding: 0;
        vertical-align: baseline;
    }
    body.full-width-layout #content-outer, body.default-layout #content-outer,body.full-width-no-box #content-outer {
        margin: 0 auto;
        max-width: 1280px;
    } /* swd 12/9/2017 960 px */
    div.pages {clear:both;margin-bottom:30px;}
    div.pageimgs {clear:both;margin-bottom:20px;width:90%;margin:auto;text-align:center; }
    img.swdgallery { margin: 15px; }                      
    /* swd 11/9/2017 */
    .main-nav {
        background-color: #585858;
        background-image: -webkit-gradient(linear, left top, left bottom, from(#585858), to(#800000));
        background-image: -webkit-linear-gradient(top, #585858, #800000);
        background-image: -moz-linear-gradient(top, #585858, #800000);
        background-image: -ms-linear-gradient(top, #585858, #800000);
        background-image: -o-linear-gradient(top, #585858, #800000);
        background-image: linear-gradient(to top, #585858, #800000);
        -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#585858, endColorstr=#800000)";
    }
    /* swd 11/19/2017  reset back */
    #menu-header, .menu {
            max-width: 960px;
    margin: 0 auto;    
    }
    body.home #wrapper {
        margin: 0 auto 20px auto ;
    }
    body.full-width-layout div#container, body.full-width-layout div#footer, body.full-width-no-box div#container, body.full-width-no-box div#footer {
        width: 100%;
        max-width: 100%;
        padding: 0;
    }
    .full-width-no-box .skip-container { padding: 0px;}
    .full-width-no-box #header {background-color: #585858;    }
    .full-width-no-box .top-menu {margin: 0; padding-top: 4px;}
    .full-width-no-box .main-nav  {
        background-color: #585858;
        background-image: none;
    }
    .full-width-no-box .top-menu li a {
        color: #edeaea;
    }
    .full-width-no-box .top-menu li a:hover {
    color:#f2efef;
    }
    .full-width-layout #testimonial_div, .full-width-layout #team_div,.full-width-layout #about_div,.full-width-layout #feature_div {padding-bottom:0px; }
    .full-width-no-box .menu a:hover {
        background-color: #585858;background-image: none;
        color: #f4f2f2;    
    }
    .full-width-no-box .menu li li a:hover {
        color: #444444;
    }
    .full-width-no-box ul.menu > li:hover {
        background-color: #585858;
        color: #ffffff;
    }
    .full-width-no-box .menu .current_page_item a,
    .full-width-no-box .menu .current-menu-item a {
        background-color: #585858;
    }
    .full-width-no-box .menu {background-color: #585858;background-image: none;}
    .full-width-no-box #featured {border: none;}
    .full-width-no-box #feature_div {border: none;}
    .full-width-no-box #team_div {border: none;}
    .full-width-no-box #testimonial_div  {
        background-color:#585858;
        border-radius: 0;
        color: #fff;
    }
    .full-width-no-box #about_div .section_title::after {border-bottom: solid 2px #fff;}
    .full-width-no-box #testimonial_div .section_title::after {border-bottom: solid 2px #fff;}
    .full-width-no-box #about_div  {
        background-color:#585858;
        padding-bottom: 20px;
        border-radius: 0;
        color: #fff;
    }
    #about_div .about-content h2 {
        position: relative;
    }
    #about_div .about-content { display: inline-block; vertical-align: middle;display:grid;}
    #about_div .about_cta{
        display: inline-block;
        vertical-align: middle;
        margin-top: 69px;
        text-align: center;
    }
    #about_div .about_cta a {
        font-size: 20px;
        padding: 15px 15px;
    }
    .full-width-layout #about_div {border: none; background-color: inherit;}
    .full-width-layout #testimonial_div {border: none;background-color:inherit;}
    .full-width-no-box #testimonial_div {border: none;}
    .full-width-layout #about_div #content-outer { border: 1px solid #e5e5e5;-moz-border-radius: 4px;background-color: #ffffff;-webkit-border-radius: 4px;display: table;width: 100%;border-radius:4px;}
    .full-width-layout #testimonial_div #content-outer {border: 1px solid #e5e5e5;-moz-border-radius: 4px;background-color: #ffffff;-webkit-border-radius: 4px;border-radius:4px;display:table;width: 100%;}
    .full-width-layout .about-content {padding-bottom: 40px;}
    .full-width-no-box .site-name a {color: #ffffff;}
    .post-meta .fa-calendar {
        margin-right: 6px;
    }
    .post-meta .posted-in{
        padding-left: 9px;
    }
    .post-meta .timestamp, .post-meta .vcard {
        border-right: solid 1px #7E7E7E;
        padding-right: 9px;
        display: inline;
    }
    .post-meta .byline {
        padding-left: 9px;
    }
    .breadcrumb {
        padding-right: 4px;
        padding-left: 4px;
    }    
    .breadcrumb-current{padding-left: 4px;}
    #content .responsive { position: relative;}
    #content .responsive::after {
           border-bottom: solid 2px #7c7b7b;
        width: 100px;
        position: absolute;
        content: "";
        left: 0;
        bottom: -9px;
        right: 0;
    }
    .default-layout .sticky-header {background-color:inherit; background-image: none;}
    .main-nav{background-color:#FFFFFF; background-image: none;}
    /* swd 11/19/2017 */
    /*HTML5 display-role reset for older browsers */
    article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
        display: block;
    }
    body {
        line-height: 1;
    }
    ol, ul {
        list-style: none;
    }
    blockquote, q {
        quotes: none;
    }
    blockquote:before, blockquote:after, q:before, q:after {
        content: '';
        content: none;
    }
    table {
        border-collapse: collapse;
        border-spacing: 0;
    }
    button, input, select, textarea {
        font-size: 100%;
        overflow: visible;
        margin: 0;
        vertical-align: baseline;
        width: auto;
    }
    textarea {
        overflow: auto;
        vertical-align: text-top;
    }
    /* =Horizontal Rule
    -------------------------------------------------------------- */
    hr {
        background: #dddddd;
        border: none;
        clear: both;
        float: none;
        height: 1px;
        width: 100%;
    }
    hr.space {
        background: #ffffff;
    }
    /* =Base
    -------------------------------------------------------------- */
    html {
        height: 100%;
    }
    body {
        -moz-font-smoothing: antialiased;
        -webkit-font-smoothing: antialiased;
        background: #F8EEE7;
        color: #555555;
        font-family: Arial, Helvetica, sans-serif;
        font-size: 14px;
        -ms-filter: "progid:DXImageTransform.Microsoft.font-smoothing(antialiased)";
        line-height: 1.5em;
        -ms-filter: "progid:DXImageTransform.Microsoft.text-rendering(optimizeLegibility)";
    }
    /* =Typography  swd color
    -------------------------------------------------------------- */
    p {
        word-wrap: break-word;
    }
    i,
    em,
    dfn,
    cite {
        font-style: italic;
    }
    tt,
    var,
    pre,
    kbd,
    samp,
    code {
        font-family: monospace, serif;
        font-style: normal;
    }
    b,
    strong {
        font-weight: 900;
    } /* swd 12/9/2017 */
    pre {
        -moz-box-sizing: border-box;
        -moz-border-radius: 2px;
        -moz-box-shadow: 0 1px 0 #ffffff, inset 0 1px 1px rgba(0, 0, 0, 0.2);
        -webkit-border-radius: 2px;
        -webkit-box-shadow: 0 1px 0 #ffffff, inset 0 1px 1px rgba(0, 0, 0, 0.2);
        -webkit-box-sizing: border-box;
        box-shadow: 0 1px 0 #ffffff, inset 0 1px 1px rgba(0, 0, 0, 0.2);
        box-sizing: border-box;
        background: #f4f4f4;
        border: 1px solid #aaaaaa;
        border-bottom-color: #cccccc;
        border-radius: 2px;
        height: auto;
        margin: 0;
        outline: none;
        padding: 6px 10px;
        vertical-align: middle;
        width: 100%;
        word-wrap: break-word;
        white-space: pre-wrap;
    }
    del {
        color: #555555;
        text-decoration: line-through;
    }
    ins,
    dfn {
        border-bottom: 1px solid #cccccc;
    }
    sup,
    sub,
    small {
        font-size: 85%;
    }
    abbr,
    acronym {
        font-size: 85%;
        letter-spacing: .1em;
        text-transform: uppercase;
    }
    a abbr,
    a acronym {
        border: none;
    }
    dfn[title],
    abbr[title],
    acronym[title] {
        border-bottom: 1px solid #cccccc;
        cursor: help;
    }
    sup {
        vertical-align: super;
    }
    sub {
        vertical-align: sub;
    }
    .sticky-header {
        position: fixed;
        top: 0;
        left: 0px;
        z-index: 200;
        width: 100%;
        background-color: #fff;
        margin: 0 !important;
        opacity:0.9;    
        -webkit-transition: all 0.8s ease-in-out 0s;
        -moz-transition: all 0.8s ease-in-out 0s;
        -o-transition: all 0.8s ease-in-out 0s;
        transition: all 0.8s ease-in-out 0s;
    }
    .admin-bar .sticky-header{
        top:30px;
    }
    /* =Responsive 12 Column Grid
        http://demos.cyberchimps.com/responsivepro/responsive-grid/
    -------------------------------------------------------------- */
    .grid {
        float: left;
        margin-bottom: 2.127659574468%;
        padding-top: 0;
    }
    .grid-right {
        float: right;
        margin-bottom: 2.127659574468%;
        padding-top: 0;
    }
    .col-60,
    .col-140,
    .col-220,
    .col-300,
    .col-380,
    .col-460,
    .col-540,
    .col-620,
    .col-700,
    .col-780,
    .col-860 {
        margin-right: 2.127659574468%;
    }
    .col-60 {
        width: 6.382978723404%;
    }
    .col-140 {
        width: 14.893617021277%;
    }
    .col-220 {
        width: 23.404255319149%;
    }
    .col-300 {
        width: 31.914893617021%;
    }
    .col-380 {
        width: 40.425531914894%;
    }
    .col-460 {
        width: 48.936170212766%;
    }
    .col-540 {
        width: 57.446808510638%;
    }
    .col-620 {
        width: 65.957446808511%;
    }
    .col-700 {
        width: 74.468085106383%;
    }
    .col-780 {
        width: 82.978723404255%;
    }
    .col-860 {
        width: 91.489361702128%;
    }
    .col-940 {
        width: 100%;
    }
    .fit {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    /* =Visibility
    -------------------------------------------------------------- */
    .hidden {
        visibility: hidden;
    }
    .visible {
        visibility: visible;
    }
    .none {
        display: none;
    }
    .hide-desktop {
        display: none;
    }
    .show-desktop {
        display: block;
    }
    /* =Responsive Images
    -------------------------------------------------------------- */
    img {
        -ms-interpolation-mode: bicubic;
        border: 0;
        height: auto;
        max-width: 100%;
        vertical-align: middle;
    }
    .ie8 img {
        height: auto;
        width: auto;
    }
    .ie8 img.size-large {
        max-width: 60%;
        width: auto;
    }
    /* =Responsive Videos
    -------------------------------------------------------------- */
    video {
        width: 100%;
        max-width: 100%;
        height: auto;
    }
    /* =Responsive Embeds/Objects
    -------------------------------------------------------------- */
    embed,
    object {
        max-width: 100%;
    }
    svg:not(:root) {
        overflow: hidden;
    }
    /* =Links
    -------------------------------------------------------------- */
    a {
        color: #0066cc;
        font-weight: 400;
        text-decoration: none;
    }
    a:hover,
    a:focus,
    a:active {
        color: #444444;
        outline: 0;
        text-decoration: none;
    }
    a::-moz-selection {
        background: #999999;
        color: #ffffff;
        text-shadow: none;
    }
    /* =Forms
    -------------------------------------------------------------- */
    label {
        display: inline-block;
        font-weight: 700;
        padding: 2px 0;
    }
    legend {
        padding: 2px 5px;
    }
    fieldset {
        border: 1px solid #cccccc;
        margin: 0 0 1.5em;
        padding: 1em 2em;
    }
    select,
    input[type="text"],
    input[type="password"],
    input[type="email"] {
        -moz-box-sizing: border-box;
        -moz-border-radius: 2px;
        -webkit-box-sizing: border-box;
        -webkit-border-radius: 2px;
        -webkit-box-shadow: 0 1px 0 #ffffff, inset 0 1px 1px rgba(0, 0, 0, 0.2);
        -moz-box-shadow: 0 1px 0 #ffffff, inset 0 1px 1px rgba(0, 0, 0, 0.2);
        box-shadow: 0 1px 0 #ffffff, inset 0 1px 1px rgba(0, 0, 0, 0.2);
        background-color: #ffffff;
        box-sizing: border-box;
        border: 1px solid #aaaaaa;
        border-bottom-color: #cccccc;
        border-radius: 2px;
        cursor: text;
        margin: 0;
        outline: none;
        padding: 6px 8px;
        vertical-align: middle;
        max-width: 100%;
    }
    select {
        height: auto;
        max-width: 100%;
    }
    area,
    textarea {
        -moz-box-sizing: border-box;
        -webkit-box-sizing: border-box;
        -webkit-border-radius: 2px;
        -webkit-box-shadow: 0 1px 0 #ffffff, inset 0 1px 1px rgba(0, 0, 0, 0.2);
        -moz-box-shadow: 0 1px 0 #ffffff, inset 0 1px 1px rgba(0, 0, 0, 0.2);
        background-color: #ffffff;
        box-shadow: 0 1px 0 #ffffff, inset 0 1px 1px rgba(0, 0, 0, 0.2);
        box-sizing: border-box;
        border: 1px solid #aaaaaa;
        border-bottom-color: #cccccc;
        border-radius: 2px;
        height: auto;
        overflow: auto;
        margin: 0;
        outline: none;
        padding: 8px 10px;
        max-width: 100%;
    }
    map area {
        padding: 0px;
        border: 0px;
    }
    input,
    select {
        cursor: pointer;
    }
    area:focus,
    input:focus,
    textarea:focus {
        border: 1px solid #66ccff;
    }
    input[type='text'],
    input[type='password'] {
        cursor: text;
    }
    /* =IE Forms
    -------------------------------------------------------------- */
    .ie7 area,
    .ie7 select,
    .ie7 textarea,
    .ie7 input[type="text"],
    .ie7 input[type="password"],
    .ie7 input[type="email"] {
        width: 96%;
    }
    /* =IE6 Notice
    -------------------------------------------------------------- */
    .msie-box {
        background-color: #f9edbe;
        border: 1px solid #f0c36d;
        color: #212121;
        display: block;
        margin: 0 auto;
        max-width: 960px;
        padding: 10px;
        position: absolute;
        top: 60px;
        text-align: center;
        width: 100%;
    }
    .msie-box a {
        color: #212121;
    }
    /* =Tables
    -------------------------------------------------------------- */
    th,
    td,
    table {
        border: 1px solid #dddddd;
    }
    table {
        border-collapse: collapse;
        width: 100%;
    }
    /* =Lists
    -------------------------------------------------------------- */
    ul {
        list-style-type: disc;
        margin: 0;
        padding: 0;
    }
    ol {
        line-height: 22px;
        list-style-position: outside;
        list-style-type: decimal;
        margin: 0;
        padding: 0;
    }
    dt {
        font-weight: 400;
    }
    /* =Blockquote
    -------------------------------------------------------------- */
    blockquote {
        background: #f9f9f9;
        border: none;
        border-left: 4px solid #d6d6d6;
        margin: 20px;
        overflow: auto;
        padding: 0 0 10px 12px;
    }
    blockquote p {
        font-family: 'Georgia', 'Times New Roman', Times, serif;
        font-style: italic;
        font-size: 18px;
        line-height: 26px;
    }
    /* =Headings
    -------------------------------------------------------------- */
    h1, h2, h3, h4, h5, h6, h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
        font-weight: 700;
        line-height: 1.0em;
        word-wrap: break-word;
    }
    h1 {
        font-size: 2.625em; /* = 42px */
        margin-bottom: .5em;
        margin-top: .5em;
    }
    h2 {
        font-size: 2.250em; /* = 36px */
        margin-bottom: .75em;
        margin-top: .75em;
    }
    h3 {
        font-size: 1.875em; /* = 30px */
        margin-bottom: .857em;
        margin-top: .857em;
    }
    h4 {
        font-size: 1.500em; /* = 24px */
        margin-bottom: 1em;
        margin-top: 1em;
    }
    h5 {
        font-size: 1.125em; /* = 18px */
        margin-bottom: 1.125em;
        margin-top: 1.125em;
    }
    h6 {
        font-size: 1.000em; /* = 16px */
        margin-bottom: 1.285em;
        margin-top: 1.285em;
    }
    /* =Margins & Paddings
    -------------------------------------------------------------- */
    p,
    hr,
    dl,
    pre,
    form,
    table,
    address,
    blockquote {
        margin: 1.6em 0;
    }
    th, td {
        padding: .8em;
    }
    caption {
        padding-bottom: .8em;
    }
    blockquote {
        padding: 0 1em;
    }
    blockquote:first-child {
        margin: .8em 0;
    }
    fieldset {
        margin: 1.6em 0;
        padding: 0 1em 1em;
    }
    legend {
        padding-left: .8em;
        padding-right: .8em;
    }
    legend+* {
        margin-top: 1em;
    }
    input,
    textarea {
        padding: .3em .4em .15em;
    }
    select {
        padding: .1em .2em 0;
    }
    option {
        padding: 0 .4em;
    }
    dt {
        margin-bottom: .4em;
        margin-top: .8em;
    }
    ul {
        list-style-type: disc;
    }
    ol {
        list-style-type: decimal;
    }
    ul,
    ol {
        margin: 0 1.5em 1.5em 0;
        padding-left: 2.0em;
    }
    li ul,
    li ol {
        margin: 0;
    }
    form div {
        margin-bottom: .8em;
    }
    /* =Globals
    -------------------------------------------------------------- */
    #container {
        margin: 0 auto;
        max-width: 1100px;
        padding: 0px 25px;
    }
    /* swd 12/9/2017 */
    #wrapper {
        -webkit-border-radius: 4px;
        -moz-border-radius: 4px;
        background-color: transparent;
        border: 1px solid #e5e5e5;
        border-radius: 4px;
        clear: both;
        margin: 20px auto 20px auto;
        padding: 0 20px 20px 20px;
        position: relative;
    }   /* swd 12/9/2017 bgclr */
    .front-page #wrapper {
        background-color: transparent;
        border: none;
        margin: 20px auto 20px auto;
        padding: 0;
    }
    #header {
        margin: 0;
    }
    #footer {
        clear: both;
        margin: 0 auto;
        max-width: 960px;
        padding: 0 25px 0 25px;
    }
    #footer-wrapper {
        margin: 0;
        padding: 0;
    }
    /* =Header
    -------------------------------------------------------------- */
    #logo {
        float: left;
        margin: 0;
        background-image: url(https://www.lighthouseeldercare.com/wp-content/images/image004.png); background-repeat: no-repeat;
       background-position: top 10px;
    }
    .site-name {
        display: block;
        font-size: 40px; /* = 33px */
        line-height: 1.0em;
        padding-top: 20px;
        margin-left:80px;
    }
    .site-name a {
        color: #333333;
        font-weight: 700;
    }
    .site-description {
        color: #000000;
        display: block;
        font-size: 20px; /* = 14px */
        margin: 10px 0 20px 80px;
    }
    /* swd 11/29/2017  top 4 entries*/
    /* =Content
    -------------------------------------------------------------- */
    #content {
        margin-top: 40px;
        margin-bottom: 20px;
    }
    #content-full {
        margin-top: 40px;
        margin-bottom: 20px;
    }
    #content-blog {
        margin-top: 40px;
        margin-bottom: 20px;
    }
    #content-images {
        margin-bottom: 20px;
    }
    #content-search {
        margin-bottom: 20px;
        margin-top: 20px;
    }
    #content-archive {
        margin-top: 40px;
        margin-bottom: 20px;
    }
    #content-sitemap {
        margin-top: 40px;
        margin-bottom: 20px;
    }
    #content-sitemap a {
        font-size: 12px;
    }
    #content .sticky {
        clear: both;
    }
    #content .sticky p {
    }
    /* =Templates (Landing Page)
    -------------------------------------------------------------- */
    .page-template-landing-page-php .menu,
    .page-template-landing-page-php .top-menu,
    .page-template-landing-page-php .main-nav,
    .page-template-landing-page-php .footer-menu,
    .page-template-landing-page-php .sub-header-menu {
        display: none;
    }
    /* =Author Meta (Author's Box)
    -------------------------------------------------------------- */
    #author-meta {
        -moz-border-radius: 4px;
        -webkit-border-radius: 4px;
        background: #f9f9f9;
        border: 1px solid #d6d6d6;
        border-radius: 4px;
        clear: both;
        display: block;
        margin: 30px 0 40px 0;
        padding: 10px;
        overflow: hidden;
    }
    #author-meta img {
        float: left;
        padding: 10px 15px 0 5px;
    }
    #author-meta p {
        margin: 0;
        padding: 5px;
    }
    #author-meta .about-author {
        font-weight: 700;
        margin: 10px 0 0 0;
    }
    /* =Featured Content
    -------------------------------------------------------------- */
    #featured {
        -moz-border-radius: 4px;
        -webkit-border-radius: 4px;
        background-color: #transparent;
        border: 1px solid #e5e5e5;
        border-radius: 4px;
        margin-top:20px;
        padding-bottom: 40px;
        width: 99.893617021277%;
    } /* swd 12/9/2017 bgclr */
    #featured p {
        font-size: 18px;
        font-weight: 200;
        line-height: 27px;
        padding: 0 40px 0 40px;
        text-align: center;
    }
    #featured-image {
        margin: 40px 0 0 0;
    }
    #featured-image .fluid-width-video-wrapper {
        margin-left: -20px;
    }
    .featured-image img {
        margin-top: 44px;
    }
    /* =Post
    -------------------------------------------------------------- */
    .comments-link {
        font-size: 12px;
    }
    #cancel-comment-reply-link {
        color: #990000;
    }
    .post-data {
        clear: both;
        font-size: 12px;
        font-weight: 700;
        margin-top: 20px;
    }
    .post-data a {
        color: #111111;
    }
    .post-entry {
        clear: both;
    }
    .post-meta {
        clear: both;
        color: #7E7E7E;
        font-size: 12px;
        margin-bottom: 10px;
    }
    .post-edit {
        clear: both;
        display: block;
        font-size: 12px;
        margin: 1.5em 0;
    }
    .post-search-terms {
        clear: both;
    }
    .read-more {
        clear: both;
        font-weight: 700;
    }
    .attachment-entry {
        clear: both;
        text-align: center;
    }
    /* =bbPress
        bbPress has its own breadcrumb lists
    -------------------------------------------------------------- */
    .bbPress .breadcrumb-list {
        display: none;
    }
    /* =Symbols
    -------------------------------------------------------------- */
    .ellipsis {
        color: #aaaaaa;
        font-size: 18px;
        margin-left: 5px;
    }
    .form-allowed-tags {
        display: none;
        font-size: 10px;
    }
    /* =Widgets
    -------------------------------------------------------------- */
    .widget-wrapper {
        -webkit-border-radius: 4px;
        -moz-border-radius: 4px;
        background-color: #f9f9f9;
        border: 1px solid #e5e5e5;
        border-radius: 4px;
        margin: 0 0 20px;
        padding: 20px;
    }
    .widget-wrapper select,
    .widget-wrapper input[type="text"],
    .widget-wrapper input[type="password"],
    .widget-wrapper  input[type="email"] {
        width: 75%;
    }
    #widgets {
        margin-top: 40px;
    }
    #widgets a {
        display: inline-block;
        margin: 0;
        padding: 0;
        text-decoration: none;
    }
    #widgets form {
        margin: 0;
    }
    #widgets ul,
    #widgets ol {
        padding: 0 0 0 20px;
    }
    #widgets ul li a {
        display: inline;
        text-decoration: none;
    }
    #widgets .widget-title img {
        float: right;
        height: 11px;
        position: relative;
        top: 4px;
        width: 11px;
    }
    #widgets .rss-date {
        line-height: 18px;
        padding: 6px 12px;
    }
    #widgets .rssSummary {
        padding: 10px;
    }
    #widgets cite {
        font-style: normal;
        line-height: 18px;
        padding: 6px 12px;
    }
    #widgets .tagcloud,
    #widgets .textwidget {
        display: block;
        line-height: 1.5em;
        margin: 0;
        word-wrap: break-word;
    }
    #widgets .textwidget a {
        display: inline;
    }
    #widgets ul .children {
        padding: 0 0 0 10px;
    }
    #widgets .author {
        font-weight: 700;
        padding-top: 4px;
    }
    .widget_archive select, #cat {
        display: block;
        margin: 0 15px 0 0;
    }
    #colophon-widget ul {
    }
    .colophon-widget {
        background: none;
        min-height: 0;
    }
    .colophon-widget select,
    .colophon-widget input[type="text"],
    .colophon-widget input[type="password"],
    .colophon-widget input[type="email"] {
        width: 100%;
    }
    #top-widget {
    }
    .top-widget {
        background: none;
        border: none;
        clear: right;
        float: right;
        min-height: 0;
        padding: 0 3px 0 0;
        text-align: right;    width: 35%;
    } /* swd 12/9/2017 */
    .top-widget ul {
        padding: 0;
    }
    .top-widget select,
    .top-widget input[type="text"],
    .top-widget input[type="password"],
    .top-widget input[type="email"] {
        width: auto;
    }
    .top-widget #searchform {
        margin: 0;
    }
    /* =Titles
    -------------------------------------------------------------- */
    .featured-title {
        font-size: 60px;
        letter-spacing: -1px;
        margin: 0;
        padding-top: 40px;
        text-align: center;
    }
    .featured-subtitle {
        padding: 0 10px;
        text-align: center;
    }
    .widget-title h3,
    .widget-title-home h3 {
        display: block;
        font-size: 24px;
        font-weight: 700;
        line-height: 23px;
        margin: 0;
        padding: 0 0 20px 0;
        text-align: left;
    }
    .top-widget .widget-title h3 {
        font-size: 14px;
        padding: 0;
        text-align: right;
    }
    .widget-title a {
        border-bottom: none;
        padding: 0 !important;
    }
    .title-404 {
        color: #993333;
    }
    /* =404 Page
    -------------------------------------------------------------- */
    .error404 select,
    .error404 input[type="text"],
    .error404 input[type="password"],
    .error404 input[type="email"] {
        width: auto;
    }
    /* =Accessibility
    -------------------------------------------------------------- */
    .screen-reader-text{
        position: absolute !important;
        clip: rect(1px, 1px, 1px, 1px);
    }
    .screen-reader-text:focus
    {
        clip:auto;
    }
    /* =Skip Links
    -------------------------------------------------------------- */
    .skip-container {
        display: block;
        padding: 0.5em 0.5em 0.5em 0;
        position: relative;
    }
    .skip-link {
        background: #f5f5f5;
        border: 1px solid #d5d5d5;
        -webkit-border-radius: 3px;
        -moz-border-radius: 3px;
        border-radius: 3px;
        float: right;
        font-size: 0.8125em;
        margin-left: -100%;
        padding: 0.5em;
        text-transform: uppercase;
    }
    .skip-link:hover,
    .skip-link:active,
    .skip-link:focus {
        border: 1px solid #666;
        margin-left:-20%;
    }
    .custom-background .site {
        -webkit-box-shadow: 0 -5px 5px 4px #d5d5d5;
        -moz-box-shadow: 0 -5px 5px 4px #d5d5d5;
        box-shadow: 0 -5px 5px 4px #d5d5d5;
        margin: 0 auto;
    }

    /* =Top Menu
    -------------------------------------------------------------- */
    .top-menu {
        float: right;
        margin: 10px 0;
        padding: 0;
    }
    .top-menu li {
        display: inline;
        list-style-type: none;
    }
    .top-menu li a {
        border-left: 1px solid #cccccc;
        color: #333333;
        font-size: 11px;
        padding: 0 4px 0 8px;
    }
    .top-menu > li:first-child > a {
        border-left: none;
    }
    .top-menu li a:hover {
        color: #333333;
    }
    /* =Header Menu (Primary)
    -------------------------------------------------------------- */
    .menu {
        background-color: #585858;
        background-image: -webkit-gradient(linear, left top, left bottom, from(#585858), to(#800000));
        background-image: -webkit-linear-gradient(top, #585858, #800000);
        background-image: -moz-linear-gradient(top, #585858, #800000);
        background-image: -ms-linear-gradient(top, #585858, #800000);
        background-image: -o-linear-gradient(top, #585858, #800000);
        background-image: linear-gradient(to top, #585858, #800000);
        clear: both;
            -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#585858, endColorstr=#800000)";
        margin: 0 auto;
    }
    .main-nav {
        clear: both;
        background-color:#FFFFFF;
    }
    /* swd 11/19/2017 */
    .menu {
        display: block;
        list-style-type: none;
        padding: 0;
    }
    .menu ul {
        display: block;
        list-style-type: none;
        margin: 0;
        padding: 0;
    }
    .menu li {
        border: 0;
        display: block;
        float: left;
        margin: 0;
        padding: 0;
        position: relative;
        z-index: 5;
    }
    .menu li:hover {
        white-space: normal;
        z-index: 10000;
    }
    .menu li li {
        float: none;
    }
    .menu ul {
        left: 0;
        position: absolute;
        top: 0;
        visibility: hidden;
        z-index: 10;
    }
    .menu li:hover > ul {
        top: 100%;
        visibility: visible;
    }
    .menu li li:hover > ul {
        left: 100%;
        top: 0;
    }
    .menu:after,
    .menu ul:after {
        clear: both;
        content: '.';
        display: block;
        height: 0;
        overflow: hidden;
        visibility: hidden;
    }
    .menu,
    .menu ul {
        min-height: 0;
    }
    .menu ul,
    .menu ul ul {
        margin: 0;
        padding: 0;
    }
    .menu ul li a:hover,
    .menu li li a:hover {
        color: #484848;
        text-decoration: none;
    }
    .menu ul {
        margin-top: 1px;
        min-width: 15em;
        width: auto;
    }
    .menu a {
        border-left: 1px solid #585858;
        color: #ffffff;
        cursor: pointer;
        display: block;
        font-size: 13px;
        font-weight: 700;
        height: 45px;
        line-height: 45px;
        margin: 0;
        padding: 0 0.9em;
        position: relative;
        text-decoration: none;
        text-shadow: 0 -1px 0 #000000;
        white-space: nowrap;
    }
    .menu a:hover {
        background-color: #808080;
        background-image: -webkit-gradient(linear, left top, left bottom, from(#808080), to(#363636));
        background-image: -webkit-linear-gradient(top, #808080, #363636);
        background-image: -moz-linear-gradient(top, #808080, #363636);
        background-image: -ms-linear-gradient(top, #808080, #363636);
        background-image: -o-linear-gradient(top, #808080, #363636);
        background-image: linear-gradient(to top, #808080, #363636);
        color: #ffffff;
            -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#808080, endColorstr=#363636)";
    }
    ul.menu > li:hover {
        background-color: #363636;
        color: #ffffff;
    }
    .menu .current_page_item a,
    .menu .current-menu-item a {
        background-color: #343434;
    }
    .front-page .menu .current_page_item a {
        background: none;
        background-color: transparent;
        background-image: none;
        filter: none;
    }
    .menu li li {
        background: #ffffff;
        background-image: none;
        border: 1px solid #e5e5e5;
        color: #444444;
        filter: none;
        margin: -1px 0 1px 0;
        width: auto;
    }
    .menu li li a {
        background: transparent !important;
        border: none;
        color: #444444;
        font-size: 12px;
        font-weight: 400;
        height: auto;
        height: 20px;
        line-height: 20px;
        padding: 5px 10px;
        text-shadow: none;
        white-space: nowrap;
    }
    .menu li li a:hover {
        background: #f5f5f5 !important;
        background-image: none;
        border: none;
        color: #444444;
        filter: none;
    }
    .menu li li:hover {
        background: #f5f5f5 !important;
        filter: none;
    }
    .menu ul > li + li {
        border-top: 0;
    }
    .menu li li:hover > ul {
        left: 100%;
        top: 0;
    }
    .menu > li:first-child > a {
        border-left: none;
    }
    .menu a#responsive_menu_button {
        display: none;
    }
    .main-nav #responsive_current_menu_item {
        display: none;
    }
    /*.js .main-nav .menu {*/
    /*display: block;*/
    /*}*/
    /* =Primary Main Menu IE Fixes
    -------------------------------------------------------------- */
    .ie7 .menu ul {
        background: url(../../core/images/ie7-fix.gif) repeat;
    }
    .ie7 .menu li li a {
        min-width: 100%;
    }
    .full-width-no-box #wrapper {
        margin: 0 auto 20px auto ;
    }

    /* =Sub-Header Menu
    -------------------------------------------------------------- */
    .sub-header-menu {
        background-color: transparent;
        //border: 1px solid #e5e5e5;
        //border-top: none;
        //clear: both;
        max-width: 960px;
        margin: 0 auto;
        display: block;
        padding: 0;
        list-style-type: none; text-align:center;
    }   /* swd 12/9/2017 bgclr  */
    .sub-nav{
        background-color: transparent;
        border: 1px solid #e5e5e5;
        border-top: none;
        clear: both;
    }  /* swd 12/9/2017 bgclr  */
    .sub-header-menu ul {
        display: block;
        list-style-type: none;
        margin: 0;
        padding: 0;
    }
    .sub-header-menu li {
      display:inline-block;   float:none;   margin-left: -5px; width:16%;
    } /* swd 12/9/2017  border: 0;     display: block;     float: left;     margin: 0;     padding: 0;     position: relative;     z-index: 5; menu item space*/
    .sub-header-menu li:hover {
        white-space: normal;
        z-index: 10000;
    }
    .sub-header-menu li li {
      display:block; text-align:left
    } /* swd 12/9/2017 float: none; */
    .sub-header-menu ul {
        left: 0;
        position: absolute;
        top: 0;
        visibility: hidden;
        z-index: 10;
    }
    .sub-header-menu li:hover > ul {
        top: 100%;
        visibility: visible;
    }
    .sub-header-menu li li:hover > ul {
        left: 100%;
        top: 0;
    }
    .sub-header-menu:after,
    .sub-header-menu ul:after {
        clear: both;
        content: '.';
        display: block;
        height: 0;
        overflow: hidden;
        visibility: hidden;
    }
    .sub-header-menu,
    .sub-header-menu ul {
        min-height: 0;
    }
    .sub-header-menu ul,
    .sub-header-menu ul ul {
        margin: 0;
        padding: 0;
    }
    .sub-header-menu ul li a:hover,
    .sub-header-menu li li a:hover {
        color: #484848;
        text-decoration: none;
    }
    .sub-header-menu ul {
        margin-top: 1px;
        min-width: 15em;
        width: auto;
    }
    .sub-header-menu a {
        border-left: 1px solid #e5e5e5;
        color: #333333;
        cursor: pointer;
        display: block;
        font-size: 12px;
        font-weight: 400;
        height: 35px;
        line-height: 35px;
        margin: 0;
        position: relative;
        text-decoration: none;
        text-shadow: none;
    }  /* swd 12/9/2017 padding: 0 30px 0 40px;*/
    .sub-header-menu a:hover {
        -moz-background-clip: padding-box;
        -webkit-background-clip: padding-box;
        background-color: #f9f9f9;
        background-clip: padding-box;
    }
    .sub-header-menu .current_page_item a,
    .sub-header-menu .current-menu-item a {
        background-color: #f9f9f9;
    }
    .sub-header-menu li li {
        background: #ffffff;
        background-image: none;
        border: 1px solid #e5e5e5;
        color: #444444;
        filter: none;
        margin: -1px 0 1px 0;
        width: auto;
    } /* swd 12/9/2017  no change*/
    .sub-header-menu li li a {
        border: none;
        color: #444444;
        font-size: 12px;
        font-weight: 400;
        height: auto;
        height: 20px;
        line-height: 20px;
        padding: 5px 10px;
        text-shadow: none;
        white-space: nowrap;
    }
    .sub-header-menu li li a:hover {
        background: #f9f9f9;
        background-image: none;
        border: none;
        color: #444444;
        filter: none;
    }
    .sub-header-menu ul > li + li {
        border-top: 0;
    }
    .sub-header-menu li li:hover > ul {
        left: 100%;
        top: 0;
    }
    .sub-header-menu > li:first-child > a {
        border-left: none;
    }
    .sub-header-menu ul.children a,
    .sub-header-menu .current_page_ancestor,
    .sub-header-menu .current_page_ancestor ul a {
        background: none;
        background-image: none;
        filter: none;
    }
    /* =Sub Header Menu IE Fixes
    -------------------------------------------------------------- */
    .ie7 .sub-header-menu ul {
        background: url(../../core/images/ie7-fix.gif) repeat;
    }
    .ie7 .sub-header-menu li li a {
        min-width: 100%;
    }
    /* =Footer Menu
    -------------------------------------------------------------- */
    .footer-menu {
        margin-left: 0;
        padding: 0;
    }
    .footer-menu li {
        display: inline;
        list-style-type: none;
    }
    .footer-menu li a {
        border-left: 1px solid #cccccc;
        color: #333333;
        padding: 0 8px;
    }
    .footer-menu li a:hover {
        color: #222222;
    }
    .footer-menu > li:first-child > a {
        border-left: none;
        padding: 0 8px 0 0;
    }
    /* =Navigation
    -------------------------------------------------------------- */
    .navigation {
        color: #111111;
        display: block;
        font-size: 13px;
        height: 28px;
        line-height: 28px;
        margin: 20px 0;
        padding: 0 5px;
    }
    .navigation a {
        color: #aaaaaa;
        padding: 4px 10px;
    }
    .navigation a:hover {
        color: #111111;
        text-decoration: none;
    }
    .navigation .previous {
        float: left;
    }
    .navigation .next {
        float: right;
    }
    .navigation .bracket {
        font-size: 36px;
    }
    /* =Pagination (pages)
    -------------------------------------------------------------- */
    .pagination {
        clear: both;
        display: block;
        font-size: 16px;
        font-weight: 700;
        margin: 10px 0;
        padding: 5px 0;
    }
    .pagination a {
        text-decoration: none;
    }
    /* =Breadcrumb Lists
    -------------------------------------------------------------- */
    .breadcrumb-list {
        font-size: 12px;
    }
    /* =Comments
    -------------------------------------------------------------- */
    #commentform {
        margin: 0;
    }
    .commentlist {
        border-bottom: 1px solid #e5e5e5;
        list-style: none;
        margin: 0;
        padding: 0;
    }
    .commentlist ol {
        list-style: decimal;
    }
    .commentlist li {
        -webkit-border-radius: 4px;
        -moz-border-radius: 4px;
        background-color: #ffffff;
        border-radius: 4px;
        margin: 0;
    }
    .commentlist .bypostauthor {
    }
    .commentlist li cite {
        color: #111111;
        font-size: 1.1em;
        font-style: normal;
        font-weight: 400;
    }
    .commentlist li.alt {
        background: #f9f9f9;
    }
    .commentlist .children {
        list-style: none;
        margin-left: 10px;
        padding: 10px;
    }
    .commentlist .avatar {
        -webkit-border-radius: 2px;
        -moz-border-radius: 2px;
        border-radius: 2px;
        float: left;
        margin-right: 10px;
        padding: 0;
        vertical-align: middle;
    }
    .comment-author .fn {
    }
    .comment-author .says {
        color: #999999;
    }
    .comment-body .comment-meta {
        color: #999999;
        display: inline-block;
        margin: 0;
        padding: 0;
        text-align: left;
    }
    .comment-body .comment-meta a {
        font-size: 11px;
    }
    .comment-body {
        clear: both;
        padding: 10px;
    }
    .comment-body p {
        clear: both;
    }
    .comment-body .reply {
    }
    .pingback, .trackback {
        list-style: none;
        margin: 20px 0;
    }
    .pingback cite,
    .trackback cite {
        font-style: normal;
    }
    #pings,
    #comments {
        text-align: left;
    }
    #respond {
        -moz-border-radius: 4px;
        -webkit-border-radius: 4px;
        background-color: #eaeaea;
        background-image: -webkit-gradient(linear, left top, left bottom, from(#ffffff), to(#eaeaea));
        background-image: -webkit-linear-gradient(top, #ffffff, #eaeaea);
        background-image: -moz-linear-gradient(top, #ffffff, #eaeaea);
        background-image: -ms-linear-gradient(top, #ffffff, #eaeaea);
        background-image: -o-linear-gradient(top, #ffffff, #eaeaea);
        background-image: linear-gradient(to top, #ffffff, #eaeaea);
        border: 1px solid #cccccc;
        border-bottom-color: #aaaaaa;
        border-radius: 4px;
        clear: both;
        -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff, endColorstr=#eaeaea)";
        margin-top: 15px;
        padding: 10px 20px 50px;
    }
    #respond label {
        display: inline;
    }
    .reply {
        margin: 10px 0;
    }
    .comment-form-url input,
    .comment-form-email input,
    .comment-form-author input,
    .comment-form-comment textarea {
        display: block;
        width: 100%;
    }
    .nocomments {
        color: #999999;
        font-size: .9em;
        text-align: center;
    }
    /* =Gallery
    -------------------------------------------------------------- */
    /* Normal */
    .gallery-columns-1 .gallery-item {
        max-width: 600px;
    }
    .gallery-columns-2 .gallery-item {
        max-width: 300px;
    }
    .gallery-columns-3 .gallery-item {
        max-width: 200px;
    }
    .gallery-columns-4 .gallery-item {
        max-width: 150px;
    }
    .gallery-columns-5 .gallery-item {
        max-width: 120px;
    }
    .gallery-columns-6 .gallery-item {
        max-width: 100px;
    }
    .gallery-columns-7 .gallery-item {
        max-width: 85px;
    }
    .gallery-columns-8 .gallery-item {
        max-width: 75px;
    }
    .gallery-columns-9 .gallery-item {
        max-width: 66px;
    }
    /* Full Width */
    .page-template-full-width-page-php .gallery-columns-1 .gallery-item,
    .page-template-landing-page.php .gallery-columns-1 .gallery-item {
        max-width: 900px;
    }
    .page-template-full-width-page-php .gallery-columns-2 .gallery-item,
    .page-template-landing-page.php .gallery-columns-2 .gallery-item {
        max-width: 450px;
    }
    .page-template-full-width-page-php .gallery-columns-3 .gallery-item,
    .page-template-landing-page.php .gallery-columns-3 .gallery-item {
        max-width: 300px;
    }
    .page-template-full-width-page-php .gallery-columns-4 .gallery-item,
    .page-template-landing-page.php .gallery-columns-4 .gallery-item {
        max-width: 225px;
    }
    .page-template-full-width-page-php .gallery-columns-5 .gallery-item,
    .page-template-landing-page.php .gallery-columns-5.gallery-item {
        max-width: 180px;
    }
    .page-template-full-width-page-php .gallery-columns-6 .gallery-item,
    .page-template-landing-page.php .gallery-columns-6 .gallery-item {
        max-width: 150px;
    }
    .page-template-full-width-page-php .gallery-columns-7 .gallery-item,
    .page-template-landing-page.php .gallery-columns-7 .gallery-item {
        max-width: 125px;
    }
    .page-template-full-width-page-php .gallery-columns-8 .gallery-item,
    .page-template-landing-page.php .gallery-columns-8 .gallery-item {
        max-width: 112.5px;
    }
    .page-template-full-width-page-php .gallery-columns-9 .gallery-item,
    .page-template-landing-page.php .gallery-columns-9 .gallery-item {
        max-width: 100px;
    }
    /* =WordPress Core
    -------------------------------------------------------------- */
    .alignnone {
        margin: 5px 20px 20px 0;
    }
    .aligncenter,
    div.aligncenter {
        display: block;
        margin: 5px auto 20px auto;
    }
    .alignright {
        float: right;
        margin: 5px 0 20px 20px;
    }
    .alignleft {
        float: left;
        margin: 5px 20px 20px 0;
    }
    .aligncenter {
        display: block;
        margin: 5px auto;
    }
    a img.alignright {
        float: right;
        margin: 5px 0 20px 20px;
    }
    a img.alignnone {
        margin: 5px 20px 20px 0;
    }
    a img.alignleft {
        float: left;
        margin: 5px 20px 20px 0;
    }
    a img.aligncenter {
        display: block;
        margin-left: auto;
        margin-right: auto;
    }
    .wp-caption {
        background: #f9f9f9;
        border: 1px solid #f0f0f0;
        max-width: 96%;
        padding: 13px 10px 10px 10px;
        text-align: center;
    }
    .wp-caption.alignnone {
        margin: 5px 20px 20px 0;
    }
    .wp-caption.alignleft {
        margin: 5px 20px 20px 0;
    }
    .wp-caption.alignright {
        margin: 5px 0 20px 20px;
    }
    .wp-caption img {
        border: 0 none;
        height: auto;
        margin: 0;
        max-width: 98.5%;
        padding: 0;
        width: auto;
    }
    .wp-caption p.wp-caption-text {
        font-size: 12px;
        line-height: 1.5em;
        margin: 0;
        padding: 10px;
    }
    img.wp-smiley {
        vertical-align: middle;
    }
    /* =WordPress Gallery
    -------------------------------------------------------------- */
    .gallery {
        margin: 0 auto 18px;
    }
    .gallery .gallery-item {
        float: left;
        margin-top: 0;
        text-align: center;
        max-width: 155px;
    }
    .gallery img {
        border: 1px solid #dddddd;
    }
    .gallery .gallery-caption {
        font-size: 12px;
        margin: 0 0 12px;
    }
    .gallery dl {
        margin: 0;
    }
    .gallery br+br {
        display: none;
    }
    .attachment-gallery img {
        background: #ffffff;
        border: 1px solid #f0f0f0;
        display: block;
        height: auto;
        margin: 15px auto;
        max-width: 96%;
        padding: 5px;
        width: auto;
    }
    .gallery-meta .iso,
    .gallery-meta .camera,
    .gallery-meta .shutter,
    .gallery-meta .aperture,
    .gallery-meta .full-size,
    .gallery-meta .focal-length {
        display: block;
    }
    /* =Post Thumbnails
    -------------------------------------------------------------- */
    img.wp-post-image,
    img.attachment-full,
    img.attachment-large,
    img.attachment-medium,
    img.attachment-thumbnail {
        display: block;
        margin: 15px auto;
        width: auto;
    }
    /* =Buttons
    -------------------------------------------------------------- */
    a.button,
    input[type='reset'],
    input[type='button'],
    input[type='submit'] {
        -moz-border-radius: 2px;
        -moz-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.3) inset;
        -webkit-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.3) inset;
        -webkit-border-radius: 2px;
        background-color: #f9f9f9; /* Alabaster */
        background-image: -webkit-gradient(linear, left top, left bottom, from(#f9f9f9), to(#f1f1f1));
        background-image: -webkit-linear-gradient(top, #f9f9f9, #f1f1f1);
        background-image: -moz-linear-gradient(top, #f9f9f9, #f1f1f1);
        background-image: -ms-linear-gradient(top, #f9f9f9, #f1f1f1);
        background-image: -o-linear-gradient(top, #f9f9f9, #f1f1f1);
        background-image: linear-gradient(to top, #f9f9f9, #f1f1f1);
        box-shadow: 0 1px 0 rgba(255, 255, 255, 0.3) inset;
        border: 1px solid #dddddd;
        border-radius: 2px;
        color: #333333;
        cursor: pointer;
        display: inline-block;
        -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#f9f9f9, endColorstr=#f1f1f1)";
        font-size: 14px;
        font-weight: 700;
        line-height: 20px;
        margin: 0;
        padding: 4px 10px;
        text-decoration: none;
        text-shadow: 0 1px 0 #ffffff;
        vertical-align: middle;
        white-space: nowrap;
    }
    a.button:hover,
    input[type='reset']:hover,
    input[type='button']:hover,
    input[type='submit']:hover {
        -moz-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.3) inset;
        -webkit-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.3) inset;
        background-color: #ffffff;
        background-image: -webkit-gradient(linear, left top, left bottom, from(#ffffff), to(#f1f1f1));
        background-image: -webkit-linear-gradient(top, #ffffff, #f1f1f1);
        background-image: -moz-linear-gradient(top, #ffffff, #f1f1f1);
        background-image: -ms-linear-gradient(top, #ffffff, #f1f1f1);
        background-image: -o-linear-gradient(top, #ffffff, #f1f1f1);
        background-image: linear-gradient(to top, #ffffff, #f1f1f1);
        border: 1px solid #dddddd;
        box-shadow: 0 1px 0 rgba(255, 255, 255, 0.3) inset;
        color: #333333;
        -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff, endColorstr=#f1f1f1)";
    }
    a.button:active,
    input[type='reset']:active,
    input[type='button']:active,
    input[type='submit']:active {
        -moz-box-shadow: 0 1px 0 #ffffff, inset 0 1px 1px rgba(0, 0, 0, 0.1);
        -webkit-box-shadow: 0 1px 0 #ffffff, inset 0 1px 1px rgba(0, 0, 0, 0.1);
        background-color: #f9f9f9;
        background-image: -webkit-gradient(linear, left top, left bottom, from(#f9f9f9), to(#f1f1f1));
        background-image: -webkit-linear-gradient(top, #f9f9f9, #f1f1f1);
        background-image: -moz-linear-gradient(top, #f9f9f9, #f1f1f1);
        background-image: -ms-linear-gradient(top, #f9f9f9, #f1f1f1);
        background-image: -o-linear-gradient(top, #f9f9f9, #f1f1f1);
        background-image: linear-gradient(to top, #f9f9f9, #f1f1f1);
        box-shadow: 0 1px 0 #ffffff, inset 0 1px 1px rgba(0, 0, 0, 0.1);
        -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#f9f9f9, endColorstr=#f1f1f1)";
    }
    /* =Buttons (Call to Action)
    -------------------------------------------------------------- */
    .call-to-action {
        text-align: center;
    }
    .call-to-action a.button {
        font-size: 24px;
        padding: 15px 35px;
    }
    .call-to-action a.button:hover {
        text-decoration: none;
    }
    .ie7 .call-to-action a.button {
        padding: 11px 35px 19px 35px;
    }
    /* =Buttons (Sizes)
    -------------------------------------------------------------- */
    .small a.button {
        font-size: 10px;
        padding: 3px 6px;
    }
    .medium a.button {
        font-size: 16px;
        padding: 8px 16px;
    }
    .large a.button {
        font-size: 18px;
        padding: 10px 35px;
    }
    .xlarge a.button {
        font-size: 24px;
        padding: 12px 55px;
    }
    /* =Buttons (Colors)
    -------------------------------------------------------------- */
    a.blue {
        background-color: #1874cd; /* Dodger Blue */
        background-image: -webkit-gradient(linear, left top, left bottom, from(#4f9eea), to(#1874cd));
        background-image: -webkit-linear-gradient(top, #4f9eea, #1874cd);
        background-image: -moz-linear-gradient(top, #4f9eea, #1874cd);
        background-image: -ms-linear-gradient(top, #4f9eea, #1874cd);
        background-image: -o-linear-gradient(top, #4f9eea, #1874cd);
        background-image: linear-gradient(to top, #4f9eea, #1874cd);
        border: 1px solid #115290;
        color: #ffffff;
        -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#4f9eea, endColorstr=#1874cd)";
        text-shadow: 0 -1px 0 #115290;
    }
    a.blue:hover {
        background-color: #7db7f0;
        background-image: -webkit-gradient(linear, left top, left bottom, from(#7db7f0), to(#1874cd));
        background-image: -webkit-linear-gradient(top, #7db7f0, #1874cd);
        background-image: -moz-linear-gradient(top, #7db7f0, #1874cd);
        background-image: -ms-linear-gradient(top, #7db7f0, #1874cd);
        background-image: -o-linear-gradient(top, #7db7f0, #1874cd);
        background-image: linear-gradient(to top, #7db7f0, #1874cd);
        border: 1px solid #115290;
        color: #ffffff;
        -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#7db7f0, endColorstr=#1874cd)";
        text-shadow: 0 -1px 0 #115290;
    }
    /* Begin: Flat button style  */
    a.blue.flat {
        background-image: none;
        border: none;
            background-color: #1874cd;
    }
    /* End: Flat button style  */
    a.red {
        background-color: #cd0000; /* Red 4 */
        background-image: -webkit-gradient(linear, left top, left bottom, from(#ff2323), to(#cd0000));
        background-image: -webkit-linear-gradient(top, #ff2323, #cd0000);
        background-image: -moz-linear-gradient(top, #ff2323, #cd0000);
        background-image: -ms-linear-gradient(top, #ff2323, #cd0000);
        background-image: -o-linear-gradient(top, #ff2323, #cd0000);
        background-image: linear-gradient(to top, #ff2323, #cd0000);
        border: 1px solid #890000;
        color: #ffffff;
        -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#ff2323, endColorstr=#cd0000)";
        text-shadow: 0 -1px 0 #890000;
    }
    a.red:hover {
        background-color: #ff5656;
        background-image: -webkit-gradient(linear, left top, left bottom, from(#ff5656), to(#cd0000));
        background-image: -webkit-linear-gradient(top, #ff5656, #cd0000);
        background-image: -moz-linear-gradient(top, #ff5656, #cd0000);
        background-image: -ms-linear-gradient(top, #ff5656, #cd0000);
        background-image: -o-linear-gradient(top, #ff5656, #cd0000);
        background-image: linear-gradient(to top, #ff5656, #cd0000);
        border: 1px solid #890000;
        color: #ffffff;
        -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#ff5656, endColorstr=#cd0000)";
        text-shadow: 0 -1px 0 #890000;
    }
    a.orange {
        background-color: #ff7f00; /* Dark Orange 1 */
        background-image: -webkit-gradient(linear, left top, left bottom, from(#ffaa55), to(#ff7f00));
        background-image: -webkit-linear-gradient(top, #ffaa55, #ff7f00);
        background-image: -moz-linear-gradient(top, #ffaa55, #ff7f00);
        background-image: -ms-linear-gradient(top, #ffaa55, #ff7f00);
        background-image: -o-linear-gradient(top, #ffaa55, #ff7f00);
        background-image: linear-gradient(to top, #ffaa55, #ff7f00);
        border: 1px solid #bb5d00;
        color: #ffffff;
        -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffaa55, endColorstr=#ff7f00)";
        text-shadow: 0 -1px 0 #bb5d00;
    }
    a.orange:hover {
        background-color: #ffc388;
        background-image: -webkit-gradient(linear, left top, left bottom, from(#ffc388), to(#ff7f00));
        background-image: -webkit-linear-gradient(top, #ffc388, #ff7f00);
        background-image: -moz-linear-gradient(top, #ffc388, #ff7f00);
        background-image: -ms-linear-gradient(top, #ffc388, #ff7f00);
        background-image: -o-linear-gradient(top, #ffc388, #ff7f00);
        background-image: linear-gradient(to top, #ffc388, #ff7f00);
        border: 1px solid #bb5d00;
        color: #ffffff;
        -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffc388, endColorstr=#ff7f00)";
        text-shadow: 0 -1px 0 #bb5d00;
    }
    a.yellow {
        background-color: #ecca06; /* Yellow Gold */
        background-image: -webkit-gradient(linear, left top, left bottom, from(#fff2aa), to(#ffd700));
        background-image: -webkit-linear-gradient(top, #fff2aa, #ffd700);
        background-image: -moz-linear-gradient(top, #fff2aa, #ffd700);
        background-image: -ms-linear-gradient(top, #fff2aa, #ffd700);
        background-image: -o-linear-gradient(top, #fff2aa, #ffd700);
        background-image: linear-gradient(to top, #fff2aa, #ffd700);
        border: 1px solid #bb9e00;
        color: #161300;
        -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#fff2aa, endColorstr=#ffd700)";
        text-shadow: 0 1px 0 #ffffff;
    }
    a.yellow:hover {
        background-color: #fffadd;
        background-image: -webkit-gradient(linear, left top, left bottom, from(#fffadd), to(#ffd700));
        background-image: -webkit-linear-gradient(top, #fffadd, #ffd700);
        background-image: -moz-linear-gradient(top, #fffadd, #ffd700);
        background-image: -ms-linear-gradient(top, #fffadd, #ffd700);
        background-image: -o-linear-gradient(top, #fffadd, #ffd700);
        background-image: linear-gradient(to top, #fffadd, #ffd700);
        border: 1px solid #bb9e00;
        color: #161300;
        -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#fffadd, endColorstr=#ffd700)";
        text-shadow: 0 1px 0 #ffffff;
    }
    a.green {
        background-color: #2e8b57; /* Sea Green 4 */
        background-image: -webkit-gradient(linear, left top, left bottom, from(#4bc380), to(#2e8b57));
        background-image: -webkit-linear-gradient(top, #4bc380, #2e8b57);
        background-image: -moz-linear-gradient(top, #4bc380, #2e8b57);
        background-image: -ms-linear-gradient(top, #4bc380, #2e8b57);
        background-image: -o-linear-gradient(top, #4bc380, #2e8b57);
        background-image: linear-gradient(to top, #4bc380, #2e8b57);
        border: 1px solid #1d5837;
        color: #ffffff;
        -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#4bc380, endColorstr=#2e8b57)";
        text-shadow: 0 -1px 0 #1d5837;
    }
    a.green:hover {
        background-color: #71d09b;
        background-image: -webkit-gradient(linear, left top, left bottom, from(#71d09b), to(#2e8b57));
        background-image: -webkit-linear-gradient(top, #71d09b, #2e8b57);
        background-image: -moz-linear-gradient(top, #71d09b, #2e8b57);
        background-image: -ms-linear-gradient(top, #71d09b, #2e8b57);
        background-image: -o-linear-gradient(top, #71d09b, #2e8b57);
        background-image: linear-gradient(to top, #71d09b, #2e8b57);
        border: 1px solid #1d5837;
        color: #ffffff;
        -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#71d09b, endColorstr=#2e8b57)";
        text-shadow: 0 -1px 0 #1d5837;
    }
    a.olive {
        background-color: #838b83; /* Honey Dew 4 */
        background-image: -webkit-gradient(linear, left top, left bottom, from(#e0e000), to(#838b83));
        background-image: -webkit-linear-gradient(top, #afb4af, #838b83);
        background-image: -moz-linear-gradient(top, #afb4af, #838b83);
        background-image: -ms-linear-gradient(top, #afb4af, #838b83);
        background-image: -o-linear-gradient(top, #afb4af, #838b83);
        background-image: linear-gradient(to top, #afb4af, #838b83);
        border: 1px solid #626862;
        color: #ffffff;
        -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#afb4af, endColorstr=#838b83)";
        text-shadow: 0 -1px 0 #626862;
    }
    a.olive:hover {
        background-color: #c9cdc9;
        background-image: -webkit-gradient(linear, left top, left bottom, from(#c9cdc9), to(#838b83));
        background-image: -webkit-linear-gradient(top, #c9cdc9, #838b83);
        background-image: -moz-linear-gradient(top, #c9cdc9, #838b83);
        background-image: -ms-linear-gradient(top, #c9cdc9, #838b83);
        background-image: -o-linear-gradient(top, #c9cdc9, #838b83);
        background-image: linear-gradient(to top, #c9cdc9, #838b83);
        border: 1px solid #626862;
        color: #ffffff;
        -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#c9cdc9, endColorstr=#838b83)";
        text-shadow: 0 -1px 0 #626862;
    }
    a.purple {
        background-color: #5d478b; /* Medium Purple 4 */
        background-image: -webkit-gradient(linear, left top, left bottom, from(#8771b6), to(#5d478b));
        background-image: -webkit-linear-gradient(top, #8771b6, #5d478b);
        background-image: -moz-linear-gradient(top, #8771b6, #5d478b);
        background-image: -ms-linear-gradient(top, #8771b6, #5d478b);
        background-image: -o-linear-gradient(top, #8771b6, #5d478b);
        background-image: linear-gradient(to top, #8771b6, #5d478b);
        border: 1px solid #3f305e;
        color: #ffffff;
        -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#8771b6, endColorstr=#5d478b)";
        text-shadow: 0 -1px 0 #3f305e;
    }
    a.purple:hover {
        background-color: #a492c8;
        background-image: -webkit-gradient(linear, left top, left bottom, from(#a492c8), to(#5d478b));
        background-image: -webkit-linear-gradient(top, #a492c8, #5d478b);
        background-image: -moz-linear-gradient(top, #a492c8, #5d478b);
        background-image: -ms-linear-gradient(top, #a492c8, #5d478b);
        background-image: -o-linear-gradient(top, #a492c8, #5d478b);
        background-image: linear-gradient(to top, #a492c8, #5d478b);
        border: 1px solid #3f305e;
        color: #ffffff;
        -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#a492c8, endColorstr=#5d478b)";
        text-shadow: 0 -1px 0 #3f305e;
    }
    a.pink {
        background-color: #cd1076; /* Deep Pink 3 */
        background-image: -webkit-gradient(linear, left top, left bottom, from(#f042a0), to(#cd1076));
        background-image: -webkit-linear-gradient(top, #f042a0, #cd1076);
        background-image: -moz-linear-gradient(top, #f042a0, #cd1076);
        background-image: -ms-linear-gradient(top, #f042a0, #cd1076);
        background-image: -o-linear-gradient(top, #f042a0, #cd1076);
        background-image: linear-gradient(to top, #f042a0, #cd1076);
        border: 1px solid #8e0b52;
        color: #ffffff;
        -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#f042a0, endColorstr=#cd1076)";
        text-shadow: 0 -1px 0 #8e0b52;
    }
    a.pink:hover {
        background-color: #f471b8;
        background-image: -webkit-gradient(linear, left top, left bottom, from(#f471b8), to(#cd1076));
        background-image: -webkit-linear-gradient(top, #f471b8, #cd1076);
        background-image: -moz-linear-gradient(top, #f471b8, #cd1076);
        background-image: -ms-linear-gradient(top, #f471b8, #cd1076);
        background-image: -o-linear-gradient(top, #f471b8, #cd1076);
        background-image: linear-gradient(to top, #f471b8, #cd1076);
        border: 1px solid #8e0b52;
        color: #ffffff;
        -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#f471b8, endColorstr=#cd1076)";
        text-shadow: 0 -1px 0 #8e0b52;
    }
    a.brick {
        background-color: #b22222; /* Fire Brick */
        background-image: -webkit-gradient(linear, left top, left bottom, from(#dd4c4c), to(#b22222));
        background-image: -webkit-linear-gradient(top, #dd4c4c, #b22222);
        background-image: -moz-linear-gradient(top, #dd4c4c, #b22222);
        background-image: -ms-linear-gradient(top, #dd4c4c, #b22222);
        background-image: -o-linear-gradient(top, #dd4c4c, #b22222);
        background-image: linear-gradient(to top, #dd4c4c, #b22222);
        border: 1px solid #791717;
        color: #ffffff;
        -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#dd4c4c, endColorstr=#b22222)";
        text-shadow: 0 -1px 0 #791717;
    }
    a.brick:hover {
        background-color: #e57777;
        background-image: -webkit-gradient(linear, left top, left bottom, from(#e57777), to(#b22222));
        background-image: -webkit-linear-gradient(top, #e57777, #b22222);
        background-image: -moz-linear-gradient(top, #e57777, #b22222);
        background-image: -ms-linear-gradient(top, #e57777, #b22222);
        background-image: -o-linear-gradient(top, #e57777, #b22222);
        background-image: linear-gradient(to top, #e57777, #b22222);
        border: 1px solid #791717;
        color: #ffffff;
        -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#e57777, endColorstr=#b22222)";
        text-shadow: 0 -1px 0 #791717;
    }
    a.gold {
        background-color: #8b6508; /* Dark Golden Rod 4 */
        background-image: -webkit-gradient(linear, left top, left bottom, from(#db9f0d), to(#8b6508));
        background-image: -webkit-linear-gradient(top, #db9f0d, #8b6508);
        background-image: -moz-linear-gradient(top, #db9f0d, #8b6508);
        background-image: -ms-linear-gradient(top, #db9f0d, #8b6508);
        background-image: -o-linear-gradient(top, #db9f0d, #8b6508);
        background-image: linear-gradient(to top, #db9f0d, #8b6508);
        border: 1px solid #6b4e06;
        color: #ffffff;
        -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#db9f0d, endColorstr=#8b6508)";
        text-shadow: 0 -1px 0 #6b4e06;
    }
    a.gold:hover {
        background-color: #f3b828;
        background-image: -webkit-gradient(linear, left top, left bottom, from(#f3b828), to(#8b6508));
        background-image: -webkit-linear-gradient(top, #f3b828, #8b6508);
        background-image: -moz-linear-gradient(top, #f3b828, #8b6508);
        background-image: -ms-linear-gradient(top, #f3b828, #8b6508);
        background-image: -o-linear-gradient(top, #f3b828, #8b6508);
        background-image: linear-gradient(to top, #f3b828, #8b6508);
        border: 1px solid #6b4e06;
        color: #ffffff;
        -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#f3b828, endColorstr=#8b6508)";
        text-shadow: 0 -1px 0 #6b4e06;
    }
    a.brown {
        background-color: #8b4513; /* Saddle Brown */
        background-image: -webkit-gradient(linear, left top, left bottom, from(#d66a1d), to(#8b4513));
        background-image: -webkit-linear-gradient(top, #d66a1d, #8b4513);
        background-image: -moz-linear-gradient(top, #d66a1d, #8b4513);
        background-image: -ms-linear-gradient(top, #d66a1d, #8b4513);
        background-image: -o-linear-gradient(top, #d66a1d, #8b4513);
        background-image: linear-gradient(to top, #d66a1d, #8b4513);
        border: 1px solid #4f270b;
        color: #ffffff;
        -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#d66a1d, endColorstr=#8b4513)";
        text-shadow: 0 -1px 0 #4f270b;
    }
    a.brown:hover {
        background-color: #8b4513;
        background-image: -webkit-gradient(linear, left top, left bottom, from(#e58541), to(#8b4513));
        background-image: -webkit-linear-gradient(top, #e58541, #8b4513);
        background-image: -moz-linear-gradient(top, #e58541, #8b4513);
        background-image: -ms-linear-gradient(top, #e58541, #8b4513);
        background-image: -o-linear-gradient(top, #e58541, #8b4513);
        background-image: linear-gradient(to top, #e58541, #8b4513);
        border: 1px solid #4f270b;
        color: #ffffff;
        -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#e58541, endColorstr=#8b4513)";
        text-shadow: 0 -1px 0 #4f270b;
    }
    a.silver {
        background-color: #c0c0c0; /* Silver */
        background-image: -webkit-gradient(linear, left top, left bottom, from(#eaeaea), to(#c0c0c0));
        background-image: -webkit-linear-gradient(top, #eaeaea, #c0c0c0);
        background-image: -moz-linear-gradient(top, #eaeaea, #c0c0c0);
        background-image: -ms-linear-gradient(top, #eaeaea, #c0c0c0);
        background-image: -o-linear-gradient(top, #eaeaea, #c0c0c0);
        background-image: linear-gradient(to top, #eaeaea, #c0c0c0);
        border: 1px solid #9e9e9e;
        color: #444444;
        -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#eaeaea, endColorstr=#c0c0c0)";
        text-shadow: 0 1px 0 #ffffff;
    }
    a.silver:hover {
        background-color: #ffffff;
        background-image: -webkit-gradient(linear, left top, left bottom, from(#ffffff), to(#c0c0c0));
        background-image: -webkit-linear-gradient(top, #ffffff, #c0c0c0);
        background-image: -moz-linear-gradient(top, #ffffff, #c0c0c0);
        background-image: -ms-linear-gradient(top, #ffffff, #c0c0c0);
        background-image: -o-linear-gradient(top, #ffffff, #c0c0c0);
        background-image: linear-gradient(to top, #ffffff, #c0c0c0);
        border: 1px solid #9e9e9e;
        color: #444444;
        -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff, endColorstr=#c0c0c0)";
        text-shadow: 0 1px 0 #ffffff;
    }
    a.gray {
        background-color: #696969; /* Dim Gray */
        background-image: -webkit-gradient(linear, left top, left bottom, from(#939393), to(#696969));
        background-image: -webkit-linear-gradient(top, #939393, #696969);
        background-image: -moz-linear-gradient(top, #939393, #696969);
        background-image: -ms-linear-gradient(top, #939393, #696969);
        background-image: -o-linear-gradient(top, #939393, #696969);
        background-image: linear-gradient(to top, #939393, #696969);
        border: 1px solid #474747;
        color: #ffffff;
        -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#939393, endColorstr=#696969)";
        text-shadow: 0 -1px 0 #474747;
    }
    a.gray:hover {
        background-color: #adadad;
        background-image: -webkit-gradient(linear, left top, left bottom, from(#adadad), to(#696969));
        background-image: -webkit-linear-gradient(top, #adadad, #696969);
        background-image: -moz-linear-gradient(top, #adadad, #696969);
        background-image: -ms-linear-gradient(top, #adadad, #696969);
        background-image: -o-linear-gradient(top, #adadad, #696969);
        background-image: linear-gradient(to top, #adadad, #696969);
        border: 1px solid #474747;
        color: #ffffff;
        -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#adadad, endColorstr=#696969)";
        text-shadow: 0 -1px 0 #474747;
    }
    a.black {
        background-color: #080808; /* Black */
        background-image: -webkit-gradient(linear, left top, left bottom, from(#323232), to(#080808));
        background-image: -webkit-linear-gradient(top, #323232, #080808);
        background-image: -moz-linear-gradient(top, #323232, #080808);
        background-image: -ms-linear-gradient(top, #323232, #080808);
        background-image: -o-linear-gradient(top, #323232, #080808);
        background-image: linear-gradient(to top, #323232, #080808);
        border: 1px solid #000000;
        color: #ffffff;
        -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#323232, endColorstr=#080808)";
        text-shadow: 0 -1px 0 #000000;
    }
    a.black:hover {
        background-color: #4c4c4c;
        background-image: -webkit-gradient(linear, left top, left bottom, from(#4c4c4c), to(#080808));
        background-image: -webkit-linear-gradient(top, #4c4c4c, #080808);
        background-image: -moz-linear-gradient(top, #4c4c4c, #080808);
        background-image: -ms-linear-gradient(top, #4c4c4c, #080808);
        background-image: -o-linear-gradient(top, #4c4c4c, #080808);
        background-image: linear-gradient(to top, #4c4c4c, #080808);
        border: 1px solid #000000;
        color: #ffffff;
        -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#4c4c4c, endColorstr=#080808)";
        text-shadow: 0 -1px 0 #000000;
    }
    /* =Info Boxes
    -------------------------------------------------------------- */
    .info-box {
        -moz-border-radius: 4px;
        -webkit-border-radius: 4px;
        border-radius: 4px;
        display: block;
        margin: 20px 0;
        padding: 15px;
        text-align: left;
    }
    .alert {
        background-color: #faebeb;
        border: 1px solid #dc7070;
        color: #212121;
    }
    .address {
        background-color: #f6f5ef;
        border: 1px solid #cdc9a5;
        color: #212121;
    }
    .notice {
        background-color: #fbf9e9;
        border: 1px solid #e3cf57;
        color: #212121;
    }
    .success {
        background-color: #f9fde8;
        border: 1px solid #a2bc13;
        color: #212121;
    }
    .download {
        background-color: #fff4e5;
        border: 1px solid #ff9912;
        color: #212121;
    }
    .information {
        background-color: #eef3f6;
        border: 1px solid #6ca6cd;
        color: #212121;
    }
    .required {
        color: #d5243f;
    }
    /* =WooCommerce
    -------------------------------------------------------------- */
    #breadcrumb {
        padding: 40px 0 0 0;
    }
    #breadcrumb a {
        color: #0066cc;
        font-size: 12px;
        font-weight: 400;
    }
    #breadcrumb a:hover {
        color: #444444;
        text-decoration: none;
    }
    #content-woocommerce {
        margin-top: 40px;
        margin-bottom: 20px;
    }
    .products ul, ul.products {
        margin-top: 40px;
    }
    .cart-collaterals .shipping_calculator {
        width: 100%;
    }
    table.shop_table {
        table-layout: fixed;
        -ms-word-break: break-all;
        word-break: break-all;
        -webkit-hyphens: auto;
        -moz-hyphens: auto;
        hyphens: auto;
    }
    @media screen and (max-width:767px) {
        table.shop_table {
            font-size: 10px;
        }
    }
    @media screen and (max-width:400px) {
        table.shop_table {
            font-size: 8px;
        }
    }
    table.cart td.actions .coupon .input-text,
    table.cart td.actions .coupon .input-text {
        cursor: text;
    }
    /* =WPML
    -------------------------------------------------------------- */
    .icl_languages_selector {
        float: right;
        text-align: left
    }
    .rtl .icl_languages_selector {
        float: left;
        text-align: right
    }
    @media screen and (max-width: 650px) {
        .icl_languages_selector,
        .rtl .icl_languages_selector {
            float: none;
        }
    }
    /* =Polylang
    -------------------------------------------------------------- */
    .widget_polylang li {
        display: inline;
        list-style-type: none;
    }
    /* =Footer
    -------------------------------------------------------------- */
    #footer {
        font-size: 11px;
        line-height: 1.5em;
    }
    #footer a {
        color: #333333;
        font-weight: 400;
    }
    #footer a:hover {
        color: #444444;
    }
    #footer-wrapper .grid.col-940 {
        margin: 0;
    }

    .scroll-top {
        text-align: center;
    }
    #footer-wrapper .contact_div
    {
        margin-bottom: 2.127659574468%!important;
    }
    .copyright {
        text-align: left;
    }
    .powered {
        text-align: right;
    }
    #footer_widget .col-300:nth-child(3n+3) {
        margin-right: 0;
    }
    .social_div {
        background-color:#c9c7c7;
        padding: 2% 0;
    }
    .full-width-no-box #footer-wrapper .footer_div {
        background-color: #585858;
        padding: 2% 0;
        margin-bottom: 10px;
    }
    #scroll {
        position:fixed;
        right:2%;
        bottom:10px;
        cursor:pointer;
        width:50px;
        height:50px;
        background-color:#a8a6a6;
        text-indent:-9999px;
        display:none;
        z-index:99999999;
        -webkit-border-radius:60px;
        -moz-border-radius:60px;
        border-radius:60px
    }
    #scroll span {
        position:absolute;
        top:50%;
        left:50%;
        margin-left:-8px;
        margin-top:-12px;
        height:0;
        width:0;
        border:8px solid transparent;
        border-bottom-color:#fff
    }
    #scroll:hover {background-color:#d1cfcf;}
    .full-width-no-box #footer-wrapper .contact_div {margin-bottom: 0!important;}
    .full-width-no-box #footer .social-icons { text-align: center;}
    .full-width-no-box #footer_widget a {color: #ffffff;}
    .full-width-no-box #footer_widget a:hover {color:edeaea;}
    .full-width-no-box #footer_widget .widget-wrapper {
        border: none;
        color: #ffffff;
        background-color:inherit;
    }
    .full-width-no-box #footer .social-icons li {
        list-style: none;
    display: inline-block;
    padding: 9px 10px;
    border: solid 2px #ffffff;
    border-radius: 50%;
    color: #ffffff;
    width: 30px;
    height: 30px;
    margin: 10px;
    font-size: 26px;
    }
    .full-width-no-box #footer .social-icons li a{
    color:#fff;
    }
    /* =Social Icons
    -------------------------------------------------------------- */
    #footer .social-icons {
        list-style: none;
        line-height: normal;
        padding: 0;
        margin: 0;
        text-align: right;
    }
    #footer .rss-icon,
    #footer .yelp-icon,
    #footer .vimeo-icon,
    #footer .youtube-icon,
    #footer .twitter-icon,
    #footer .facebook-icon,
    #footer .linkedin-icon,
    #footer .rss-feed-icon,
    #footer .instagram-icon,
    #footer .pinterest-icon,
    #footer .foursquare-icon,
    #footer .googleplus-icon,
    #footer .google-plus-icon,
    #footer .stumbleupon-icon,
    #footer .stumble-upon-icon,
    #footer .email-icon {
        display: inline;
        margin: 1px;
        padding-left: 3px;
    }
    /* =Alignments Extras
    -------------------------------------------------------------- */
    .left {
        float: left;
    }
    .right {
        float: right;
    }
    .center {
        text-align: center;
    }
    /* =Clearfix
    -------------------------------------------------------------- */
    .clearfix:after,
    .clearfix:before,
    #container:after,
    #container:before,
    .widget-wrapper:after,
    .widget-wrapper:before {
        content: ' ';
        display: table;
    }
    .clearfix:after,
    #container:after,
    .widget-wrapper:after {
        clear: both;
    }
    .ie7 .clearfix,
    .ie7 #container,
    .ie7 .widget-wrapper {
        -ms-filter: "progid:DXImageTransform.Microsoft.zoom(1)";
    }
    .clear {
        clear: both;
    }
    /* =Begin bidirectionality settings (do not change)
    -------------------------------------------------------------- */
    BDO[DIR="ltr"] {
        direction: ltr;
        unicode-bidi: bidi-override;
    }
    BDO[DIR="rtl"] {
        direction: rtl;
        unicode-bidi: bidi-override;
    }
    [DIR="ltr"] {
        direction: ltr;
        unicode-bidi: embed;
    }
    [DIR="rtl"] {
        direction: rtl;
        unicode-bidi: embed;
    }
    /* =Media Print
        If you're working on a Child Theme, make sure that all
        media queries are included in your style.css
    -------------------------------------------------------------- */
    @media print {
        h1, h2, h3, h4, h5, h6 {
            page-break-after: avoid;
        }
        ul, ol, dl {
            page-break-before: avoid;
        }
    }
    .author-gravtar img{
    border-radius: 50%;
    }
        
    .section_title {
        text-align: center;
        text-transform: uppercase;
        padding-left:40px;
        padding-right:40px;
        margin-top: 17px;
        margin-bottom: 0;
        font-size: 2.250em;    
        font-weight: 700;
    }
    .testimonial_main_div .testimonial_img,.team_main_div .team_img,.feature_main_div .feature_img{
        text-align: center;
        margin-top: 40px;
    }
    .feature_main_div .feature_img img {  width: 130px;  height: 130px;border: 6px solid #ccc; }
    .testimonial_main_div .testimonial_img img,.team_main_div .team_img img {
      width: 178px;
      height: 178px;
      border: 4px solid #fff;
      padding: 4px;
    }
    .testimonial_main_div .testimonial_img img ,.team_main_div .team_img img,.feature_main_div .feature_img img{
        -webkit-border-radius: 100%;
           -moz-border-radius: 100%;
                border-radius: 100%;
        max-height: 12em;
    }
    .testimonial_main_text {
        font-size: 18px;    
        margin-top: 46px;
        line-height: 27px;
        background: url(../../images/testimonial_icon.png) no-repeat 4px 0px;  
        padding-right: 40px;    
    }
    .full-width-no-box .testimonial_main_text {
        font-size: 18px;    
        margin-top: 46px;
        line-height: 27px;
        background: url(../../images/testimonial_icon-other.png) no-repeat 4px 0px;  
        padding-right: 40px;    
    }
    #testimonial_div, #team_div, #about_div, #feature_div  
    {
        -moz-border-radius: 4px;
    -webkit-border-radius: 4px;
    background-color: #ffffff;
    border: 1px solid #e5e5e5;
    border-radius: 4px;
    padding-bottom: 40px;
    width: 99.893617021277%;
    }
    #about_div .about_text {    
        font-size: 18px;    
        padding: 0 10px 0 59px;
    font-weight: 200;
    line-height: 27px;
    }
    //#about_div {text-align: center;}
    #about_div .section_title:after{
        margin-left: 60px;
        border-bottom: solid 2px #555555;
        width: 60px;
        text-align: center;
        position: absolute;
        content: "";
        left: 0;
        right: 0;
        margin: 50px auto auto 60px;
    }
    #about_div .section_title {text-align: left;padding-left: 60px;}
    .about-content a {
        font-size: 20px;
        padding: 15px 15px;
    }
    #testimonial_div .section_title:after, #team_div .section_title:after,#feature_div .section_title:after{
        border-bottom: solid 2px #555555;
        width: 60px;
        text-align: center;
        position: absolute;
        content: "";
        left: 0;
        right: 0;
        margin: 50px auto auto auto;
    }
    .testimonial_author {    
        font-weight: bold;
        font-size: 18px;      
        margin-bottom: 4px;  
        margin: 10px  0 0 29px;
    }
    .testimonial_text {
        margin: 0 0 0 29px;
        font-style: normal;
        font-size: inherit;    
        margin-bottom: 1em;
        padding-top: 22px;
    }
    .team_main_div,.feature_main_div {
        text-align: center;
    }
    .team_main_div .team_member,.feature_main_div .feature_title {
        font-size: 18px;
        font-weight: bold;
        display:block;
        text-align: center;
        margin-top: 10px;
    }
    .team_main_div .team_designation{
        text-align: center;
        font-size: 1.1em;
        margin-top: 10px;
        font-style: italic;
        display:block;
    }
    .team_main_div .social {
        text-align: center;
        margin-top: 10px;
    }
    .team_main_div .social a{
        display:inline-block;
        width:31px;
        height:31px;
        -webkit-border-radius:100%;
        -moz-border-radius:100%;
        border-radius:100%;
        font-size:1em;
        line-height:31x;
        outline:0;
        color:#fff;
        background-color:#222;
        box-sizing: border-box;
        padding-top: 4px;
        -webkit-transition:all .3s;
        -moz-transition:all .3s;
        -o-transition:all .3s;
        transition:all .3s;
    }
    /*#scroll-to-top {
        background: #484848;
        padding: 5px 9px;
        animation-play-state: paused;
        margin-bottom: 1%;
        color:#fff;
        width:20px;
        height:26px;
        font-size:24px;
        text-align:center;    
        cursor: pointer;
        border-radius: 50%;
        position: fixed;
        right: 35px;
        bottom: 50px;
        -webkit-animation: mymove 5s infinite;
        animation: mymove 5s infinite;
    }*/
    .page-template-blog-3-col .post-data {
        margin-top:0px;
    }
    .section-blog {
    width: 33%;
    float: none;
    box-sizing: border-box;
    display: inline-block;
    vertical-align: top;
    padding: 0 12px;
    }
    .blogtitle { margin-top:0;text-align: center;}
    .blog-3-col .read-more a{
        background-color: #1874cd; /* Dodger Blue */
        background-image: -webkit-gradient(linear, left top, left bottom, from(#4f9eea), to(#1874cd));
        background-image: -webkit-linear-gradient(top, #4f9eea, #1874cd);
        background-image: -moz-linear-gradient(top, #4f9eea, #1874cd);
        background-image: -ms-linear-gradient(top, #4f9eea, #1874cd);
        background-image: -o-linear-gradient(top, #4f9eea, #1874cd);
        background-image: linear-gradient(to top, #4f9eea, #1874cd);
        border: 1px solid #115290;
        color: #ffffff;
        -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#4f9eea, endColorstr=#1874cd)";
        text-shadow: 0 -1px 0 #115290;
        box-shadow: 0 1px 0 rgba(255, 255, 255, 0.3) inset;
    border-radius: 2px;
    display: inline-block;
    line-height: 20px;
    margin: 0;
    padding: 5px;
    vertical-align: middle;
    }    
    .section-team,.section-feature {
    width: 33%;
    float: none;
    box-sizing: border-box;
    display: inline-block;
    vertical-align: top;
    }
    .team_desc,.feature_desc {  
        text-align: center;  
        padding: 0 10px 10px;
        margin-top: 14px;
        font-size: 18px;
        font-weight: 200;
        line-height: 27px;
    }
    .contact_div .fa{
        font-size: 2em;
        width: 20px;
        height: 20px;
        line-height: 20px;
    }
    .contact_div .fa-envelope
    {
        font-size: 1.7em;
    }
    .contact_right p {margin:10px 0px 10px 16%;}
    .contact_left span {font-size: 1.1em;
    padding-left: 12px;
    padding-bottom: 39px;
    display: inline-block;
    }
    .contact_div {    
        font-size: 14px;
        box-sizing: border-box;
        padding: 20px;    
        -moz-border-radius: 4px;
    -webkit-border-radius: 4px;
    background-color: #ffffff;
    border: 1px solid #e5e5e5;
    border-radius: 4px;
    background: url('../../core/images/default-contact.jpg');
    background-size:cover;
    color: #ffffff;
    }
    .contact_subtitle {text-align: center;margin: 17px 0 17px 0;font-size: 18px}
    .contact_title {
        text-align: center;
        line-height: 1em;
        text-transform: uppercase;
    padding-left: 40px;
    padding-right: 40px;
    margin-top: 17px;
    margin-bottom: 0;
    font-size: 2.250em;
    font-weight: 700;
    }
    .contact_right label {font-weight: normal;}
    .contact_right .wpcf7{
        width: 100%;
    }
    .contact_right textarea {
    height: 70px;
    padding: 12px 42px 0px 0px;
    color: #f2f2f2;
    background-color: transparent;
    border-radius: 0;
    width: 100%;
    box-shadow: none;
    border-width: 0;
    border-bottom-color: #cec9c4;
    border-bottom-width: 3px;
    }
    .contact_right .wpcf7-submit {
        background-color: #1874cd; /* Dodger Blue */
        background-image: -webkit-gradient(linear, left top, left bottom, from(#4f9eea), to(#1874cd));
        background-image: -webkit-linear-gradient(top, #4f9eea, #1874cd);
        background-image: -moz-linear-gradient(top, #4f9eea, #1874cd);
        background-image: -ms-linear-gradient(top, #4f9eea, #1874cd);
        background-image: -o-linear-gradient(top, #4f9eea, #1874cd);
        background-image: linear-gradient(to top, #4f9eea, #1874cd);
        border: 1px solid #115290;
        color: #ffffff;    
        line-height: 20px;
        padding: 10px 22px;
        box-shadow:none;
        font-weight:normal;
        -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#4f9eea, endColorstr=#1874cd)";
        text-shadow: 0 -1px 0 #115290;
        border-radius: 2px;
        display: inline-block;
        font-weight: 700;
        margin: 0;
        vertical-align: middle;
        white-space: nowrap;
    }
    .contact_right .wpcf7-submit:hover {
    background-color: #7db7f0;
        background-image: -webkit-gradient(linear, left top, left bottom, from(#7db7f0), to(#1874cd));
        background-image: -webkit-linear-gradient(top, #7db7f0, #1874cd);
        background-image: -moz-linear-gradient(top, #7db7f0, #1874cd);
        background-image: -ms-linear-gradient(top, #7db7f0, #1874cd);
        background-image: -o-linear-gradient(top, #7db7f0, #1874cd);
        background-image: linear-gradient(to top, #7db7f0, #1874cd);
        border: 1px solid #115290;
        color: #ffffff;
        -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#7db7f0, endColorstr=#1874cd)";
        border-radius: 2px;
        display: inline-block;
        font-weight: 700;
        margin: 0;
        vertical-align: middle;
        white-space: nowrap;
    }
    .contact_right form { margin-bottom: 0;}
    .contact_left {margin-top: 20px; }
    .contact_right select, .contact_right input[type="text"], .contact_right input[type="password"], .contact_right input[type="email"] {
        width: 100%;
        color: #f2f2f2;
        padding: 12px 2px 2px 0px;
        background-color: transparent;
    border-radius: 0;
    box-shadow: none;
    border-width: 0;
    border-bottom-width: 3px;
    border-bottom-color: #cec9c4;
        }
    .share_buttons_2 {display:none;}
    @media screen and (max-width: 640px) {
          .top-widget { width: 90%; }
          .widget-wrapper{width:160px;padding:0;margin:0;}
           #footer {width:100%;}
         #footer .textwidget{ font-size:8pt; padding: 0 10px; }
          #footer-wrapper { margin: -15px 0 0 -15px; }
          #footer p {font-size:12pt; margin: 0;}
    /* Start navigation color change */
        .main-nav {
            background-color: #800000;
            background-image: -webkit-gradient(linear, left top, left bottom, from(#800000), to(#800000));
            background-image: -webkit-linear-gradient(top, #800000, #800000);
            background-image: -moz-linear-gradient(top, #800000, #800000);
            background-image: -ms-linear-gradient(top, #800000, #800000);
            background-image: -o-linear-gradient(top, #800000, #800000);
            background-image: linear-gradient(to top, #800000, #800000);
            -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#800000, endColorstr=#800000)";
        }
            .full-width-no-box #header {background-color: #800000;    }
            .full-width-no-box .main-nav  {     background-color: #800000;    background-image: none;}
            .full-width-no-box .menu a:hover {    background-color: #800000;background-image: none; color: #f4f2f2; }
            .full-width-no-box .menu li li a:hover {color: #444444;}
            .full-width-no-box ul.menu > li:hover {background-color: #800000;    color: #ffffff;}
            .full-width-no-box .menu .current_page_item a, .full-width-no-box .menu .current-menu-item a {    background-color: #800000; }
            .full-width-no-box .menu {background-color: #800000;background-image: none;}
            .full-width-no-box #testimonial_div  {    background-color:#800000;color: #fff;}
            .full-width-no-box #about_div  {    background-color:#800000;color: #fff; }
        /* =Header Menu (Primary)
        ————————————————————– */
        .menu {
            background-color: #800000;
            background-image: -webkit-gradient(linear, left top, left bottom, from(#800000), to(#800000));
            background-image: -webkit-linear-gradient(top, #800000, #800000);
            background-image: -moz-linear-gradient(top, #800000, #800000);
            background-image: -ms-linear-gradient(top, #800000, #800000);
            background-image: -o-linear-gradient(top, #800000, #800000);
            background-image: linear-gradient(to top, #800000, #800000);
            clear: both;
                -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#800000, endColorstr=#800000)";
            margin: 0 auto;
        }
           .main-nav {    clear: both;    background-color:#FFFFFF;  }
           .full-width-no-box #footer-wrapper .footer_div {    background-color: #800000;}
        .js .main-nav {
                position: relative;
                background-color: #800000;
                background-image: -webkit-gradient(linear, left top, left bottom, from(#800000), to(#800000));
                background-image: -webkit-linear-gradient(top, #800000, #800000);
                background-image: -moz-linear-gradient(top, #800000, #800000);
                background-image: -ms-linear-gradient(top, #800000, #800000);
                background-image: -o-linear-gradient(top, #800000, #800000);
                background-image: linear-gradient(to top, #800000, #800000);
                clear: both;
                -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#800000, endColorstr=#800000)";
                margin: 0 auto;
        }
    /* Start navigation color change */
    }
    @media screen and (max-width: 320px) {
          #footer-wrapper { margin: -25px 0 0 -25px; }
    }

    ','Example Responsive child style sheet','','publish','closed','closed','','example-responsive-child-style-sheet','','','2017-12-07 23:50:25','2017-12-07 23:50:25','',6,'http://www.acctcrop.softwarewebdesign.com/?page_id=12',0,'page','',0),(13,1,'2017-12-07 23:49:42','2017-12-07 23:49:42','
    /*
    Theme Name:     ResponsiveSWD
    Description:    Base on responsive
    Author:         SWD
    Template:       responsive
    (optional values you can add: Theme URI, Author URI, Version, License, License URI, Tags, Text Domain)
    */
    /* CSS Rules: Sorted alphabetically for better organization. */
    /* =Reset CSS (v2.0) http://meyerweb.com/eric/tools/css/reset/
    -------------------------------------------------------------- */
    html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
        border: 0;
        font-size: 100%;
        font: inherit;
        margin: 0;
        padding: 0;
        vertical-align: baseline;
    }
    body.full-width-layout #content-outer, body.default-layout #content-outer,body.full-width-no-box #content-outer {
        margin: 0 auto;
        max-width: 1280px;
    } /* swd 12/9/2017 960 px */
    div.pages {clear:both;margin-bottom:30px;}
    div.pageimgs {clear:both;margin-bottom:20px;width:90%;margin:auto;text-align:center; }
    img.swdgallery { margin: 15px; }                      
    /* swd 11/9/2017 */
    .main-nav {
        background-color: #585858;
        background-image: -webkit-gradient(linear, left top, left bottom, from(#585858), to(#800000));
        background-image: -webkit-linear-gradient(top, #585858, #800000);
        background-image: -moz-linear-gradient(top, #585858, #800000);
        background-image: -ms-linear-gradient(top, #585858, #800000);
        background-image: -o-linear-gradient(top, #585858, #800000);
        background-image: linear-gradient(to top, #585858, #800000);
        -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#585858, endColorstr=#800000)";
    }
    /* swd 11/19/2017  reset back */
    #menu-header, .menu {
            max-width: 960px;
    margin: 0 auto;    
    }
    body.home #wrapper {
        margin: 0 auto 20px auto ;
    }
    body.full-width-layout div#container, body.full-width-layout div#footer, body.full-width-no-box div#container, body.full-width-no-box div#footer {
        width: 100%;
        max-width: 100%;
        padding: 0;
    }
    .full-width-no-box .skip-container { padding: 0px;}
    .full-width-no-box #header {background-color: #585858;    }
    .full-width-no-box .top-menu {margin: 0; padding-top: 4px;}
    .full-width-no-box .main-nav  {
        background-color: #585858;
        background-image: none;
    }
    .full-width-no-box .top-menu li a {
        color: #edeaea;
    }
    .full-width-no-box .top-menu li a:hover {
    color:#f2efef;
    }
    .full-width-layout #testimonial_div, .full-width-layout #team_div,.full-width-layout #about_div,.full-width-layout #feature_div {padding-bottom:0px; }
    .full-width-no-box .menu a:hover {
        background-color: #585858;background-image: none;
        color: #f4f2f2;    
    }
    .full-width-no-box .menu li li a:hover {
        color: #444444;
    }
    .full-width-no-box ul.menu > li:hover {
        background-color: #585858;
        color: #ffffff;
    }
    .full-width-no-box .menu .current_page_item a,
    .full-width-no-box .menu .current-menu-item a {
        background-color: #585858;
    }
    .full-width-no-box .menu {background-color: #585858;background-image: none;}
    .full-width-no-box #featured {border: none;}
    .full-width-no-box #feature_div {border: none;}
    .full-width-no-box #team_div {border: none;}
    .full-width-no-box #testimonial_div  {
        background-color:#585858;
        border-radius: 0;
        color: #fff;
    }
    .full-width-no-box #about_div .section_title::after {border-bottom: solid 2px #fff;}
    .full-width-no-box #testimonial_div .section_title::after {border-bottom: solid 2px #fff;}
    .full-width-no-box #about_div  {
        background-color:#585858;
        padding-bottom: 20px;
        border-radius: 0;
        color: #fff;
    }
    #about_div .about-content h2 {
        position: relative;
    }
    #about_div .about-content { display: inline-block; vertical-align: middle;display:grid;}
    #about_div .about_cta{
        display: inline-block;
        vertical-align: middle;
        margin-top: 69px;
        text-align: center;
    }
    #about_div .about_cta a {
        font-size: 20px;
        padding: 15px 15px;
    }
    .full-width-layout #about_div {border: none; background-color: inherit;}
    .full-width-layout #testimonial_div {border: none;background-color:inherit;}
    .full-width-no-box #testimonial_div {border: none;}
    .full-width-layout #about_div #content-outer { border: 1px solid #e5e5e5;-moz-border-radius: 4px;background-color: #ffffff;-webkit-border-radius: 4px;display: table;width: 100%;border-radius:4px;}
    .full-width-layout #testimonial_div #content-outer {border: 1px solid #e5e5e5;-moz-border-radius: 4px;background-color: #ffffff;-webkit-border-radius: 4px;border-radius:4px;display:table;width: 100%;}
    .full-width-layout .about-content {padding-bottom: 40px;}
    .full-width-no-box .site-name a {color: #ffffff;}
    .post-meta .fa-calendar {
        margin-right: 6px;
    }
    .post-meta .posted-in{
        padding-left: 9px;
    }
    .post-meta .timestamp, .post-meta .vcard {
        border-right: solid 1px #7E7E7E;
        padding-right: 9px;
        display: inline;
    }
    .post-meta .byline {
        padding-left: 9px;
    }
    .breadcrumb {
        padding-right: 4px;
        padding-left: 4px;
    }    
    .breadcrumb-current{padding-left: 4px;}
    #content .responsive { position: relative;}
    #content .responsive::after {
           border-bottom: solid 2px #7c7b7b;
        width: 100px;
        position: absolute;
        content: "";
        left: 0;
        bottom: -9px;
        right: 0;
    }
    .default-layout .sticky-header {background-color:inherit; background-image: none;}
    .main-nav{background-color:#FFFFFF; background-image: none;}
    /* swd 11/19/2017 */
    /*HTML5 display-role reset for older browsers */
    article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
        display: block;
    }
    body {
        line-height: 1;
    }
    ol, ul {
        list-style: none;
    }
    blockquote, q {
        quotes: none;
    }
    blockquote:before, blockquote:after, q:before, q:after {
        content: '';
        content: none;
    }
    table {
        border-collapse: collapse;
        border-spacing: 0;
    }
    button, input, select, textarea {
        font-size: 100%;
        overflow: visible;
        margin: 0;
        vertical-align: baseline;
        width: auto;
    }
    textarea {
        overflow: auto;
        vertical-align: text-top;
    }
    /* =Horizontal Rule
    -------------------------------------------------------------- */
    hr {
        background: #dddddd;
        border: none;
        clear: both;
        float: none;
        height: 1px;
        width: 100%;
    }
    hr.space {
        background: #ffffff;
    }
    /* =Base
    -------------------------------------------------------------- */
    html {
        height: 100%;
    }
    body {
        -moz-font-smoothing: antialiased;
        -webkit-font-smoothing: antialiased;
        background: #F8EEE7;
        color: #555555;
        font-family: Arial, Helvetica, sans-serif;
        font-size: 14px;
        -ms-filter: "progid:DXImageTransform.Microsoft.font-smoothing(antialiased)";
        line-height: 1.5em;
        -ms-filter: "progid:DXImageTransform.Microsoft.text-rendering(optimizeLegibility)";
    }
    /* =Typography  swd color
    -------------------------------------------------------------- */
    p {
        word-wrap: break-word;
    }
    i,
    em,
    dfn,
    cite {
        font-style: italic;
    }
    tt,
    var,
    pre,
    kbd,
    samp,
    code {
        font-family: monospace, serif;
        font-style: normal;
    }
    b,
    strong {
        font-weight: 900;
    } /* swd 12/9/2017 */
    pre {
        -moz-box-sizing: border-box;
        -moz-border-radius: 2px;
        -moz-box-shadow: 0 1px 0 #ffffff, inset 0 1px 1px rgba(0, 0, 0, 0.2);
        -webkit-border-radius: 2px;
        -webkit-box-shadow: 0 1px 0 #ffffff, inset 0 1px 1px rgba(0, 0, 0, 0.2);
        -webkit-box-sizing: border-box;
        box-shadow: 0 1px 0 #ffffff, inset 0 1px 1px rgba(0, 0, 0, 0.2);
        box-sizing: border-box;
        background: #f4f4f4;
        border: 1px solid #aaaaaa;
        border-bottom-color: #cccccc;
        border-radius: 2px;
        height: auto;
        margin: 0;
        outline: none;
        padding: 6px 10px;
        vertical-align: middle;
        width: 100%;
        word-wrap: break-word;
        white-space: pre-wrap;
    }
    del {
        color: #555555;
        text-decoration: line-through;
    }
    ins,
    dfn {
        border-bottom: 1px solid #cccccc;
    }
    sup,
    sub,
    small {
        font-size: 85%;
    }
    abbr,
    acronym {
        font-size: 85%;
        letter-spacing: .1em;
        text-transform: uppercase;
    }
    a abbr,
    a acronym {
        border: none;
    }
    dfn[title],
    abbr[title],
    acronym[title] {
        border-bottom: 1px solid #cccccc;
        cursor: help;
    }
    sup {
        vertical-align: super;
    }
    sub {
        vertical-align: sub;
    }
    .sticky-header {
        position: fixed;
        top: 0;
        left: 0px;
        z-index: 200;
        width: 100%;
        background-color: #fff;
        margin: 0 !important;
        opacity:0.9;    
        -webkit-transition: all 0.8s ease-in-out 0s;
        -moz-transition: all 0.8s ease-in-out 0s;
        -o-transition: all 0.8s ease-in-out 0s;
        transition: all 0.8s ease-in-out 0s;
    }
    .admin-bar .sticky-header{
        top:30px;
    }
    /* =Responsive 12 Column Grid
        http://demos.cyberchimps.com/responsivepro/responsive-grid/
    -------------------------------------------------------------- */
    .grid {
        float: left;
        margin-bottom: 2.127659574468%;
        padding-top: 0;
    }
    .grid-right {
        float: right;
        margin-bottom: 2.127659574468%;
        padding-top: 0;
    }
    .col-60,
    .col-140,
    .col-220,
    .col-300,
    .col-380,
    .col-460,
    .col-540,
    .col-620,
    .col-700,
    .col-780,
    .col-860 {
        margin-right: 2.127659574468%;
    }
    .col-60 {
        width: 6.382978723404%;
    }
    .col-140 {
        width: 14.893617021277%;
    }
    .col-220 {
        width: 23.404255319149%;
    }
    .col-300 {
        width: 31.914893617021%;
    }
    .col-380 {
        width: 40.425531914894%;
    }
    .col-460 {
        width: 48.936170212766%;
    }
    .col-540 {
        width: 57.446808510638%;
    }
    .col-620 {
        width: 65.957446808511%;
    }
    .col-700 {
        width: 74.468085106383%;
    }
    .col-780 {
        width: 82.978723404255%;
    }
    .col-860 {
        width: 91.489361702128%;
    }
    .col-940 {
        width: 100%;
    }
    .fit {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    /* =Visibility
    -------------------------------------------------------------- */
    .hidden {
        visibility: hidden;
    }
    .visible {
        visibility: visible;
    }
    .none {
        display: none;
    }
    .hide-desktop {
        display: none;
    }
    .show-desktop {
        display: block;
    }
    /* =Responsive Images
    -------------------------------------------------------------- */
    img {
        -ms-interpolation-mode: bicubic;
        border: 0;
        height: auto;
        max-width: 100%;
        vertical-align: middle;
    }
    .ie8 img {
        height: auto;
        width: auto;
    }
    .ie8 img.size-large {
        max-width: 60%;
        width: auto;
    }
    /* =Responsive Videos
    -------------------------------------------------------------- */
    video {
        width: 100%;
        max-width: 100%;
        height: auto;
    }
    /* =Responsive Embeds/Objects
    -------------------------------------------------------------- */
    embed,
    object {
        max-width: 100%;
    }
    svg:not(:root) {
        overflow: hidden;
    }
    /* =Links
    -------------------------------------------------------------- */
    a {
        color: #0066cc;
        font-weight: 400;
        text-decoration: none;
    }
    a:hover,
    a:focus,
    a:active {
        color: #444444;
        outline: 0;
        text-decoration: none;
    }
    a::-moz-selection {
        background: #999999;
        color: #ffffff;
        text-shadow: none;
    }
    /* =Forms
    -------------------------------------------------------------- */
    label {
        display: inline-block;
        font-weight: 700;
        padding: 2px 0;
    }
    legend {
        padding: 2px 5px;
    }
    fieldset {
        border: 1px solid #cccccc;
        margin: 0 0 1.5em;
        padding: 1em 2em;
    }
    select,
    input[type="text"],
    input[type="password"],
    input[type="email"] {
        -moz-box-sizing: border-box;
        -moz-border-radius: 2px;
        -webkit-box-sizing: border-box;
        -webkit-border-radius: 2px;
        -webkit-box-shadow: 0 1px 0 #ffffff, inset 0 1px 1px rgba(0, 0, 0, 0.2);
        -moz-box-shadow: 0 1px 0 #ffffff, inset 0 1px 1px rgba(0, 0, 0, 0.2);
        box-shadow: 0 1px 0 #ffffff, inset 0 1px 1px rgba(0, 0, 0, 0.2);
        background-color: #ffffff;
        box-sizing: border-box;
        border: 1px solid #aaaaaa;
        border-bottom-color: #cccccc;
        border-radius: 2px;
        cursor: text;
        margin: 0;
        outline: none;
        padding: 6px 8px;
        vertical-align: middle;
        max-width: 100%;
    }
    select {
        height: auto;
        max-width: 100%;
    }
    area,
    textarea {
        -moz-box-sizing: border-box;
        -webkit-box-sizing: border-box;
        -webkit-border-radius: 2px;
        -webkit-box-shadow: 0 1px 0 #ffffff, inset 0 1px 1px rgba(0, 0, 0, 0.2);
        -moz-box-shadow: 0 1px 0 #ffffff, inset 0 1px 1px rgba(0, 0, 0, 0.2);
        background-color: #ffffff;
        box-shadow: 0 1px 0 #ffffff, inset 0 1px 1px rgba(0, 0, 0, 0.2);
        box-sizing: border-box;
        border: 1px solid #aaaaaa;
        border-bottom-color: #cccccc;
        border-radius: 2px;
        height: auto;
        overflow: auto;
        margin: 0;
        outline: none;
        padding: 8px 10px;
        max-width: 100%;
    }
    map area {
        padding: 0px;
        border: 0px;
    }
    input,
    select {
        cursor: pointer;
    }
    area:focus,
    input:focus,
    textarea:focus {
        border: 1px solid #66ccff;
    }
    input[type='text'],
    input[type='password'] {
        cursor: text;
    }
    /* =IE Forms
    -------------------------------------------------------------- */
    .ie7 area,
    .ie7 select,
    .ie7 textarea,
    .ie7 input[type="text"],
    .ie7 input[type="password"],
    .ie7 input[type="email"] {
        width: 96%;
    }
    /* =IE6 Notice
    -------------------------------------------------------------- */
    .msie-box {
        background-color: #f9edbe;
        border: 1px solid #f0c36d;
        color: #212121;
        display: block;
        margin: 0 auto;
        max-width: 960px;
        padding: 10px;
        position: absolute;
        top: 60px;
        text-align: center;
        width: 100%;
    }
    .msie-box a {
        color: #212121;
    }
    /* =Tables
    -------------------------------------------------------------- */
    th,
    td,
    table {
        border: 1px solid #dddddd;
    }
    table {
        border-collapse: collapse;
        width: 100%;
    }
    /* =Lists
    -------------------------------------------------------------- */
    ul {
        list-style-type: disc;
        margin: 0;
        padding: 0;
    }
    ol {
        line-height: 22px;
        list-style-position: outside;
        list-style-type: decimal;
        margin: 0;
        padding: 0;
    }
    dt {
        font-weight: 400;
    }
    /* =Blockquote
    -------------------------------------------------------------- */
    blockquote {
        background: #f9f9f9;
        border: none;
        border-left: 4px solid #d6d6d6;
        margin: 20px;
        overflow: auto;
        padding: 0 0 10px 12px;
    }
    blockquote p {
        font-family: 'Georgia', 'Times New Roman', Times, serif;
        font-style: italic;
        font-size: 18px;
        line-height: 26px;
    }
    /* =Headings
    -------------------------------------------------------------- */
    h1, h2, h3, h4, h5, h6, h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
        font-weight: 700;
        line-height: 1.0em;
        word-wrap: break-word;
    }
    h1 {
        font-size: 2.625em; /* = 42px */
        margin-bottom: .5em;
        margin-top: .5em;
    }
    h2 {
        font-size: 2.250em; /* = 36px */
        margin-bottom: .75em;
        margin-top: .75em;
    }
    h3 {
        font-size: 1.875em; /* = 30px */
        margin-bottom: .857em;
        margin-top: .857em;
    }
    h4 {
        font-size: 1.500em; /* = 24px */
        margin-bottom: 1em;
        margin-top: 1em;
    }
    h5 {
        font-size: 1.125em; /* = 18px */
        margin-bottom: 1.125em;
        margin-top: 1.125em;
    }
    h6 {
        font-size: 1.000em; /* = 16px */
        margin-bottom: 1.285em;
        margin-top: 1.285em;
    }
    /* =Margins & Paddings
    -------------------------------------------------------------- */
    p,
    hr,
    dl,
    pre,
    form,
    table,
    address,
    blockquote {
        margin: 1.6em 0;
    }
    th, td {
        padding: .8em;
    }
    caption {
        padding-bottom: .8em;
    }
    blockquote {
        padding: 0 1em;
    }
    blockquote:first-child {
        margin: .8em 0;
    }
    fieldset {
        margin: 1.6em 0;
        padding: 0 1em 1em;
    }
    legend {
        padding-left: .8em;
        padding-right: .8em;
    }
    legend+* {
        margin-top: 1em;
    }
    input,
    textarea {
        padding: .3em .4em .15em;
    }
    select {
        padding: .1em .2em 0;
    }
    option {
        padding: 0 .4em;
    }
    dt {
        margin-bottom: .4em;
        margin-top: .8em;
    }
    ul {
        list-style-type: disc;
    }
    ol {
        list-style-type: decimal;
    }
    ul,
    ol {
        margin: 0 1.5em 1.5em 0;
        padding-left: 2.0em;
    }
    li ul,
    li ol {
        margin: 0;
    }
    form div {
        margin-bottom: .8em;
    }
    /* =Globals
    -------------------------------------------------------------- */
    #container {
        margin: 0 auto;
        max-width: 1100px;
        padding: 0px 25px;
    }
    /* swd 12/9/2017 */
    #wrapper {
        -webkit-border-radius: 4px;
        -moz-border-radius: 4px;
        background-color: transparent;
        border: 1px solid #e5e5e5;
        border-radius: 4px;
        clear: both;
        margin: 20px auto 20px auto;
        padding: 0 20px 20px 20px;
        position: relative;
    }   /* swd 12/9/2017 bgclr */
    .front-page #wrapper {
        background-color: transparent;
        border: none;
        margin: 20px auto 20px auto;
        padding: 0;
    }
    #header {
        margin: 0;
    }
    #footer {
        clear: both;
        margin: 0 auto;
        max-width: 960px;
        padding: 0 25px 0 25px;
    }
    #footer-wrapper {
        margin: 0;
        padding: 0;
    }
    /* =Header
    -------------------------------------------------------------- */
    #logo {
        float: left;
        margin: 0;
        background-image: url(https://www.lighthouseeldercare.com/wp-content/images/image004.png); background-repeat: no-repeat;
       background-position: top 10px;
    }
    .site-name {
        display: block;
        font-size: 40px; /* = 33px */
        line-height: 1.0em;
        padding-top: 20px;
        margin-left:80px;
    }
    .site-name a {
        color: #333333;
        font-weight: 700;
    }
    .site-description {
        color: #000000;
        display: block;
        font-size: 20px; /* = 14px */
        margin: 10px 0 20px 80px;
    }
    /* swd 11/29/2017  top 4 entries*/
    /* =Content
    -------------------------------------------------------------- */
    #content {
        margin-top: 40px;
        margin-bottom: 20px;
    }
    #content-full {
        margin-top: 40px;
        margin-bottom: 20px;
    }
    #content-blog {
        margin-top: 40px;
        margin-bottom: 20px;
    }
    #content-images {
        margin-bottom: 20px;
    }
    #content-search {
        margin-bottom: 20px;
        margin-top: 20px;
    }
    #content-archive {
        margin-top: 40px;
        margin-bottom: 20px;
    }
    #content-sitemap {
        margin-top: 40px;
        margin-bottom: 20px;
    }
    #content-sitemap a {
        font-size: 12px;
    }
    #content .sticky {
        clear: both;
    }
    #content .sticky p {
    }
    /* =Templates (Landing Page)
    -------------------------------------------------------------- */
    .page-template-landing-page-php .menu,
    .page-template-landing-page-php .top-menu,
    .page-template-landing-page-php .main-nav,
    .page-template-landing-page-php .footer-menu,
    .page-template-landing-page-php .sub-header-menu {
        display: none;
    }
    /* =Author Meta (Author's Box)
    -------------------------------------------------------------- */
    #author-meta {
        -moz-border-radius: 4px;
        -webkit-border-radius: 4px;
        background: #f9f9f9;
        border: 1px solid #d6d6d6;
        border-radius: 4px;
        clear: both;
        display: block;
        margin: 30px 0 40px 0;
        padding: 10px;
        overflow: hidden;
    }
    #author-meta img {
        float: left;
        padding: 10px 15px 0 5px;
    }
    #author-meta p {
        margin: 0;
        padding: 5px;
    }
    #author-meta .about-author {
        font-weight: 700;
        margin: 10px 0 0 0;
    }
    /* =Featured Content
    -------------------------------------------------------------- */
    #featured {
        -moz-border-radius: 4px;
        -webkit-border-radius: 4px;
        background-color: #transparent;
        border: 1px solid #e5e5e5;
        border-radius: 4px;
        margin-top:20px;
        padding-bottom: 40px;
        width: 99.893617021277%;
    } /* swd 12/9/2017 bgclr */
    #featured p {
        font-size: 18px;
        font-weight: 200;
        line-height: 27px;
        padding: 0 40px 0 40px;
        text-align: center;
    }
    #featured-image {
        margin: 40px 0 0 0;
    }
    #featured-image .fluid-width-video-wrapper {
        margin-left: -20px;
    }
    .featured-image img {
        margin-top: 44px;
    }
    /* =Post
    -------------------------------------------------------------- */
    .comments-link {
        font-size: 12px;
    }
    #cancel-comment-reply-link {
        color: #990000;
    }
    .post-data {
        clear: both;
        font-size: 12px;
        font-weight: 700;
        margin-top: 20px;
    }
    .post-data a {
        color: #111111;
    }
    .post-entry {
        clear: both;
    }
    .post-meta {
        clear: both;
        color: #7E7E7E;
        font-size: 12px;
        margin-bottom: 10px;
    }
    .post-edit {
        clear: both;
        display: block;
        font-size: 12px;
        margin: 1.5em 0;
    }
    .post-search-terms {
        clear: both;
    }
    .read-more {
        clear: both;
        font-weight: 700;
    }
    .attachment-entry {
        clear: both;
        text-align: center;
    }
    /* =bbPress
        bbPress has its own breadcrumb lists
    -------------------------------------------------------------- */
    .bbPress .breadcrumb-list {
        display: none;
    }
    /* =Symbols
    -------------------------------------------------------------- */
    .ellipsis {
        color: #aaaaaa;
        font-size: 18px;
        margin-left: 5px;
    }
    .form-allowed-tags {
        display: none;
        font-size: 10px;
    }
    /* =Widgets
    -------------------------------------------------------------- */
    .widget-wrapper {
        -webkit-border-radius: 4px;
        -moz-border-radius: 4px;
        background-color: #f9f9f9;
        border: 1px solid #e5e5e5;
        border-radius: 4px;
        margin: 0 0 20px;
        padding: 20px;
    }
    .widget-wrapper select,
    .widget-wrapper input[type="text"],
    .widget-wrapper input[type="password"],
    .widget-wrapper  input[type="email"] {
        width: 75%;
    }
    #widgets {
        margin-top: 40px;
    }
    #widgets a {
        display: inline-block;
        margin: 0;
        padding: 0;
        text-decoration: none;
    }
    #widgets form {
        margin: 0;
    }
    #widgets ul,
    #widgets ol {
        padding: 0 0 0 20px;
    }
    #widgets ul li a {
        display: inline;
        text-decoration: none;
    }
    #widgets .widget-title img {
        float: right;
        height: 11px;
        position: relative;
        top: 4px;
        width: 11px;
    }
    #widgets .rss-date {
        line-height: 18px;
        padding: 6px 12px;
    }
    #widgets .rssSummary {
        padding: 10px;
    }
    #widgets cite {
        font-style: normal;
        line-height: 18px;
        padding: 6px 12px;
    }
    #widgets .tagcloud,
    #widgets .textwidget {
        display: block;
        line-height: 1.5em;
        margin: 0;
        word-wrap: break-word;
    }
    #widgets .textwidget a {
        display: inline;
    }
    #widgets ul .children {
        padding: 0 0 0 10px;
    }
    #widgets .author {
        font-weight: 700;
        padding-top: 4px;
    }
    .widget_archive select, #cat {
        display: block;
        margin: 0 15px 0 0;
    }
    #colophon-widget ul {
    }
    .colophon-widget {
        background: none;
        min-height: 0;
    }
    .colophon-widget select,
    .colophon-widget input[type="text"],
    .colophon-widget input[type="password"],
    .colophon-widget input[type="email"] {
        width: 100%;
    }
    #top-widget {
    }
    .top-widget {
        background: none;
        border: none;
        clear: right;
        float: right;
        min-height: 0;
        padding: 0 3px 0 0;
        text-align: right;    width: 35%;
    } /* swd 12/9/2017 */
    .top-widget ul {
        padding: 0;
    }
    .top-widget select,
    .top-widget input[type="text"],
    .top-widget input[type="password"],
    .top-widget input[type="email"] {
        width: auto;
    }
    .top-widget #searchform {
        margin: 0;
    }
    /* =Titles
    -------------------------------------------------------------- */
    .featured-title {
        font-size: 60px;
        letter-spacing: -1px;
        margin: 0;
        padding-top: 40px;
        text-align: center;
    }
    .featured-subtitle {
        padding: 0 10px;
        text-align: center;
    }
    .widget-title h3,
    .widget-title-home h3 {
        display: block;
        font-size: 24px;
        font-weight: 700;
        line-height: 23px;
        margin: 0;
        padding: 0 0 20px 0;
        text-align: left;
    }
    .top-widget .widget-title h3 {
        font-size: 14px;
        padding: 0;
        text-align: right;
    }
    .widget-title a {
        border-bottom: none;
        padding: 0 !important;
    }
    .title-404 {
        color: #993333;
    }
    /* =404 Page
    -------------------------------------------------------------- */
    .error404 select,
    .error404 input[type="text"],
    .error404 input[type="password"],
    .error404 input[type="email"] {
        width: auto;
    }
    /* =Accessibility
    -------------------------------------------------------------- */
    .screen-reader-text{
        position: absolute !important;
        clip: rect(1px, 1px, 1px, 1px);
    }
    .screen-reader-text:focus
    {
        clip:auto;
    }
    /* =Skip Links
    -------------------------------------------------------------- */
    .skip-container {
        display: block;
        padding: 0.5em 0.5em 0.5em 0;
        position: relative;
    }
    .skip-link {
        background: #f5f5f5;
        border: 1px solid #d5d5d5;
        -webkit-border-radius: 3px;
        -moz-border-radius: 3px;
        border-radius: 3px;
        float: right;
        font-size: 0.8125em;
        margin-left: -100%;
        padding: 0.5em;
        text-transform: uppercase;
    }
    .skip-link:hover,
    .skip-link:active,
    .skip-link:focus {
        border: 1px solid #666;
        margin-left:-20%;
    }
    .custom-background .site {
        -webkit-box-shadow: 0 -5px 5px 4px #d5d5d5;
        -moz-box-shadow: 0 -5px 5px 4px #d5d5d5;
        box-shadow: 0 -5px 5px 4px #d5d5d5;
        margin: 0 auto;
    }

    /* =Top Menu
    -------------------------------------------------------------- */
    .top-menu {
        float: right;
        margin: 10px 0;
        padding: 0;
    }
    .top-menu li {
        display: inline;
        list-style-type: none;
    }
    .top-menu li a {
        border-left: 1px solid #cccccc;
        color: #333333;
        font-size: 11px;
        padding: 0 4px 0 8px;
    }
    .top-menu > li:first-child > a {
        border-left: none;
    }
    .top-menu li a:hover {
        color: #333333;
    }
    /* =Header Menu (Primary)
    -------------------------------------------------------------- */
    .menu {
        background-color: #585858;
        background-image: -webkit-gradient(linear, left top, left bottom, from(#585858), to(#800000));
        background-image: -webkit-linear-gradient(top, #585858, #800000);
        background-image: -moz-linear-gradient(top, #585858, #800000);
        background-image: -ms-linear-gradient(top, #585858, #800000);
        background-image: -o-linear-gradient(top, #585858, #800000);
        background-image: linear-gradient(to top, #585858, #800000);
        clear: both;
            -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#585858, endColorstr=#800000)";
        margin: 0 auto;
    }
    .main-nav {
        clear: both;
        background-color:#FFFFFF;
    }
    /* swd 11/19/2017 */
    .menu {
        display: block;
        list-style-type: none;
        padding: 0;
    }
    .menu ul {
        display: block;
        list-style-type: none;
        margin: 0;
        padding: 0;
    }
    .menu li {
        border: 0;
        display: block;
        float: left;
        margin: 0;
        padding: 0;
        position: relative;
        z-index: 5;
    }
    .menu li:hover {
        white-space: normal;
        z-index: 10000;
    }
    .menu li li {
        float: none;
    }
    .menu ul {
        left: 0;
        position: absolute;
        top: 0;
        visibility: hidden;
        z-index: 10;
    }
    .menu li:hover > ul {
        top: 100%;
        visibility: visible;
    }
    .menu li li:hover > ul {
        left: 100%;
        top: 0;
    }
    .menu:after,
    .menu ul:after {
        clear: both;
        content: '.';
        display: block;
        height: 0;
        overflow: hidden;
        visibility: hidden;
    }
    .menu,
    .menu ul {
        min-height: 0;
    }
    .menu ul,
    .menu ul ul {
        margin: 0;
        padding: 0;
    }
    .menu ul li a:hover,
    .menu li li a:hover {
        color: #484848;
        text-decoration: none;
    }
    .menu ul {
        margin-top: 1px;
        min-width: 15em;
        width: auto;
    }
    .menu a {
        border-left: 1px solid #585858;
        color: #ffffff;
        cursor: pointer;
        display: block;
        font-size: 13px;
        font-weight: 700;
        height: 45px;
        line-height: 45px;
        margin: 0;
        padding: 0 0.9em;
        position: relative;
        text-decoration: none;
        text-shadow: 0 -1px 0 #000000;
        white-space: nowrap;
    }
    .menu a:hover {
        background-color: #808080;
        background-image: -webkit-gradient(linear, left top, left bottom, from(#808080), to(#363636));
        background-image: -webkit-linear-gradient(top, #808080, #363636);
        background-image: -moz-linear-gradient(top, #808080, #363636);
        background-image: -ms-linear-gradient(top, #808080, #363636);
        background-image: -o-linear-gradient(top, #808080, #363636);
        background-image: linear-gradient(to top, #808080, #363636);
        color: #ffffff;
            -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#808080, endColorstr=#363636)";
    }
    ul.menu > li:hover {
        background-color: #363636;
        color: #ffffff;
    }
    .menu .current_page_item a,
    .menu .current-menu-item a {
        background-color: #343434;
    }
    .front-page .menu .current_page_item a {
        background: none;
        background-color: transparent;
        background-image: none;
        filter: none;
    }
    .menu li li {
        background: #ffffff;
        background-image: none;
        border: 1px solid #e5e5e5;
        color: #444444;
        filter: none;
        margin: -1px 0 1px 0;
        width: auto;
    }
    .menu li li a {
        background: transparent !important;
        border: none;
        color: #444444;
        font-size: 12px;
        font-weight: 400;
        height: auto;
        height: 20px;
        line-height: 20px;
        padding: 5px 10px;
        text-shadow: none;
        white-space: nowrap;
    }
    .menu li li a:hover {
        background: #f5f5f5 !important;
        background-image: none;
        border: none;
        color: #444444;
        filter: none;
    }
    .menu li li:hover {
        background: #f5f5f5 !important;
        filter: none;
    }
    .menu ul > li + li {
        border-top: 0;
    }
    .menu li li:hover > ul {
        left: 100%;
        top: 0;
    }
    .menu > li:first-child > a {
        border-left: none;
    }
    .menu a#responsive_menu_button {
        display: none;
    }
    .main-nav #responsive_current_menu_item {
        display: none;
    }
    /*.js .main-nav .menu {*/
    /*display: block;*/
    /*}*/
    /* =Primary Main Menu IE Fixes
    -------------------------------------------------------------- */
    .ie7 .menu ul {
        background: url(../../core/images/ie7-fix.gif) repeat;
    }
    .ie7 .menu li li a {
        min-width: 100%;
    }
    .full-width-no-box #wrapper {
        margin: 0 auto 20px auto ;
    }

    /* =Sub-Header Menu
    -------------------------------------------------------------- */
    .sub-header-menu {
        background-color: transparent;
        //border: 1px solid #e5e5e5;
        //border-top: none;
        //clear: both;
        max-width: 960px;
        margin: 0 auto;
        display: block;
        padding: 0;
        list-style-type: none; text-align:center;
    }   /* swd 12/9/2017 bgclr  */
    .sub-nav{
        background-color: transparent;
        border: 1px solid #e5e5e5;
        border-top: none;
        clear: both;
    }  /* swd 12/9/2017 bgclr  */
    .sub-header-menu ul {
        display: block;
        list-style-type: none;
        margin: 0;
        padding: 0;
    }
    .sub-header-menu li {
      display:inline-block;   float:none;   margin-left: -5px; width:16%;
    } /* swd 12/9/2017  border: 0;     display: block;     float: left;     margin: 0;     padding: 0;     position: relative;     z-index: 5; menu item space*/
    .sub-header-menu li:hover {
        white-space: normal;
        z-index: 10000;
    }
    .sub-header-menu li li {
      display:block; text-align:left
    } /* swd 12/9/2017 float: none; */
    .sub-header-menu ul {
        left: 0;
        position: absolute;
        top: 0;
        visibility: hidden;
        z-index: 10;
    }
    .sub-header-menu li:hover > ul {
        top: 100%;
        visibility: visible;
    }
    .sub-header-menu li li:hover > ul {
        left: 100%;
        top: 0;
    }
    .sub-header-menu:after,
    .sub-header-menu ul:after {
        clear: both;
        content: '.';
        display: block;
        height: 0;
        overflow: hidden;
        visibility: hidden;
    }
    .sub-header-menu,
    .sub-header-menu ul {
        min-height: 0;
    }
    .sub-header-menu ul,
    .sub-header-menu ul ul {
        margin: 0;
        padding: 0;
    }
    .sub-header-menu ul li a:hover,
    .sub-header-menu li li a:hover {
        color: #484848;
        text-decoration: none;
    }
    .sub-header-menu ul {
        margin-top: 1px;
        min-width: 15em;
        width: auto;
    }
    .sub-header-menu a {
        border-left: 1px solid #e5e5e5;
        color: #333333;
        cursor: pointer;
        display: block;
        font-size: 12px;
        font-weight: 400;
        height: 35px;
        line-height: 35px;
        margin: 0;
        position: relative;
        text-decoration: none;
        text-shadow: none;
    }  /* swd 12/9/2017 padding: 0 30px 0 40px;*/
    .sub-header-menu a:hover {
        -moz-background-clip: padding-box;
        -webkit-background-clip: padding-box;
        background-color: #f9f9f9;
        background-clip: padding-box;
    }
    .sub-header-menu .current_page_item a,
    .sub-header-menu .current-menu-item a {
        background-color: #f9f9f9;
    }
    .sub-header-menu li li {
        background: #ffffff;
        background-image: none;
        border: 1px solid #e5e5e5;
        color: #444444;
        filter: none;
        margin: -1px 0 1px 0;
        width: auto;
    } /* swd 12/9/2017  no change*/
    .sub-header-menu li li a {
        border: none;
        color: #444444;
        font-size: 12px;
        font-weight: 400;
        height: auto;
        height: 20px;
        line-height: 20px;
        padding: 5px 10px;
        text-shadow: none;
        white-space: nowrap;
    }
    .sub-header-menu li li a:hover {
        background: #f9f9f9;
        background-image: none;
        border: none;
        color: #444444;
        filter: none;
    }
    .sub-header-menu ul > li + li {
        border-top: 0;
    }
    .sub-header-menu li li:hover > ul {
        left: 100%;
        top: 0;
    }
    .sub-header-menu > li:first-child > a {
        border-left: none;
    }
    .sub-header-menu ul.children a,
    .sub-header-menu .current_page_ancestor,
    .sub-header-menu .current_page_ancestor ul a {
        background: none;
        background-image: none;
        filter: none;
    }
    /* =Sub Header Menu IE Fixes
    -------------------------------------------------------------- */
    .ie7 .sub-header-menu ul {
        background: url(../../core/images/ie7-fix.gif) repeat;
    }
    .ie7 .sub-header-menu li li a {
        min-width: 100%;
    }
    /* =Footer Menu
    -------------------------------------------------------------- */
    .footer-menu {
        margin-left: 0;
        padding: 0;
    }
    .footer-menu li {
        display: inline;
        list-style-type: none;
    }
    .footer-menu li a {
        border-left: 1px solid #cccccc;
        color: #333333;
        padding: 0 8px;
    }
    .footer-menu li a:hover {
        color: #222222;
    }
    .footer-menu > li:first-child > a {
        border-left: none;
        padding: 0 8px 0 0;
    }
    /* =Navigation
    -------------------------------------------------------------- */
    .navigation {
        color: #111111;
        display: block;
        font-size: 13px;
        height: 28px;
        line-height: 28px;
        margin: 20px 0;
        padding: 0 5px;
    }
    .navigation a {
        color: #aaaaaa;
        padding: 4px 10px;
    }
    .navigation a:hover {
        color: #111111;
        text-decoration: none;
    }
    .navigation .previous {
        float: left;
    }
    .navigation .next {
        float: right;
    }
    .navigation .bracket {
        font-size: 36px;
    }
    /* =Pagination (pages)
    -------------------------------------------------------------- */
    .pagination {
        clear: both;
        display: block;
        font-size: 16px;
        font-weight: 700;
        margin: 10px 0;
        padding: 5px 0;
    }
    .pagination a {
        text-decoration: none;
    }
    /* =Breadcrumb Lists
    -------------------------------------------------------------- */
    .breadcrumb-list {
        font-size: 12px;
    }
    /* =Comments
    -------------------------------------------------------------- */
    #commentform {
        margin: 0;
    }
    .commentlist {
        border-bottom: 1px solid #e5e5e5;
        list-style: none;
        margin: 0;
        padding: 0;
    }
    .commentlist ol {
        list-style: decimal;
    }
    .commentlist li {
        -webkit-border-radius: 4px;
        -moz-border-radius: 4px;
        background-color: #ffffff;
        border-radius: 4px;
        margin: 0;
    }
    .commentlist .bypostauthor {
    }
    .commentlist li cite {
        color: #111111;
        font-size: 1.1em;
        font-style: normal;
        font-weight: 400;
    }
    .commentlist li.alt {
        background: #f9f9f9;
    }
    .commentlist .children {
        list-style: none;
        margin-left: 10px;
        padding: 10px;
    }
    .commentlist .avatar {
        -webkit-border-radius: 2px;
        -moz-border-radius: 2px;
        border-radius: 2px;
        float: left;
        margin-right: 10px;
        padding: 0;
        vertical-align: middle;
    }
    .comment-author .fn {
    }
    .comment-author .says {
        color: #999999;
    }
    .comment-body .comment-meta {
        color: #999999;
        display: inline-block;
        margin: 0;
        padding: 0;
        text-align: left;
    }
    .comment-body .comment-meta a {
        font-size: 11px;
    }
    .comment-body {
        clear: both;
        padding: 10px;
    }
    .comment-body p {
        clear: both;
    }
    .comment-body .reply {
    }
    .pingback, .trackback {
        list-style: none;
        margin: 20px 0;
    }
    .pingback cite,
    .trackback cite {
        font-style: normal;
    }
    #pings,
    #comments {
        text-align: left;
    }
    #respond {
        -moz-border-radius: 4px;
        -webkit-border-radius: 4px;
        background-color: #eaeaea;
        background-image: -webkit-gradient(linear, left top, left bottom, from(#ffffff), to(#eaeaea));
        background-image: -webkit-linear-gradient(top, #ffffff, #eaeaea);
        background-image: -moz-linear-gradient(top, #ffffff, #eaeaea);
        background-image: -ms-linear-gradient(top, #ffffff, #eaeaea);
        background-image: -o-linear-gradient(top, #ffffff, #eaeaea);
        background-image: linear-gradient(to top, #ffffff, #eaeaea);
        border: 1px solid #cccccc;
        border-bottom-color: #aaaaaa;
        border-radius: 4px;
        clear: both;
        -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff, endColorstr=#eaeaea)";
        margin-top: 15px;
        padding: 10px 20px 50px;
    }
    #respond label {
        display: inline;
    }
    .reply {
        margin: 10px 0;
    }
    .comment-form-url input,
    .comment-form-email input,
    .comment-form-author input,
    .comment-form-comment textarea {
        display: block;
        width: 100%;
    }
    .nocomments {
        color: #999999;
        font-size: .9em;
        text-align: center;
    }
    /* =Gallery
    -------------------------------------------------------------- */
    /* Normal */
    .gallery-columns-1 .gallery-item {
        max-width: 600px;
    }
    .gallery-columns-2 .gallery-item {
        max-width: 300px;
    }
    .gallery-columns-3 .gallery-item {
        max-width: 200px;
    }
    .gallery-columns-4 .gallery-item {
        max-width: 150px;
    }
    .gallery-columns-5 .gallery-item {
        max-width: 120px;
    }
    .gallery-columns-6 .gallery-item {
        max-width: 100px;
    }
    .gallery-columns-7 .gallery-item {
        max-width: 85px;
    }
    .gallery-columns-8 .gallery-item {
        max-width: 75px;
    }
    .gallery-columns-9 .gallery-item {
        max-width: 66px;
    }
    /* Full Width */
    .page-template-full-width-page-php .gallery-columns-1 .gallery-item,
    .page-template-landing-page.php .gallery-columns-1 .gallery-item {
        max-width: 900px;
    }
    .page-template-full-width-page-php .gallery-columns-2 .gallery-item,
    .page-template-landing-page.php .gallery-columns-2 .gallery-item {
        max-width: 450px;
    }
    .page-template-full-width-page-php .gallery-columns-3 .gallery-item,
    .page-template-landing-page.php .gallery-columns-3 .gallery-item {
        max-width: 300px;
    }
    .page-template-full-width-page-php .gallery-columns-4 .gallery-item,
    .page-template-landing-page.php .gallery-columns-4 .gallery-item {
        max-width: 225px;
    }
    .page-template-full-width-page-php .gallery-columns-5 .gallery-item,
    .page-template-landing-page.php .gallery-columns-5.gallery-item {
        max-width: 180px;
    }
    .page-template-full-width-page-php .gallery-columns-6 .gallery-item,
    .page-template-landing-page.php .gallery-columns-6 .gallery-item {
        max-width: 150px;
    }
    .page-template-full-width-page-php .gallery-columns-7 .gallery-item,
    .page-template-landing-page.php .gallery-columns-7 .gallery-item {
        max-width: 125px;
    }
    .page-template-full-width-page-php .gallery-columns-8 .gallery-item,
    .page-template-landing-page.php .gallery-columns-8 .gallery-item {
        max-width: 112.5px;
    }
    .page-template-full-width-page-php .gallery-columns-9 .gallery-item,
    .page-template-landing-page.php .gallery-columns-9 .gallery-item {
        max-width: 100px;
    }
    /* =WordPress Core
    -------------------------------------------------------------- */
    .alignnone {
        margin: 5px 20px 20px 0;
    }
    .aligncenter,
    div.aligncenter {
        display: block;
        margin: 5px auto 20px auto;
    }
    .alignright {
        float: right;
        margin: 5px 0 20px 20px;
    }
    .alignleft {
        float: left;
        margin: 5px 20px 20px 0;
    }
    .aligncenter {
        display: block;
        margin: 5px auto;
    }
    a img.alignright {
        float: right;
        margin: 5px 0 20px 20px;
    }
    a img.alignnone {
        margin: 5px 20px 20px 0;
    }
    a img.alignleft {
        float: left;
        margin: 5px 20px 20px 0;
    }
    a img.aligncenter {
        display: block;
        margin-left: auto;
        margin-right: auto;
    }
    .wp-caption {
        background: #f9f9f9;
        border: 1px solid #f0f0f0;
        max-width: 96%;
        padding: 13px 10px 10px 10px;
        text-align: center;
    }
    .wp-caption.alignnone {
        margin: 5px 20px 20px 0;
    }
    .wp-caption.alignleft {
        margin: 5px 20px 20px 0;
    }
    .wp-caption.alignright {
        margin: 5px 0 20px 20px;
    }
    .wp-caption img {
        border: 0 none;
        height: auto;
        margin: 0;
        max-width: 98.5%;
        padding: 0;
        width: auto;
    }
    .wp-caption p.wp-caption-text {
        font-size: 12px;
        line-height: 1.5em;
        margin: 0;
        padding: 10px;
    }
    img.wp-smiley {
        vertical-align: middle;
    }
    /* =WordPress Gallery
    -------------------------------------------------------------- */
    .gallery {
        margin: 0 auto 18px;
    }
    .gallery .gallery-item {
        float: left;
        margin-top: 0;
        text-align: center;
        max-width: 155px;
    }
    .gallery img {
        border: 1px solid #dddddd;
    }
    .gallery .gallery-caption {
        font-size: 12px;
        margin: 0 0 12px;
    }
    .gallery dl {
        margin: 0;
    }
    .gallery br+br {
        display: none;
    }
    .attachment-gallery img {
        background: #ffffff;
        border: 1px solid #f0f0f0;
        display: block;
        height: auto;
        margin: 15px auto;
        max-width: 96%;
        padding: 5px;
        width: auto;
    }
    .gallery-meta .iso,
    .gallery-meta .camera,
    .gallery-meta .shutter,
    .gallery-meta .aperture,
    .gallery-meta .full-size,
    .gallery-meta .focal-length {
        display: block;
    }
    /* =Post Thumbnails
    -------------------------------------------------------------- */
    img.wp-post-image,
    img.attachment-full,
    img.attachment-large,
    img.attachment-medium,
    img.attachment-thumbnail {
        display: block;
        margin: 15px auto;
        width: auto;
    }
    /* =Buttons
    -------------------------------------------------------------- */
    a.button,
    input[type='reset'],
    input[type='button'],
    input[type='submit'] {
        -moz-border-radius: 2px;
        -moz-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.3) inset;
        -webkit-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.3) inset;
        -webkit-border-radius: 2px;
        background-color: #f9f9f9; /* Alabaster */
        background-image: -webkit-gradient(linear, left top, left bottom, from(#f9f9f9), to(#f1f1f1));
        background-image: -webkit-linear-gradient(top, #f9f9f9, #f1f1f1);
        background-image: -moz-linear-gradient(top, #f9f9f9, #f1f1f1);
        background-image: -ms-linear-gradient(top, #f9f9f9, #f1f1f1);
        background-image: -o-linear-gradient(top, #f9f9f9, #f1f1f1);
        background-image: linear-gradient(to top, #f9f9f9, #f1f1f1);
        box-shadow: 0 1px 0 rgba(255, 255, 255, 0.3) inset;
        border: 1px solid #dddddd;
        border-radius: 2px;
        color: #333333;
        cursor: pointer;
        display: inline-block;
        -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#f9f9f9, endColorstr=#f1f1f1)";
        font-size: 14px;
        font-weight: 700;
        line-height: 20px;
        margin: 0;
        padding: 4px 10px;
        text-decoration: none;
        text-shadow: 0 1px 0 #ffffff;
        vertical-align: middle;
        white-space: nowrap;
    }
    a.button:hover,
    input[type='reset']:hover,
    input[type='button']:hover,
    input[type='submit']:hover {
        -moz-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.3) inset;
        -webkit-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.3) inset;
        background-color: #ffffff;
        background-image: -webkit-gradient(linear, left top, left bottom, from(#ffffff), to(#f1f1f1));
        background-image: -webkit-linear-gradient(top, #ffffff, #f1f1f1);
        background-image: -moz-linear-gradient(top, #ffffff, #f1f1f1);
        background-image: -ms-linear-gradient(top, #ffffff, #f1f1f1);
        background-image: -o-linear-gradient(top, #ffffff, #f1f1f1);
        background-image: linear-gradient(to top, #ffffff, #f1f1f1);
        border: 1px solid #dddddd;
        box-shadow: 0 1px 0 rgba(255, 255, 255, 0.3) inset;
        color: #333333;
        -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff, endColorstr=#f1f1f1)";
    }
    a.button:active,
    input[type='reset']:active,
    input[type='button']:active,
    input[type='submit']:active {
        -moz-box-shadow: 0 1px 0 #ffffff, inset 0 1px 1px rgba(0, 0, 0, 0.1);
        -webkit-box-shadow: 0 1px 0 #ffffff, inset 0 1px 1px rgba(0, 0, 0, 0.1);
        background-color: #f9f9f9;
        background-image: -webkit-gradient(linear, left top, left bottom, from(#f9f9f9), to(#f1f1f1));
        background-image: -webkit-linear-gradient(top, #f9f9f9, #f1f1f1);
        background-image: -moz-linear-gradient(top, #f9f9f9, #f1f1f1);
        background-image: -ms-linear-gradient(top, #f9f9f9, #f1f1f1);
        background-image: -o-linear-gradient(top, #f9f9f9, #f1f1f1);
        background-image: linear-gradient(to top, #f9f9f9, #f1f1f1);
        box-shadow: 0 1px 0 #ffffff, inset 0 1px 1px rgba(0, 0, 0, 0.1);
        -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#f9f9f9, endColorstr=#f1f1f1)";
    }
    /* =Buttons (Call to Action)
    -------------------------------------------------------------- */
    .call-to-action {
        text-align: center;
    }
    .call-to-action a.button {
        font-size: 24px;
        padding: 15px 35px;
    }
    .call-to-action a.button:hover {
        text-decoration: none;
    }
    .ie7 .call-to-action a.button {
        padding: 11px 35px 19px 35px;
    }
    /* =Buttons (Sizes)
    -------------------------------------------------------------- */
    .small a.button {
        font-size: 10px;
        padding: 3px 6px;
    }
    .medium a.button {
        font-size: 16px;
        padding: 8px 16px;
    }
    .large a.button {
        font-size: 18px;
        padding: 10px 35px;
    }
    .xlarge a.button {
        font-size: 24px;
        padding: 12px 55px;
    }
    /* =Buttons (Colors)
    -------------------------------------------------------------- */
    a.blue {
        background-color: #1874cd; /* Dodger Blue */
        background-image: -webkit-gradient(linear, left top, left bottom, from(#4f9eea), to(#1874cd));
        background-image: -webkit-linear-gradient(top, #4f9eea, #1874cd);
        background-image: -moz-linear-gradient(top, #4f9eea, #1874cd);
        background-image: -ms-linear-gradient(top, #4f9eea, #1874cd);
        background-image: -o-linear-gradient(top, #4f9eea, #1874cd);
        background-image: linear-gradient(to top, #4f9eea, #1874cd);
        border: 1px solid #115290;
        color: #ffffff;
        -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#4f9eea, endColorstr=#1874cd)";
        text-shadow: 0 -1px 0 #115290;
    }
    a.blue:hover {
        background-color: #7db7f0;
        background-image: -webkit-gradient(linear, left top, left bottom, from(#7db7f0), to(#1874cd));
        background-image: -webkit-linear-gradient(top, #7db7f0, #1874cd);
        background-image: -moz-linear-gradient(top, #7db7f0, #1874cd);
        background-image: -ms-linear-gradient(top, #7db7f0, #1874cd);
        background-image: -o-linear-gradient(top, #7db7f0, #1874cd);
        background-image: linear-gradient(to top, #7db7f0, #1874cd);
        border: 1px solid #115290;
        color: #ffffff;
        -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#7db7f0, endColorstr=#1874cd)";
        text-shadow: 0 -1px 0 #115290;
    }
    /* Begin: Flat button style  */
    a.blue.flat {
        background-image: none;
        border: none;
            background-color: #1874cd;
    }
    /* End: Flat button style  */
    a.red {
        background-color: #cd0000; /* Red 4 */
        background-image: -webkit-gradient(linear, left top, left bottom, from(#ff2323), to(#cd0000));
        background-image: -webkit-linear-gradient(top, #ff2323, #cd0000);
        background-image: -moz-linear-gradient(top, #ff2323, #cd0000);
        background-image: -ms-linear-gradient(top, #ff2323, #cd0000);
        background-image: -o-linear-gradient(top, #ff2323, #cd0000);
        background-image: linear-gradient(to top, #ff2323, #cd0000);
        border: 1px solid #890000;
        color: #ffffff;
        -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#ff2323, endColorstr=#cd0000)";
        text-shadow: 0 -1px 0 #890000;
    }
    a.red:hover {
        background-color: #ff5656;
        background-image: -webkit-gradient(linear, left top, left bottom, from(#ff5656), to(#cd0000));
        background-image: -webkit-linear-gradient(top, #ff5656, #cd0000);
        background-image: -moz-linear-gradient(top, #ff5656, #cd0000);
        background-image: -ms-linear-gradient(top, #ff5656, #cd0000);
        background-image: -o-linear-gradient(top, #ff5656, #cd0000);
        background-image: linear-gradient(to top, #ff5656, #cd0000);
        border: 1px solid #890000;
        color: #ffffff;
        -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#ff5656, endColorstr=#cd0000)";
        text-shadow: 0 -1px 0 #890000;
    }
    a.orange {
        background-color: #ff7f00; /* Dark Orange 1 */
        background-image: -webkit-gradient(linear, left top, left bottom, from(#ffaa55), to(#ff7f00));
        background-image: -webkit-linear-gradient(top, #ffaa55, #ff7f00);
        background-image: -moz-linear-gradient(top, #ffaa55, #ff7f00);
        background-image: -ms-linear-gradient(top, #ffaa55, #ff7f00);
        background-image: -o-linear-gradient(top, #ffaa55, #ff7f00);
        background-image: linear-gradient(to top, #ffaa55, #ff7f00);
        border: 1px solid #bb5d00;
        color: #ffffff;
        -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffaa55, endColorstr=#ff7f00)";
        text-shadow: 0 -1px 0 #bb5d00;
    }
    a.orange:hover {
        background-color: #ffc388;
        background-image: -webkit-gradient(linear, left top, left bottom, from(#ffc388), to(#ff7f00));
        background-image: -webkit-linear-gradient(top, #ffc388, #ff7f00);
        background-image: -moz-linear-gradient(top, #ffc388, #ff7f00);
        background-image: -ms-linear-gradient(top, #ffc388, #ff7f00);
        background-image: -o-linear-gradient(top, #ffc388, #ff7f00);
        background-image: linear-gradient(to top, #ffc388, #ff7f00);
        border: 1px solid #bb5d00;
        color: #ffffff;
        -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffc388, endColorstr=#ff7f00)";
        text-shadow: 0 -1px 0 #bb5d00;
    }
    a.yellow {
        background-color: #ecca06; /* Yellow Gold */
        background-image: -webkit-gradient(linear, left top, left bottom, from(#fff2aa), to(#ffd700));
        background-image: -webkit-linear-gradient(top, #fff2aa, #ffd700);
        background-image: -moz-linear-gradient(top, #fff2aa, #ffd700);
        background-image: -ms-linear-gradient(top, #fff2aa, #ffd700);
        background-image: -o-linear-gradient(top, #fff2aa, #ffd700);
        background-image: linear-gradient(to top, #fff2aa, #ffd700);
        border: 1px solid #bb9e00;
        color: #161300;
        -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#fff2aa, endColorstr=#ffd700)";
        text-shadow: 0 1px 0 #ffffff;
    }
    a.yellow:hover {
        background-color: #fffadd;
        background-image: -webkit-gradient(linear, left top, left bottom, from(#fffadd), to(#ffd700));
        background-image: -webkit-linear-gradient(top, #fffadd, #ffd700);
        background-image: -moz-linear-gradient(top, #fffadd, #ffd700);
        background-image: -ms-linear-gradient(top, #fffadd, #ffd700);
        background-image: -o-linear-gradient(top, #fffadd, #ffd700);
        background-image: linear-gradient(to top, #fffadd, #ffd700);
        border: 1px solid #bb9e00;
        color: #161300;
        -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#fffadd, endColorstr=#ffd700)";
        text-shadow: 0 1px 0 #ffffff;
    }
    a.green {
        background-color: #2e8b57; /* Sea Green 4 */
        background-image: -webkit-gradient(linear, left top, left bottom, from(#4bc380), to(#2e8b57));
        background-image: -webkit-linear-gradient(top, #4bc380, #2e8b57);
        background-image: -moz-linear-gradient(top, #4bc380, #2e8b57);
        background-image: -ms-linear-gradient(top, #4bc380, #2e8b57);
        background-image: -o-linear-gradient(top, #4bc380, #2e8b57);
        background-image: linear-gradient(to top, #4bc380, #2e8b57);
        border: 1px solid #1d5837;
        color: #ffffff;
        -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#4bc380, endColorstr=#2e8b57)";
        text-shadow: 0 -1px 0 #1d5837;
    }
    a.green:hover {
        background-color: #71d09b;
        background-image: -webkit-gradient(linear, left top, left bottom, from(#71d09b), to(#2e8b57));
        background-image: -webkit-linear-gradient(top, #71d09b, #2e8b57);
        background-image: -moz-linear-gradient(top, #71d09b, #2e8b57);
        background-image: -ms-linear-gradient(top, #71d09b, #2e8b57);
        background-image: -o-linear-gradient(top, #71d09b, #2e8b57);
        background-image: linear-gradient(to top, #71d09b, #2e8b57);
        border: 1px solid #1d5837;
        color: #ffffff;
        -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#71d09b, endColorstr=#2e8b57)";
        text-shadow: 0 -1px 0 #1d5837;
    }
    a.olive {
        background-color: #838b83; /* Honey Dew 4 */
        background-image: -webkit-gradient(linear, left top, left bottom, from(#e0e000), to(#838b83));
        background-image: -webkit-linear-gradient(top, #afb4af, #838b83);
        background-image: -moz-linear-gradient(top, #afb4af, #838b83);
        background-image: -ms-linear-gradient(top, #afb4af, #838b83);
        background-image: -o-linear-gradient(top, #afb4af, #838b83);
        background-image: linear-gradient(to top, #afb4af, #838b83);
        border: 1px solid #626862;
        color: #ffffff;
        -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#afb4af, endColorstr=#838b83)";
        text-shadow: 0 -1px 0 #626862;
    }
    a.olive:hover {
        background-color: #c9cdc9;
        background-image: -webkit-gradient(linear, left top, left bottom, from(#c9cdc9), to(#838b83));
        background-image: -webkit-linear-gradient(top, #c9cdc9, #838b83);
        background-image: -moz-linear-gradient(top, #c9cdc9, #838b83);
        background-image: -ms-linear-gradient(top, #c9cdc9, #838b83);
        background-image: -o-linear-gradient(top, #c9cdc9, #838b83);
        background-image: linear-gradient(to top, #c9cdc9, #838b83);
        border: 1px solid #626862;
        color: #ffffff;
        -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#c9cdc9, endColorstr=#838b83)";
        text-shadow: 0 -1px 0 #626862;
    }
    a.purple {
        background-color: #5d478b; /* Medium Purple 4 */
        background-image: -webkit-gradient(linear, left top, left bottom, from(#8771b6), to(#5d478b));
        background-image: -webkit-linear-gradient(top, #8771b6, #5d478b);
        background-image: -moz-linear-gradient(top, #8771b6, #5d478b);
        background-image: -ms-linear-gradient(top, #8771b6, #5d478b);
        background-image: -o-linear-gradient(top, #8771b6, #5d478b);
        background-image: linear-gradient(to top, #8771b6, #5d478b);
        border: 1px solid #3f305e;
        color: #ffffff;
        -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#8771b6, endColorstr=#5d478b)";
        text-shadow: 0 -1px 0 #3f305e;
    }
    a.purple:hover {
        background-color: #a492c8;
        background-image: -webkit-gradient(linear, left top, left bottom, from(#a492c8), to(#5d478b));
        background-image: -webkit-linear-gradient(top, #a492c8, #5d478b);
        background-image: -moz-linear-gradient(top, #a492c8, #5d478b);
        background-image: -ms-linear-gradient(top, #a492c8, #5d478b);
        background-image: -o-linear-gradient(top, #a492c8, #5d478b);
        background-image: linear-gradient(to top, #a492c8, #5d478b);
        border: 1px solid #3f305e;
        color: #ffffff;
        -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#a492c8, endColorstr=#5d478b)";
        text-shadow: 0 -1px 0 #3f305e;
    }
    a.pink {
        background-color: #cd1076; /* Deep Pink 3 */
        background-image: -webkit-gradient(linear, left top, left bottom, from(#f042a0), to(#cd1076));
        background-image: -webkit-linear-gradient(top, #f042a0, #cd1076);
        background-image: -moz-linear-gradient(top, #f042a0, #cd1076);
        background-image: -ms-linear-gradient(top, #f042a0, #cd1076);
        background-image: -o-linear-gradient(top, #f042a0, #cd1076);
        background-image: linear-gradient(to top, #f042a0, #cd1076);
        border: 1px solid #8e0b52;
        color: #ffffff;
        -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#f042a0, endColorstr=#cd1076)";
        text-shadow: 0 -1px 0 #8e0b52;
    }
    a.pink:hover {
        background-color: #f471b8;
        background-image: -webkit-gradient(linear, left top, left bottom, from(#f471b8), to(#cd1076));
        background-image: -webkit-linear-gradient(top, #f471b8, #cd1076);
        background-image: -moz-linear-gradient(top, #f471b8, #cd1076);
        background-image: -ms-linear-gradient(top, #f471b8, #cd1076);
        background-image: -o-linear-gradient(top, #f471b8, #cd1076);
        background-image: linear-gradient(to top, #f471b8, #cd1076);
        border: 1px solid #8e0b52;
        color: #ffffff;
        -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#f471b8, endColorstr=#cd1076)";
        text-shadow: 0 -1px 0 #8e0b52;
    }
    a.brick {
        background-color: #b22222; /* Fire Brick */
        background-image: -webkit-gradient(linear, left top, left bottom, from(#dd4c4c), to(#b22222));
        background-image: -webkit-linear-gradient(top, #dd4c4c, #b22222);
        background-image: -moz-linear-gradient(top, #dd4c4c, #b22222);
        background-image: -ms-linear-gradient(top, #dd4c4c, #b22222);
        background-image: -o-linear-gradient(top, #dd4c4c, #b22222);
        background-image: linear-gradient(to top, #dd4c4c, #b22222);
        border: 1px solid #791717;
        color: #ffffff;
        -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#dd4c4c, endColorstr=#b22222)";
        text-shadow: 0 -1px 0 #791717;
    }
    a.brick:hover {
        background-color: #e57777;
        background-image: -webkit-gradient(linear, left top, left bottom, from(#e57777), to(#b22222));
        background-image: -webkit-linear-gradient(top, #e57777, #b22222);
        background-image: -moz-linear-gradient(top, #e57777, #b22222);
        background-image: -ms-linear-gradient(top, #e57777, #b22222);
        background-image: -o-linear-gradient(top, #e57777, #b22222);
        background-image: linear-gradient(to top, #e57777, #b22222);
        border: 1px solid #791717;
        color: #ffffff;
        -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#e57777, endColorstr=#b22222)";
        text-shadow: 0 -1px 0 #791717;
    }
    a.gold {
        background-color: #8b6508; /* Dark Golden Rod 4 */
        background-image: -webkit-gradient(linear, left top, left bottom, from(#db9f0d), to(#8b6508));
        background-image: -webkit-linear-gradient(top, #db9f0d, #8b6508);
        background-image: -moz-linear-gradient(top, #db9f0d, #8b6508);
        background-image: -ms-linear-gradient(top, #db9f0d, #8b6508);
        background-image: -o-linear-gradient(top, #db9f0d, #8b6508);
        background-image: linear-gradient(to top, #db9f0d, #8b6508);
        border: 1px solid #6b4e06;
        color: #ffffff;
        -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#db9f0d, endColorstr=#8b6508)";
        text-shadow: 0 -1px 0 #6b4e06;
    }
    a.gold:hover {
        background-color: #f3b828;
        background-image: -webkit-gradient(linear, left top, left bottom, from(#f3b828), to(#8b6508));
        background-image: -webkit-linear-gradient(top, #f3b828, #8b6508);
        background-image: -moz-linear-gradient(top, #f3b828, #8b6508);
        background-image: -ms-linear-gradient(top, #f3b828, #8b6508);
        background-image: -o-linear-gradient(top, #f3b828, #8b6508);
        background-image: linear-gradient(to top, #f3b828, #8b6508);
        border: 1px solid #6b4e06;
        color: #ffffff;
        -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#f3b828, endColorstr=#8b6508)";
        text-shadow: 0 -1px 0 #6b4e06;
    }
    a.brown {
        background-color: #8b4513; /* Saddle Brown */
        background-image: -webkit-gradient(linear, left top, left bottom, from(#d66a1d), to(#8b4513));
        background-image: -webkit-linear-gradient(top, #d66a1d, #8b4513);
        background-image: -moz-linear-gradient(top, #d66a1d, #8b4513);
        background-image: -ms-linear-gradient(top, #d66a1d, #8b4513);
        background-image: -o-linear-gradient(top, #d66a1d, #8b4513);
        background-image: linear-gradient(to top, #d66a1d, #8b4513);
        border: 1px solid #4f270b;
        color: #ffffff;
        -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#d66a1d, endColorstr=#8b4513)";
        text-shadow: 0 -1px 0 #4f270b;
    }
    a.brown:hover {
        background-color: #8b4513;
        background-image: -webkit-gradient(linear, left top, left bottom, from(#e58541), to(#8b4513));
        background-image: -webkit-linear-gradient(top, #e58541, #8b4513);
        background-image: -moz-linear-gradient(top, #e58541, #8b4513);
        background-image: -ms-linear-gradient(top, #e58541, #8b4513);
        background-image: -o-linear-gradient(top, #e58541, #8b4513);
        background-image: linear-gradient(to top, #e58541, #8b4513);
        border: 1px solid #4f270b;
        color: #ffffff;
        -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#e58541, endColorstr=#8b4513)";
        text-shadow: 0 -1px 0 #4f270b;
    }
    a.silver {
        background-color: #c0c0c0; /* Silver */
        background-image: -webkit-gradient(linear, left top, left bottom, from(#eaeaea), to(#c0c0c0));
        background-image: -webkit-linear-gradient(top, #eaeaea, #c0c0c0);
        background-image: -moz-linear-gradient(top, #eaeaea, #c0c0c0);
        background-image: -ms-linear-gradient(top, #eaeaea, #c0c0c0);
        background-image: -o-linear-gradient(top, #eaeaea, #c0c0c0);
        background-image: linear-gradient(to top, #eaeaea, #c0c0c0);
        border: 1px solid #9e9e9e;
        color: #444444;
        -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#eaeaea, endColorstr=#c0c0c0)";
        text-shadow: 0 1px 0 #ffffff;
    }
    a.silver:hover {
        background-color: #ffffff;
        background-image: -webkit-gradient(linear, left top, left bottom, from(#ffffff), to(#c0c0c0));
        background-image: -webkit-linear-gradient(top, #ffffff, #c0c0c0);
        background-image: -moz-linear-gradient(top, #ffffff, #c0c0c0);
        background-image: -ms-linear-gradient(top, #ffffff, #c0c0c0);
        background-image: -o-linear-gradient(top, #ffffff, #c0c0c0);
        background-image: linear-gradient(to top, #ffffff, #c0c0c0);
        border: 1px solid #9e9e9e;
        color: #444444;
        -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff, endColorstr=#c0c0c0)";
        text-shadow: 0 1px 0 #ffffff;
    }
    a.gray {
        background-color: #696969; /* Dim Gray */
        background-image: -webkit-gradient(linear, left top, left bottom, from(#939393), to(#696969));
        background-image: -webkit-linear-gradient(top, #939393, #696969);
        background-image: -moz-linear-gradient(top, #939393, #696969);
        background-image: -ms-linear-gradient(top, #939393, #696969);
        background-image: -o-linear-gradient(top, #939393, #696969);
        background-image: linear-gradient(to top, #939393, #696969);
        border: 1px solid #474747;
        color: #ffffff;
        -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#939393, endColorstr=#696969)";
        text-shadow: 0 -1px 0 #474747;
    }
    a.gray:hover {
        background-color: #adadad;
        background-image: -webkit-gradient(linear, left top, left bottom, from(#adadad), to(#696969));
        background-image: -webkit-linear-gradient(top, #adadad, #696969);
        background-image: -moz-linear-gradient(top, #adadad, #696969);
        background-image: -ms-linear-gradient(top, #adadad, #696969);
        background-image: -o-linear-gradient(top, #adadad, #696969);
        background-image: linear-gradient(to top, #adadad, #696969);
        border: 1px solid #474747;
        color: #ffffff;
        -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#adadad, endColorstr=#696969)";
        text-shadow: 0 -1px 0 #474747;
    }
    a.black {
        background-color: #080808; /* Black */
        background-image: -webkit-gradient(linear, left top, left bottom, from(#323232), to(#080808));
        background-image: -webkit-linear-gradient(top, #323232, #080808);
        background-image: -moz-linear-gradient(top, #323232, #080808);
        background-image: -ms-linear-gradient(top, #323232, #080808);
        background-image: -o-linear-gradient(top, #323232, #080808);
        background-image: linear-gradient(to top, #323232, #080808);
        border: 1px solid #000000;
        color: #ffffff;
        -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#323232, endColorstr=#080808)";
        text-shadow: 0 -1px 0 #000000;
    }
    a.black:hover {
        background-color: #4c4c4c;
        background-image: -webkit-gradient(linear, left top, left bottom, from(#4c4c4c), to(#080808));
        background-image: -webkit-linear-gradient(top, #4c4c4c, #080808);
        background-image: -moz-linear-gradient(top, #4c4c4c, #080808);
        background-image: -ms-linear-gradient(top, #4c4c4c, #080808);
        background-image: -o-linear-gradient(top, #4c4c4c, #080808);
        background-image: linear-gradient(to top, #4c4c4c, #080808);
        border: 1px solid #000000;
        color: #ffffff;
        -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#4c4c4c, endColorstr=#080808)";
        text-shadow: 0 -1px 0 #000000;
    }
    /* =Info Boxes
    -------------------------------------------------------------- */
    .info-box {
        -moz-border-radius: 4px;
        -webkit-border-radius: 4px;
        border-radius: 4px;
        display: block;
        margin: 20px 0;
        padding: 15px;
        text-align: left;
    }
    .alert {
        background-color: #faebeb;
        border: 1px solid #dc7070;
        color: #212121;
    }
    .address {
        background-color: #f6f5ef;
        border: 1px solid #cdc9a5;
        color: #212121;
    }
    .notice {
        background-color: #fbf9e9;
        border: 1px solid #e3cf57;
        color: #212121;
    }
    .success {
        background-color: #f9fde8;
        border: 1px solid #a2bc13;
        color: #212121;
    }
    .download {
        background-color: #fff4e5;
        border: 1px solid #ff9912;
        color: #212121;
    }
    .information {
        background-color: #eef3f6;
        border: 1px solid #6ca6cd;
        color: #212121;
    }
    .required {
        color: #d5243f;
    }
    /* =WooCommerce
    -------------------------------------------------------------- */
    #breadcrumb {
        padding: 40px 0 0 0;
    }
    #breadcrumb a {
        color: #0066cc;
        font-size: 12px;
        font-weight: 400;
    }
    #breadcrumb a:hover {
        color: #444444;
        text-decoration: none;
    }
    #content-woocommerce {
        margin-top: 40px;
        margin-bottom: 20px;
    }
    .products ul, ul.products {
        margin-top: 40px;
    }
    .cart-collaterals .shipping_calculator {
        width: 100%;
    }
    table.shop_table {
        table-layout: fixed;
        -ms-word-break: break-all;
        word-break: break-all;
        -webkit-hyphens: auto;
        -moz-hyphens: auto;
        hyphens: auto;
    }
    @media screen and (max-width:767px) {
        table.shop_table {
            font-size: 10px;
        }
    }
    @media screen and (max-width:400px) {
        table.shop_table {
            font-size: 8px;
        }
    }
    table.cart td.actions .coupon .input-text,
    table.cart td.actions .coupon .input-text {
        cursor: text;
    }
    /* =WPML
    -------------------------------------------------------------- */
    .icl_languages_selector {
        float: right;
        text-align: left
    }
    .rtl .icl_languages_selector {
        float: left;
        text-align: right
    }
    @media screen and (max-width: 650px) {
        .icl_languages_selector,
        .rtl .icl_languages_selector {
            float: none;
        }
    }
    /* =Polylang
    -------------------------------------------------------------- */
    .widget_polylang li {
        display: inline;
        list-style-type: none;
    }
    /* =Footer
    -------------------------------------------------------------- */
    #footer {
        font-size: 11px;
        line-height: 1.5em;
    }
    #footer a {
        color: #333333;
        font-weight: 400;
    }
    #footer a:hover {
        color: #444444;
    }
    #footer-wrapper .grid.col-940 {
        margin: 0;
    }

    .scroll-top {
        text-align: center;
    }
    #footer-wrapper .contact_div
    {
        margin-bottom: 2.127659574468%!important;
    }
    .copyright {
        text-align: left;
    }
    .powered {
        text-align: right;
    }
    #footer_widget .col-300:nth-child(3n+3) {
        margin-right: 0;
    }
    .social_div {
        background-color:#c9c7c7;
        padding: 2% 0;
    }
    .full-width-no-box #footer-wrapper .footer_div {
        background-color: #585858;
        padding: 2% 0;
        margin-bottom: 10px;
    }
    #scroll {
        position:fixed;
        right:2%;
        bottom:10px;
        cursor:pointer;
        width:50px;
        height:50px;
        background-color:#a8a6a6;
        text-indent:-9999px;
        display:none;
        z-index:99999999;
        -webkit-border-radius:60px;
        -moz-border-radius:60px;
        border-radius:60px
    }
    #scroll span {
        position:absolute;
        top:50%;
        left:50%;
        margin-left:-8px;
        margin-top:-12px;
        height:0;
        width:0;
        border:8px solid transparent;
        border-bottom-color:#fff
    }
    #scroll:hover {background-color:#d1cfcf;}
    .full-width-no-box #footer-wrapper .contact_div {margin-bottom: 0!important;}
    .full-width-no-box #footer .social-icons { text-align: center;}
    .full-width-no-box #footer_widget a {color: #ffffff;}
    .full-width-no-box #footer_widget a:hover {color:edeaea;}
    .full-width-no-box #footer_widget .widget-wrapper {
        border: none;
        color: #ffffff;
        background-color:inherit;
    }
    .full-width-no-box #footer .social-icons li {
        list-style: none;
    display: inline-block;
    padding: 9px 10px;
    border: solid 2px #ffffff;
    border-radius: 50%;
    color: #ffffff;
    width: 30px;
    height: 30px;
    margin: 10px;
    font-size: 26px;
    }
    .full-width-no-box #footer .social-icons li a{
    color:#fff;
    }
    /* =Social Icons
    -------------------------------------------------------------- */
    #footer .social-icons {
        list-style: none;
        line-height: normal;
        padding: 0;
        margin: 0;
        text-align: right;
    }
    #footer .rss-icon,
    #footer .yelp-icon,
    #footer .vimeo-icon,
    #footer .youtube-icon,
    #footer .twitter-icon,
    #footer .facebook-icon,
    #footer .linkedin-icon,
    #footer .rss-feed-icon,
    #footer .instagram-icon,
    #footer .pinterest-icon,
    #footer .foursquare-icon,
    #footer .googleplus-icon,
    #footer .google-plus-icon,
    #footer .stumbleupon-icon,
    #footer .stumble-upon-icon,
    #footer .email-icon {
        display: inline;
        margin: 1px;
        padding-left: 3px;
    }
    /* =Alignments Extras
    -------------------------------------------------------------- */
    .left {
        float: left;
    }
    .right {
        float: right;
    }
    .center {
        text-align: center;
    }
    /* =Clearfix
    -------------------------------------------------------------- */
    .clearfix:after,
    .clearfix:before,
    #container:after,
    #container:before,
    .widget-wrapper:after,
    .widget-wrapper:before {
        content: ' ';
        display: table;
    }
    .clearfix:after,
    #container:after,
    .widget-wrapper:after {
        clear: both;
    }
    .ie7 .clearfix,
    .ie7 #container,
    .ie7 .widget-wrapper {
        -ms-filter: "progid:DXImageTransform.Microsoft.zoom(1)";
    }
    .clear {
        clear: both;
    }
    /* =Begin bidirectionality settings (do not change)
    -------------------------------------------------------------- */
    BDO[DIR="ltr"] {
        direction: ltr;
        unicode-bidi: bidi-override;
    }
    BDO[DIR="rtl"] {
        direction: rtl;
        unicode-bidi: bidi-override;
    }
    [DIR="ltr"] {
        direction: ltr;
        unicode-bidi: embed;
    }
    [DIR="rtl"] {
        direction: rtl;
        unicode-bidi: embed;
    }
    /* =Media Print
        If you're working on a Child Theme, make sure that all
        media queries are included in your style.css
    -------------------------------------------------------------- */
    @media print {
        h1, h2, h3, h4, h5, h6 {
            page-break-after: avoid;
        }
        ul, ol, dl {
            page-break-before: avoid;
        }
    }
    .author-gravtar img{
    border-radius: 50%;
    }
        
    .section_title {
        text-align: center;
        text-transform: uppercase;
        padding-left:40px;
        padding-right:40px;
        margin-top: 17px;
        margin-bottom: 0;
        font-size: 2.250em;    
        font-weight: 700;
    }
    .testimonial_main_div .testimonial_img,.team_main_div .team_img,.feature_main_div .feature_img{
        text-align: center;
        margin-top: 40px;
    }
    .feature_main_div .feature_img img {  width: 130px;  height: 130px;border: 6px solid #ccc; }
    .testimonial_main_div .testimonial_img img,.team_main_div .team_img img {
      width: 178px;
      height: 178px;
      border: 4px solid #fff;
      padding: 4px;
    }
    .testimonial_main_div .testimonial_img img ,.team_main_div .team_img img,.feature_main_div .feature_img img{
        -webkit-border-radius: 100%;
           -moz-border-radius: 100%;
                border-radius: 100%;
        max-height: 12em;
    }
    .testimonial_main_text {
        font-size: 18px;    
        margin-top: 46px;
        line-height: 27px;
        background: url(../../images/testimonial_icon.png) no-repeat 4px 0px;  
        padding-right: 40px;    
    }
    .full-width-no-box .testimonial_main_text {
        font-size: 18px;    
        margin-top: 46px;
        line-height: 27px;
        background: url(../../images/testimonial_icon-other.png) no-repeat 4px 0px;  
        padding-right: 40px;    
    }
    #testimonial_div, #team_div, #about_div, #feature_div  
    {
        -moz-border-radius: 4px;
    -webkit-border-radius: 4px;
    background-color: #ffffff;
    border: 1px solid #e5e5e5;
    border-radius: 4px;
    padding-bottom: 40px;
    width: 99.893617021277%;
    }
    #about_div .about_text {    
        font-size: 18px;    
        padding: 0 10px 0 59px;
    font-weight: 200;
    line-height: 27px;
    }
    //#about_div {text-align: center;}
    #about_div .section_title:after{
        margin-left: 60px;
        border-bottom: solid 2px #555555;
        width: 60px;
        text-align: center;
        position: absolute;
        content: "";
        left: 0;
        right: 0;
        margin: 50px auto auto 60px;
    }
    #about_div .section_title {text-align: left;padding-left: 60px;}
    .about-content a {
        font-size: 20px;
        padding: 15px 15px;
    }
    #testimonial_div .section_title:after, #team_div .section_title:after,#feature_div .section_title:after{
        border-bottom: solid 2px #555555;
        width: 60px;
        text-align: center;
        position: absolute;
        content: "";
        left: 0;
        right: 0;
        margin: 50px auto auto auto;
    }
    .testimonial_author {    
        font-weight: bold;
        font-size: 18px;      
        margin-bottom: 4px;  
        margin: 10px  0 0 29px;
    }
    .testimonial_text {
        margin: 0 0 0 29px;
        font-style: normal;
        font-size: inherit;    
        margin-bottom: 1em;
        padding-top: 22px;
    }
    .team_main_div,.feature_main_div {
        text-align: center;
    }
    .team_main_div .team_member,.feature_main_div .feature_title {
        font-size: 18px;
        font-weight: bold;
        display:block;
        text-align: center;
        margin-top: 10px;
    }
    .team_main_div .team_designation{
        text-align: center;
        font-size: 1.1em;
        margin-top: 10px;
        font-style: italic;
        display:block;
    }
    .team_main_div .social {
        text-align: center;
        margin-top: 10px;
    }
    .team_main_div .social a{
        display:inline-block;
        width:31px;
        height:31px;
        -webkit-border-radius:100%;
        -moz-border-radius:100%;
        border-radius:100%;
        font-size:1em;
        line-height:31x;
        outline:0;
        color:#fff;
        background-color:#222;
        box-sizing: border-box;
        padding-top: 4px;
        -webkit-transition:all .3s;
        -moz-transition:all .3s;
        -o-transition:all .3s;
        transition:all .3s;
    }
    /*#scroll-to-top {
        background: #484848;
        padding: 5px 9px;
        animation-play-state: paused;
        margin-bottom: 1%;
        color:#fff;
        width:20px;
        height:26px;
        font-size:24px;
        text-align:center;    
        cursor: pointer;
        border-radius: 50%;
        position: fixed;
        right: 35px;
        bottom: 50px;
        -webkit-animation: mymove 5s infinite;
        animation: mymove 5s infinite;
    }*/
    .page-template-blog-3-col .post-data {
        margin-top:0px;
    }
    .section-blog {
    width: 33%;
    float: none;
    box-sizing: border-box;
    display: inline-block;
    vertical-align: top;
    padding: 0 12px;
    }
    .blogtitle { margin-top:0;text-align: center;}
    .blog-3-col .read-more a{
        background-color: #1874cd; /* Dodger Blue */
        background-image: -webkit-gradient(linear, left top, left bottom, from(#4f9eea), to(#1874cd));
        background-image: -webkit-linear-gradient(top, #4f9eea, #1874cd);
        background-image: -moz-linear-gradient(top, #4f9eea, #1874cd);
        background-image: -ms-linear-gradient(top, #4f9eea, #1874cd);
        background-image: -o-linear-gradient(top, #4f9eea, #1874cd);
        background-image: linear-gradient(to top, #4f9eea, #1874cd);
        border: 1px solid #115290;
        color: #ffffff;
        -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#4f9eea, endColorstr=#1874cd)";
        text-shadow: 0 -1px 0 #115290;
        box-shadow: 0 1px 0 rgba(255, 255, 255, 0.3) inset;
    border-radius: 2px;
    display: inline-block;
    line-height: 20px;
    margin: 0;
    padding: 5px;
    vertical-align: middle;
    }    
    .section-team,.section-feature {
    width: 33%;
    float: none;
    box-sizing: border-box;
    display: inline-block;
    vertical-align: top;
    }
    .team_desc,.feature_desc {  
        text-align: center;  
        padding: 0 10px 10px;
        margin-top: 14px;
        font-size: 18px;
        font-weight: 200;
        line-height: 27px;
    }
    .contact_div .fa{
        font-size: 2em;
        width: 20px;
        height: 20px;
        line-height: 20px;
    }
    .contact_div .fa-envelope
    {
        font-size: 1.7em;
    }
    .contact_right p {margin:10px 0px 10px 16%;}
    .contact_left span {font-size: 1.1em;
    padding-left: 12px;
    padding-bottom: 39px;
    display: inline-block;
    }
    .contact_div {    
        font-size: 14px;
        box-sizing: border-box;
        padding: 20px;    
        -moz-border-radius: 4px;
    -webkit-border-radius: 4px;
    background-color: #ffffff;
    border: 1px solid #e5e5e5;
    border-radius: 4px;
    background: url('../../core/images/default-contact.jpg');
    background-size:cover;
    color: #ffffff;
    }
    .contact_subtitle {text-align: center;margin: 17px 0 17px 0;font-size: 18px}
    .contact_title {
        text-align: center;
        line-height: 1em;
        text-transform: uppercase;
    padding-left: 40px;
    padding-right: 40px;
    margin-top: 17px;
    margin-bottom: 0;
    font-size: 2.250em;
    font-weight: 700;
    }
    .contact_right label {font-weight: normal;}
    .contact_right .wpcf7{
        width: 100%;
    }
    .contact_right textarea {
    height: 70px;
    padding: 12px 42px 0px 0px;
    color: #f2f2f2;
    background-color: transparent;
    border-radius: 0;
    width: 100%;
    box-shadow: none;
    border-width: 0;
    border-bottom-color: #cec9c4;
    border-bottom-width: 3px;
    }
    .contact_right .wpcf7-submit {
        background-color: #1874cd; /* Dodger Blue */
        background-image: -webkit-gradient(linear, left top, left bottom, from(#4f9eea), to(#1874cd));
        background-image: -webkit-linear-gradient(top, #4f9eea, #1874cd);
        background-image: -moz-linear-gradient(top, #4f9eea, #1874cd);
        background-image: -ms-linear-gradient(top, #4f9eea, #1874cd);
        background-image: -o-linear-gradient(top, #4f9eea, #1874cd);
        background-image: linear-gradient(to top, #4f9eea, #1874cd);
        border: 1px solid #115290;
        color: #ffffff;    
        line-height: 20px;
        padding: 10px 22px;
        box-shadow:none;
        font-weight:normal;
        -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#4f9eea, endColorstr=#1874cd)";
        text-shadow: 0 -1px 0 #115290;
        border-radius: 2px;
        display: inline-block;
        font-weight: 700;
        margin: 0;
        vertical-align: middle;
        white-space: nowrap;
    }
    .contact_right .wpcf7-submit:hover {
    background-color: #7db7f0;
        background-image: -webkit-gradient(linear, left top, left bottom, from(#7db7f0), to(#1874cd));
        background-image: -webkit-linear-gradient(top, #7db7f0, #1874cd);
        background-image: -moz-linear-gradient(top, #7db7f0, #1874cd);
        background-image: -ms-linear-gradient(top, #7db7f0, #1874cd);
        background-image: -o-linear-gradient(top, #7db7f0, #1874cd);
        background-image: linear-gradient(to top, #7db7f0, #1874cd);
        border: 1px solid #115290;
        color: #ffffff;
        -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#7db7f0, endColorstr=#1874cd)";
        border-radius: 2px;
        display: inline-block;
        font-weight: 700;
        margin: 0;
        vertical-align: middle;
        white-space: nowrap;
    }
    .contact_right form { margin-bottom: 0;}
    .contact_left {margin-top: 20px; }
    .contact_right select, .contact_right input[type="text"], .contact_right input[type="password"], .contact_right input[type="email"] {
        width: 100%;
        color: #f2f2f2;
        padding: 12px 2px 2px 0px;
        background-color: transparent;
    border-radius: 0;
    box-shadow: none;
    border-width: 0;
    border-bottom-width: 3px;
    border-bottom-color: #cec9c4;
        }
    .share_buttons_2 {display:none;}
    @media screen and (max-width: 640px) {
          .top-widget { width: 90%; }
          .widget-wrapper{width:160px;padding:0;margin:0;}
           #footer {width:100%;}
         #footer .textwidget{ font-size:8pt; padding: 0 10px; }
          #footer-wrapper { margin: -15px 0 0 -15px; }
          #footer p {font-size:12pt; margin: 0;}
    /* Start navigation color change */
        .main-nav {
            background-color: #800000;
            background-image: -webkit-gradient(linear, left top, left bottom, from(#800000), to(#800000));
            background-image: -webkit-linear-gradient(top, #800000, #800000);
            background-image: -moz-linear-gradient(top, #800000, #800000);
            background-image: -ms-linear-gradient(top, #800000, #800000);
            background-image: -o-linear-gradient(top, #800000, #800000);
            background-image: linear-gradient(to top, #800000, #800000);
            -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#800000, endColorstr=#800000)";
        }
            .full-width-no-box #header {background-color: #800000;    }
            .full-width-no-box .main-nav  {     background-color: #800000;    background-image: none;}
            .full-width-no-box .menu a:hover {    background-color: #800000;background-image: none; color: #f4f2f2; }
            .full-width-no-box .menu li li a:hover {color: #444444;}
            .full-width-no-box ul.menu > li:hover {background-color: #800000;    color: #ffffff;}
            .full-width-no-box .menu .current_page_item a, .full-width-no-box .menu .current-menu-item a {    background-color: #800000; }
            .full-width-no-box .menu {background-color: #800000;background-image: none;}
            .full-width-no-box #testimonial_div  {    background-color:#800000;color: #fff;}
            .full-width-no-box #about_div  {    background-color:#800000;color: #fff; }
        /* =Header Menu (Primary)
        ————————————————————– */
        .menu {
            background-color: #800000;
            background-image: -webkit-gradient(linear, left top, left bottom, from(#800000), to(#800000));
            background-image: -webkit-linear-gradient(top, #800000, #800000);
            background-image: -moz-linear-gradient(top, #800000, #800000);
            background-image: -ms-linear-gradient(top, #800000, #800000);
            background-image: -o-linear-gradient(top, #800000, #800000);
            background-image: linear-gradient(to top, #800000, #800000);
            clear: both;
                -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#800000, endColorstr=#800000)";
            margin: 0 auto;
        }
           .main-nav {    clear: both;    background-color:#FFFFFF;  }
           .full-width-no-box #footer-wrapper .footer_div {    background-color: #800000;}
        .js .main-nav {
                position: relative;
                background-color: #800000;
                background-image: -webkit-gradient(linear, left top, left bottom, from(#800000), to(#800000));
                background-image: -webkit-linear-gradient(top, #800000, #800000);
                background-image: -moz-linear-gradient(top, #800000, #800000);
                background-image: -ms-linear-gradient(top, #800000, #800000);
                background-image: -o-linear-gradient(top, #800000, #800000);
                background-image: linear-gradient(to top, #800000, #800000);
                clear: both;
                -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#800000, endColorstr=#800000)";
                margin: 0 auto;
        }
    /* Start navigation color change */
    }
    @media screen and (max-width: 320px) {
          #footer-wrapper { margin: -25px 0 0 -25px; }
    }

    ','Example Responsive child style sheet','','inherit','closed','closed','','12-revision-v1','','','2017-12-07 23:49:42','2017-12-07 23:49:42','',12,'http://www.acctcrop.softwarewebdesign.com/2017/12/07/12-revision-v1/',0,'revision','',0),(15,1,'2017-12-07 23:54:38','2017-12-07 23:54:38','1','responsiveswd','','publish','closed','closed','','responsiveswd','','','2017-12-07 23:54:38','2017-12-07 23:54:38','',0,'http://www.acctcrop.softwarewebdesign.com/2017/12/07/responsiveswd/',0,'custom_css','',0),(16,1,'2017-12-07 23:54:38','2017-12-07 23:54:38','1','responsiveswd','','inherit','closed','closed','','15-revision-v1','','','2017-12-07 23:54:38','2017-12-07 23:54:38','',15,'http://www.acctcrop.softwarewebdesign.com/2017/12/07/15-revision-v1/',0,'revision','',0),(17,1,'2017-12-11 06:16:19','2017-12-11 06:16:19','

    Daniel Nixon

    Just another WordPress blag

    HTTP Security Headers

    In this post I’ll discuss the HTTP headers we can use to improve a web site’s security and mitigate certain attack types. I’ll use this blag as my example.

    First up we’ll look at X-Frame-Options. This header helps prevent clickjacking by indicating to a browser that it shouldn’t render the page in a frame (or an iframe or object). We’ll use the strictest setting: DENY. Here’s how to set it in .htaccess:

    1
    Header set X-Frame-Options DENY

    Next we’ll add two Internet Explorer-only headers: X-XSS-Protection and X-Content-Type-Options.

    X-XSS-Protection helps mitigate Cross-site scripting (XSS) attacks. We’ll use the strictest setting again here: “1; block”. This will instruct IE to not even render the page if it detects an XSS attack.

    X-Content-Type-Options only has one value—“nosniff”—which instructs IE not to sniff mime types, preventing attacks related to mime-sniffing. You should be fine to use this header unless you’re serving files with bad Content-Type headers (don’t do that).

    Here’s what we need to add to .htaccess for these two headers:

    1
    2
    Header set X-XSS-Protection \"1; mode=block\"
    Header set X-Content-Type-Options nosniff

    Now we’ll take a look at HTTP Strict Transport Security (HSTS). HSTS is a way for the server to instruct the browser that it (the browser) should only communicate with the server over HTTPS. This helps avoid man-in-the-middle attacks over insecure HTTP. The first thing we need to do is ensure that we’re redirecting all HTTP connections to the equivalent HTTPS URL. Here’s one way to achieve that in .htaccess:

    1
    2
    3
    RewriteEngine On
    RewriteCond %{HTTPS} !=on
    RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R,L]

    Now we can set the HSTS header. I’m using a max-age equivalent to 30 days.

    1
    Header set Strict-Transport-Security \"max-age=2592000\" env=HTTPS

    We must not send this header over plain HTTP, so we add env=HTTPS.

    Next we’ll implement the Content Security Policy (CSP) header. CSP helps mitigate XSS attacks by whitelisting the allowed sources of content such as scripts, styles and images. Using WordPress 3.9.1, Accessible Zen 1.1.3 and Crayon 2.6.5, this is as tight as I could make the CSP header for this blag. I’ve inserted line breaks for readability.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    Header set Content-Security-Policy \"
    default-src \'self\';
    font-src \'self\' data: https://fonts.gstatic.com https://themes.googleusercontent.com https://*.wp.com;
    script-src \'self\' \'unsafe-inline\' https://*.wp.com https://public-api.wordpress.com https://*.gravatar.com;
    style-src \'self\' https://secure.gravatar.com https://*.wp.com https://*.gravatar.com \'unsafe-inline\' https://fonts.googleapis.com;
    img-src \'self\' data: https://secure.gravatar.com https://*.wp.com https://pixel.wp.com;
    frame-src \'self\' https://secure.gravatar.com https://public-api.wordpress.com https://widgets.wp.com;
    object-src \'none\'
    \"

    Some observations:

    • We block all objects (such as Flash) with object-src ‘none’. Good riddance.
    • We unfortunately have to allow inline scripts and styles using ‘unsafe-inline’ for both script-src and style-src.
    • We only allow https and data schemes, we don’t allow any insecure http.

    Finally we’ll look at X-Permitted-Cross-Domain-Policies. Setting this header to “master-only” will instruct Flash and PDF files that they should only read the master crossdomain.xml file from the root of the website.

    1
    Header set X-Permitted-Cross-Domain-Policies \"master-only\"

    Here’s everything we’ve added to .htaccess so far:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    RewriteEngine On
    RewriteCond %{HTTPS} !=on
    RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R,L]
     
    Header set Strict-Transport-Security \"max-age=2592000\" env=HTTPS
    Header set X-Frame-Options DENY
    Header set X-XSS-Protection \"1; mode=block\"
    Header set X-Content-Type-Options nosniff
    Header set X-Permitted-Cross-Domain-Policies \"master-only\"
    Header set Content-Security-Policy \"default-src \'self\'; font-src \'self\' data: https://fonts.gstatic.com https://themes.googleusercontent.com https://*.wp.com; script-src \'self\' \'unsafe-inline\' https://*.wp.com https://public-api.wordpress.com https://*.gravatar.com; style-src \'self\' https://secure.gravatar.com https://*.wp.com https://*.gravatar.com \'unsafe-inline\' https://fonts.googleapis.com; img-src \'self\' data: https://secure.gravatar.com https://*.wp.com https://pixel.wp.com; frame-src \'self\' https://secure.gravatar.com https://public-api.wordpress.com https://widgets.wp.com; object-src \'none\'\"

    With that .htaccess in place, here’s what the response to a HEAD request looks like:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    $ curl -I https://danielnixon.org
    HTTP/1.1 200 OK
    Date: Tue, 05 Aug 2014 03:04:18 GMT
    Server: Apache
    Vary: Cookie
    X-Pingback: https://danielnixon.org/xmlrpc.php
    Link: ; rel=shortlink
    Strict-Transport-Security: max-age=2592000
    X-Frame-Options: DENY
    X-XSS-Protection: 1; mode=block
    X-Content-Type-Options: nosniff
    Content-Security-Policy: default-src \'self\'; font-src \'self\' data: https://fonts.gstatic.com https://themes.googleusercontent.com https://*.wp.com; script-src \'self\' \'unsafe-inline\' https://*.wp.com https://public-api.wordpress.com https://*.gravatar.com; style-src \'self\' https://secure.gravatar.com https://*.wp.com https://*.gravatar.com \'unsafe-inline\' https://fonts.googleapis.com; img-src \'self\' data: https://secure.gravatar.com https://*.wp.com https://pixel.wp.com; frame-src \'self\' https://secure.gravatar.com https://public-api.wordpress.com https://widgets.wp.com; object-src \'none\'
    X-Permitted-Cross-Domain-Policies: master-only
    Content-Type: text/html; charset=UTF-8

    Unfortunately, something in the WordPress backend uses eval, so we have to include the ‘unsafe-eval’ source in our CSP script-src directive. Fortunately, we can get away with only including ‘unsafe-eval’ in an .htaccess in the wp-admin directory. This setup allows eval in the WordPress backend but blocks it for frontend pages. The CSP header in wp-admin’s .htaccess adds ‘unsafe-eval’ but is otherwise identical to that in the root .htaccess:

    1
    Header set Content-Security-Policy \"default-src \'self\'; font-src \'self\' data: https://fonts.gstatic.com https://themes.googleusercontent.com https://*.wp.com; script-src \'self\' \'unsafe-inline\' \'unsafe-eval\' https://*.wp.com https://public-api.wordpress.com https://*.gravatar.com; style-src \'self\' https://secure.gravatar.com https://*.wp.com https://*.gravatar.com \'unsafe-inline\' https://fonts.googleapis.com; img-src \'self\' data: https://secure.gravatar.com https://*.wp.com https://pixel.wp.com; frame-src \'self\' https://secure.gravatar.com https://public-api.wordpress.com https://widgets.wp.com; object-src \'none\'\"

    And that’s it for security headers on danielnixon.org. With the unfortunate exception of those unsafe-inline and unsafe-eval sources in the CSP header, these six headers lock things down pretty well. It’s worth stressing that none of this is a replacement for writing secure code in the first place; think of these headers as just another layer of protection.

    As an aside, Play Framework’s SecurityHeadersFilter provides all the above (except HSTS), with each header defaulting to a secure default value.

    While we’re on the topic of HTTP headers and security, there are also some headers that should be removed. Server and X-Powered-By are two common headers that reveal information about a website that could be useful to attackers, so we should remove them if we can. Unfortunately, we’re stuck with the Server header on Apache. What we can do is shrink it down to simply “Apache”, omitting the Apache version, the OS, the OS version, etc.

    You can test your own site’s security headers at https://securityheaders.com/. This site scores 90%, with that pesky Server: Apache header costing me 10%. Maybe you can beat me?

    6 thoughts on “HTTP Security Headers”

    1. You should use apache httpd’s “Header always set” otherwise in case of HTTP status > 200 the headers aren’t set and someone can still exploit you by finding an 400 bad request/500 internal server error – which is very easy in apache.

    Leave a Reply Cancel reply

    Your email address will not be published. Required fields are marked *

    \":)\"','Click Jacking','','publish','closed','closed','','click-jacking','','','2017-12-11 06:16:19','2017-12-11 06:16:19','',2,'http://www.acctcrop.softwarewebdesign.com/?page_id=17',0,'page','',0),(18,1,'2017-12-11 06:16:19','2017-12-11 06:16:19','

    Daniel Nixon

    Just another WordPress blag

    HTTP Security Headers

    In this post I’ll discuss the HTTP headers we can use to improve a web site’s security and mitigate certain attack types. I’ll use this blag as my example.

    First up we’ll look at X-Frame-Options. This header helps prevent clickjacking by indicating to a browser that it shouldn’t render the page in a frame (or an iframe or object). We’ll use the strictest setting: DENY. Here’s how to set it in .htaccess:

    1
    Header set X-Frame-Options DENY

    Next we’ll add two Internet Explorer-only headers: X-XSS-Protection and X-Content-Type-Options.

    X-XSS-Protection helps mitigate Cross-site scripting (XSS) attacks. We’ll use the strictest setting again here: “1; block”. This will instruct IE to not even render the page if it detects an XSS attack.

    X-Content-Type-Options only has one value—“nosniff”—which instructs IE not to sniff mime types, preventing attacks related to mime-sniffing. You should be fine to use this header unless you’re serving files with bad Content-Type headers (don’t do that).

    Here’s what we need to add to .htaccess for these two headers:

    1
    2
    Header set X-XSS-Protection \"1; mode=block\"
    Header set X-Content-Type-Options nosniff

    Now we’ll take a look at HTTP Strict Transport Security (HSTS). HSTS is a way for the server to instruct the browser that it (the browser) should only communicate with the server over HTTPS. This helps avoid man-in-the-middle attacks over insecure HTTP. The first thing we need to do is ensure that we’re redirecting all HTTP connections to the equivalent HTTPS URL. Here’s one way to achieve that in .htaccess:

    1
    2
    3
    RewriteEngine On
    RewriteCond %{HTTPS} !=on
    RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R,L]

    Now we can set the HSTS header. I’m using a max-age equivalent to 30 days.

    1
    Header set Strict-Transport-Security \"max-age=2592000\" env=HTTPS

    We must not send this header over plain HTTP, so we add env=HTTPS.

    Next we’ll implement the Content Security Policy (CSP) header. CSP helps mitigate XSS attacks by whitelisting the allowed sources of content such as scripts, styles and images. Using WordPress 3.9.1, Accessible Zen 1.1.3 and Crayon 2.6.5, this is as tight as I could make the CSP header for this blag. I’ve inserted line breaks for readability.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    Header set Content-Security-Policy \"
    default-src \'self\';
    font-src \'self\' data: https://fonts.gstatic.com https://themes.googleusercontent.com https://*.wp.com;
    script-src \'self\' \'unsafe-inline\' https://*.wp.com https://public-api.wordpress.com https://*.gravatar.com;
    style-src \'self\' https://secure.gravatar.com https://*.wp.com https://*.gravatar.com \'unsafe-inline\' https://fonts.googleapis.com;
    img-src \'self\' data: https://secure.gravatar.com https://*.wp.com https://pixel.wp.com;
    frame-src \'self\' https://secure.gravatar.com https://public-api.wordpress.com https://widgets.wp.com;
    object-src \'none\'
    \"

    Some observations:

    • We block all objects (such as Flash) with object-src ‘none’. Good riddance.
    • We unfortunately have to allow inline scripts and styles using ‘unsafe-inline’ for both script-src and style-src.
    • We only allow https and data schemes, we don’t allow any insecure http.

    Finally we’ll look at X-Permitted-Cross-Domain-Policies. Setting this header to “master-only” will instruct Flash and PDF files that they should only read the master crossdomain.xml file from the root of the website.

    1
    Header set X-Permitted-Cross-Domain-Policies \"master-only\"

    Here’s everything we’ve added to .htaccess so far:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    RewriteEngine On
    RewriteCond %{HTTPS} !=on
    RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R,L]
     
    Header set Strict-Transport-Security \"max-age=2592000\" env=HTTPS
    Header set X-Frame-Options DENY
    Header set X-XSS-Protection \"1; mode=block\"
    Header set X-Content-Type-Options nosniff
    Header set X-Permitted-Cross-Domain-Policies \"master-only\"
    Header set Content-Security-Policy \"default-src \'self\'; font-src \'self\' data: https://fonts.gstatic.com https://themes.googleusercontent.com https://*.wp.com; script-src \'self\' \'unsafe-inline\' https://*.wp.com https://public-api.wordpress.com https://*.gravatar.com; style-src \'self\' https://secure.gravatar.com https://*.wp.com https://*.gravatar.com \'unsafe-inline\' https://fonts.googleapis.com; img-src \'self\' data: https://secure.gravatar.com https://*.wp.com https://pixel.wp.com; frame-src \'self\' https://secure.gravatar.com https://public-api.wordpress.com https://widgets.wp.com; object-src \'none\'\"

    With that .htaccess in place, here’s what the response to a HEAD request looks like:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    $ curl -I https://danielnixon.org
    HTTP/1.1 200 OK
    Date: Tue, 05 Aug 2014 03:04:18 GMT
    Server: Apache
    Vary: Cookie
    X-Pingback: https://danielnixon.org/xmlrpc.php
    Link: ; rel=shortlink
    Strict-Transport-Security: max-age=2592000
    X-Frame-Options: DENY
    X-XSS-Protection: 1; mode=block
    X-Content-Type-Options: nosniff
    Content-Security-Policy: default-src \'self\'; font-src \'self\' data: https://fonts.gstatic.com https://themes.googleusercontent.com https://*.wp.com; script-src \'self\' \'unsafe-inline\' https://*.wp.com https://public-api.wordpress.com https://*.gravatar.com; style-src \'self\' https://secure.gravatar.com https://*.wp.com https://*.gravatar.com \'unsafe-inline\' https://fonts.googleapis.com; img-src \'self\' data: https://secure.gravatar.com https://*.wp.com https://pixel.wp.com; frame-src \'self\' https://secure.gravatar.com https://public-api.wordpress.com https://widgets.wp.com; object-src \'none\'
    X-Permitted-Cross-Domain-Policies: master-only
    Content-Type: text/html; charset=UTF-8

    Unfortunately, something in the WordPress backend uses eval, so we have to include the ‘unsafe-eval’ source in our CSP script-src directive. Fortunately, we can get away with only including ‘unsafe-eval’ in an .htaccess in the wp-admin directory. This setup allows eval in the WordPress backend but blocks it for frontend pages. The CSP header in wp-admin’s .htaccess adds ‘unsafe-eval’ but is otherwise identical to that in the root .htaccess:

    1
    Header set Content-Security-Policy \"default-src \'self\'; font-src \'self\' data: https://fonts.gstatic.com https://themes.googleusercontent.com https://*.wp.com; script-src \'self\' \'unsafe-inline\' \'unsafe-eval\' https://*.wp.com https://public-api.wordpress.com https://*.gravatar.com; style-src \'self\' https://secure.gravatar.com https://*.wp.com https://*.gravatar.com \'unsafe-inline\' https://fonts.googleapis.com; img-src \'self\' data: https://secure.gravatar.com https://*.wp.com https://pixel.wp.com; frame-src \'self\' https://secure.gravatar.com https://public-api.wordpress.com https://widgets.wp.com; object-src \'none\'\"

    And that’s it for security headers on danielnixon.org. With the unfortunate exception of those unsafe-inline and unsafe-eval sources in the CSP header, these six headers lock things down pretty well. It’s worth stressing that none of this is a replacement for writing secure code in the first place; think of these headers as just another layer of protection.

    As an aside, Play Framework’s SecurityHeadersFilter provides all the above (except HSTS), with each header defaulting to a secure default value.

    While we’re on the topic of HTTP headers and security, there are also some headers that should be removed. Server and X-Powered-By are two common headers that reveal information about a website that could be useful to attackers, so we should remove them if we can. Unfortunately, we’re stuck with the Server header on Apache. What we can do is shrink it down to simply “Apache”, omitting the Apache version, the OS, the OS version, etc.

    You can test your own site’s security headers at https://securityheaders.com/. This site scores 90%, with that pesky Server: Apache header costing me 10%. Maybe you can beat me?

    6 thoughts on “HTTP Security Headers”

    1. You should use apache httpd’s “Header always set” otherwise in case of HTTP status > 200 the headers aren’t set and someone can still exploit you by finding an 400 bad request/500 internal server error – which is very easy in apache.

    Leave a Reply Cancel reply

    Your email address will not be published. Required fields are marked *

    \":)\"','Click Jacking','','inherit','closed','closed','','17-revision-v1','','','2017-12-11 06:16:19','2017-12-11 06:16:19','',17,'http://www.acctcrop.softwarewebdesign.com/2017/12/11/17-revision-v1/',0,'revision','',0),(19,1,'2017-12-11 06:27:58','2017-12-11 06:27:58','
    Securing your website with .htaccess
    Written by Kimberly on Wednesday, 17 November 2010. Posted in Security Viewed 47063 times
    \"stopmalvertising.com\"
    When you have a website, you need to deal with and protect yourself from common attacks such as Cross-Site Scripting, Local File Inclusion and SQL Injection which all start with transmission of hostile commands via the HTTP Request. The challenge consists of separating legitimate requests from the hostile or malicious ones.

    If the website is hosted on an Apache server, there is a powerful mechanism available to help mitigating attacks: the Apache .htaccess file. Properly configured, the .htaccess file on a server with mod_rewrite enabled can provide a robust defense against many HTTP Request attacks.

    The .htaccess file is very powerful; therefore I recommend a full backup of your website before you start editing your .htaccess file. The slightest syntax error can result in an internal server malfunction and usually you\'ll get a 500 error (Internal Server Error) message. Once you’re done it is very important to verify your entire website’s functionality. If any errors are encountered, remove or comment out the newly added directives.

    Note: if you\'re using Notepad for editing purposes, which I DO NOT recommend, turn of word-wrap and when saving the .htaccess file make sure to save it as:

    File Type: All Files (not as a text document or it wont work).
    Name: .htaccess

    \"htaccess


    What is an .htaccess file?

    An .htaccess file or distributed configuration file is a plain text file containing a list of configuration directives (rules) and provides a way to make configuration changes on a per-directory basis.

    A website can have more than one .htaccess file, i.e. specific instructions may be applied at individual directory level. The .htaccess file will be read on every HTTP Request submitted to the web server. Changes made to this file therefore take immediate effect.


    Will my hosting provider let me use an htaccess file?

    If your website is hosted on an Apache server, your hosting company should allow the use of .htaccess files. If your host does not allow the use of .htaccess files, I’d recommend you change to one that does.


    Is mod_rewrite enabled?

    If you don\'t have shell (or other) access to the apache configuration file (httpd.conf) and the host supports php, just paste the text below into a text editor and save the file as info.php in your public html path.

    0.<?php
    1.phpinfo();
    2.?>

    Next run info.php from a browser. Scroll down to the Apache section and check Loaded Modules. Once you’ve obtained the necessary info, delete info.php from your server.

    Another simple way to verify if mod_rewrite is enabled consists of creating a single redirect to test it. Add the following lines to the top of your .htaccess file and re-upload it to your server.

    0.RewriteEngine on
    1.RewriteRule testpage\\.html http://www.google.com [R]

    Once the .htaccess file has been updated, enter the following into your browser:

    http://www.yoursite.com/testpage.html

    Replace www.yoursite.com with your website\'s name. This should automatically redirect you to Google. If this redirect works, then mod_rewrite IS working on your server.


    Is .htaccess enabled?

    It\'s rather unusual, but possible that .htaccess is not enabled on your site. If you have access to the server configuration files, it\'s quite easy to fix; open your httpd.conf in a text editor (without word-wrap enabled), and locate the section.

    Locate the line that reads..

    AllowOverride None

    And change it to..

    AllowOverride All

    Restart Apache. Now .htaccess should work.

    If you don’t have access to the server configuration files then you’re probably on shared hosting and if your .htaccess file doesn’t work then you’ll need to contact your webhosting provider and ask them if they provide support for it.

    If you don’t have FTP or cPanel access to your website, DO NOT upload or create a .htaccess file(s). Seek assistance from your hosting company instead as you might fire off a 500 error (Internal Server Error) and once this occurs you won’t be able to access the site through a browser.


    What types of rules can the file contain?

    The most common security related directives (rules) .htaccess may contain are:

    • Authorization or authentication (username/password) control at directory level
    • Use of allow/deny rules to block users by IP address or domain
    • Customized error responses - e.g. page not found (404)
    • Directory listing – what to do if a directory rather than a page is requested
    • URL Rewriting – can be used for a number of purposes including search engine optimization (SEO), redirection of moved content, hot linking and security processing of the HTTP Request.

    Commenting .htaccess code

    Comments in the .htaccess file are allowed on a per-line basis, each line of comments is preceded by the # (pound) sign. Comments running over several lines require thus multiple # signs. It’s also advised to use only letters, numbers, dashes, and underscores in the comments. This safe practice will contribute in avoiding potential server parsing errors.

    0.# this is a comment
    1.# each line must have its own pound sign
    2.# only use letters and numbers along with dashes - and underscores _

    Enable Basic Rewriting

    To ensure mod_rewrite (basic rewriting) is enabled on your site, add the following line to your site’s root htaccess file:

    0.# enable basic rewriting
    1.RewriteEngine on

    Enable Symbolic Links

    Enable symbolic links (symlinks) by adding the following directive to the .htaccess file.

    0.# enable symbolic links
    1.Options +FollowSymLinks

    Some webhosting companies may have swapped FollowSymLinks to SymLinksIfOwnerMatch due to security reasons. Check with your provider which directive should be used.


    What is order allow,deny?

    Order allow,deny is a setting in your Apache web server configuration that is used to allow or restrict access.

    The allow directive affects who can access an area of the server or website. Access is usually controlled by hostname, IP address, or IP address range.

    The deny directive restricts access to the server. Restrictions can be based again on hostname, IP address, or environment variables.

    Order allow,deny tells your server that the allow rules are processed before the deny rules. If the client does not match the allow rule or it does match the deny rule, then the client will be denied access.

    Order deny, allow means that the deny rules are processed before the allow rules. If the client does not match the deny rule or it does match the allow rule, then it will be granted access.


    Deny Access to .htaccess

    Any attempt to access the .htaccess file will result in a 403 error message.

    0.# locked htaccess file
    1.< Files .htaccess>
    2. order allow,deny
    3. deny from all
    4.< /Files>

    Deny Access to a Specific File

    Similar to the above example you can restrict access to a specific file by simply adding the following code. Edit the file name accordingly.

    0.# deny viewing of a specific file
    1.<files myfile.png>
    2. order allow,deny
    3. deny from all
    4.</files>

    Deny Access to Multiple File Types

    To restrict access to certain file types, add the following code and edit the file types you wish to protect. As you might notice you need to escape the dot (.) this is done by typing a backslash (\\) in front of the character that needs escaping.

    0.<FilesMatch \"\\.(htaccess|ini|log)$\">
    1. Order allow,deny
    2. deny from all
    3.</FilesMatch>

    Disable Directory Browsing

    If your site does not have default index page everything within the root of your site will be accessible to all visitors. Disabling directory browsing will instruct the server to display a \"403 Forbidden - Authorization Required\" message for any request to view a directory.

    0.# deny directory browsing
    1.Options All -Indexes

    To enable directory browsing, use the following directive:

    0.# allow directory browsing
    1.Options All +Indexes

    The following rule will prevent the server from listing directory contents:

    0.# deny folder listing
    1.IndexIgnore *

    The IndexIgnore directive can also be used to prevent the display of select file types:

    0.# no display of select file types
    1.IndexIgnore *.wmv *.mp4 *.avi *.etc

    Deny Access to a Specific Directory / Folder

    Restricting directory / folder access is probably one of the most frequently used .htaccess techniques. To deny all requests for the restricted directory or folder, prepare a .htaccess file in that directory and put the following directive in it:

    0.# deny directory access
    1.deny from all

    Allow access from a certain IP (where xxx.xxx.xxx.xxx is your IP):

    0.# deny directory access and allow your IP
    1.order deny,allow
    2.deny from all
    3.allow from xxx.xxx.xxx.xxx

    There is a different way to archive the same objective by using the code below (where xxx.xxx.xxx.xxx is your IP):

    00.# deny directory access and allow your IP
    01.IndexIgnore .htaccess * */.??* *~ *#
    02.DirectoryIndex index.php index.html
    03. 
    04.RewriteCond %{REMOTE_ADDR} !^xxx\\.xxx\\.xxx\\.xxx
    05.RewriteRule .* - [F,L]
    06. 
    07.RewriteCond %{HTTP_HOST} .
    08.RewriteCond %{HTTP_HOST} !^yourdomain\\.com
    09.RewriteRule (.*) http://yourdomain.com/directory_to_deny_access_to/$1 [R=301,L]

    Set A Default Index Page

    The rule below tells the server to display \"content.html\" as the default directory index.

    0.# display other default index page
    1.DirectoryIndex content.html

    This rule is similar, but the server will search the root folder for the listed files and load the first match it encounters.

    0.# show first available default index page from list
    1.DirectoryIndex index.html index.php default.html

    Redirecting www Requests

    Redirect www.yoursite.com HTTP requests to yoursite.com using a 301 redirect.

    0.RewriteCond %{HTTP_HOST} .
    1.RewriteCond %{HTTP_HOST} !^yoursite\\.com
    2.RewriteRule (.*) http://yoursite.com/$1 [R=301,L]

    If your site uses HTTPS, then this code will need to be modified to preserve the http / https in the incoming requests.

    0.RewriteCond %{HTTP_HOST} .
    1.RewriteCond %{HTTP_HOST} !^yoursite\\.com
    2.RewriteCond %{SERVER_PORT}>s ^(443>(s)|[0-9]+>s)$
    3.RewriteRule (.*) http://yoursite.com/$1 [R=301,L]

    Custom Error Documents

    The .htaccess file is where most people configure their error documents:

    0.# serve custom error pages
    1.ErrorDocument 400 /errors/400.html
    2.ErrorDocument 401 /errors/401.html
    3.ErrorDocument 403 /errors/403.html
    4.ErrorDocument 404 /errors/404.html
    5.ErrorDocument 500 /errors/500.html

    Password-protect Files / Directories

    Secure the site contents by requiring user authentication for specified files and/or directories. Adjust the AuthName field to suit your needs: members only , admin section ...

    00.# password-protect single file
    01.<Files admin.php>
    02.AuthType basic
    03.AuthName \"Admin Panel\"
    04.AuthUserFile /home/path/.htpasswd
    05.Require valid-user
    06.</Files>
    07.# password-protect multiple files
    08.<FilesMatch \"^(index|secure|backup)*$\">
    09.AuthType basic
    10.AuthName \"Dev\"
    11.AuthUserFile /home/path/.htpasswd
    12.Require valid-user
    13.</FilesMatch>
    14.# password-protect the directory in which this htaccess rule resides
    15.AuthType basic
    16.AuthName \"This directory is protected\"
    17.AuthUserFile /home/path/.htpasswd
    18.AuthGroupFile /dev/null
    19.Require valid-user

    Allow or Deny by IP Address and/or Domain

    Deny access to everyone except your LAN and domain.com:

    0.# no one gets in
    1.order deny,allow
    2.deny from all
    3.allow from 192.168.0.0/24
    4.allow from .*domain\\.com.*

    Sometimes, you will only want to ban a single IP, a persistent bot or a forum spammer ...

    0.order allow,deny
    1.#Botnet controller
    2.deny from 78.109.29.112
    3.allow from all

    There are different ways to block a range of IP’s via the .htaccess file.

    • By their CIDR number - 76.73.0.0/17
    • By truncating digits until the desired IP range is obtained - 76.73.0.* - blocks all IP’s between 76.73.0.0 and 76.73.0.255
    0.order allow,deny
    1.#FakeGoogleBots-ProxyHijacks
    2.deny from 76.73.0.0/17
    3.deny from 76.73.0.*
    4.deny from 76.73.*.*
    5.deny from 76.*.*.*
    6.allow from all

    It is possible to block an entire range of IP addresses. Below are a few examples illustrating proper .htaccess syntax:

    00.order allow,deny
    01.# block a partial domain via network/netmask values
    02.deny from 76.73.0.0/255.255.0.0
    03.# block domain.com but allow sub.domain.com
    04.deny from domain.com
    05.allow from sub.domain.com
    06.#RFI attacks
    07.deny from 70.86.235.162
    08.deny from 72.249.108.140
    09.deny from 81.176.226.194
    10.allow from all

    Stop Hotlinking

    Bandwidth theft or hotlinking is direct linking to a web site\'s files, usually images, video, etc...

    \"htaccess

    Example: You’ve got some pictures illustrating an article and someone else uses an <img> tag to show that image on their webpage page instead of hosting the image themselves.

    Bandwidth refers to the amount of data transferred from a web site to a user\'s computer. When you visit a web page, you are using that site\'s bandwidth to display the files. Depending on your web hosting provider, if a site is over its monthly bandwidth, the owner gets billed for the extra data or the site might be taken offline.

    To stop hotlinking of your images from other sites and display a replacement image called hotlink.gif, place this code in your .htaccess file:

    0.RewriteEngine On
    1.# stop hotlinking
    2.RewriteCond %{HTTP_REFERER} !^$
    3.RewriteCond %{HTTP_REFERER} !^http(s)?://(www\\.)?mysite\\.com/ [NC]
    4.RewriteCond %{REQUEST_URI} !^/hotlinking/hotlink\\.gif$
    5.RewriteRule \\.(gif|jpe?g|bmp|swf)$ /hotlinking/hotlink.gif [NC,L]

    Allow hotlinking from a couple of websites can be done in two ways, either put each domain on its own line or simply put several keywords separated by a pipe (|) character.

    00.RewriteEngine On
    01.# stop hotlinking
    02.RewriteCond %{HTTP_REFERER} !^$
    03.RewriteCond %{HTTP_REFERER} !^http(s)?://(www\\.)?mysite\\.com/ [NC]
    04.# allow myspace and facebook
    05.RewriteCond %{HTTP_REFERER} !^http://(www\\.)?myspace\\.com [NC]
    06.RewriteCond %{HTTP_REFERER} !^http://(www\\.)?facebook\\.com [NC]
    07.# allow different subdomains from mail.live.com
    08.RewriteCond %{HTTP_REFERER} !^http://([^.]+\\.)+mail\\.live\\.com [NC]
    09.# allow several search engines
    10.RewriteCond %{HTTP_REFERER} !(google|msn|bing|bingj|yahoo|ask)\\. [NC]
    11.RewriteCond %{REQUEST_URI} !^/hotlinking/hotlink\\.gif$
    12.RewriteRule \\.(gif|jpe?g|bmp|swf)$ /hotlinking/hotlink.gif [NC,L]

    To deliver a standard or custom error page instead of a replacement image, replace the line containing the RewriteRule in the above htaccess directive with the following line:

    0.# serve a standard 403 forbidden error page
    1.RewriteRule \\.(gif|jpe?g|bmp|swf)$ - [F,L]

    You can also get an excellent PHP script called Auto-HotLink. What I like most about it: It logs the HTTP requests so you can actually see who’s hotlinking your files.


    Block Evil Robots, Site Rippers ...

    The block of code below will block some unwanted junk from accessing your website. Any listed user agents will be denied access and receive an error message instead. Below are a couple of examples of user agents you really don\'t want to access your site.

    Note: DO NOT include the \"[OR]\" on the very last RewriteCond or your server will crash, delivering 500 Errors to all page requests.

    00.RewriteBase /
    01.# useragents starting with
    02.RewriteCond %{HTTP_USER_AGENT} ^atraxbot [NC,OR]
    03.RewriteCond %{HTTP_USER_AGENT} ^Azureus [NC,OR]
    04.RewriteCond %{HTTP_USER_AGENT} ^geohasher [NC,OR]
    05.RewriteCond %{HTTP_USER_AGENT} ^PycURL [NC,OR]
    06.RewriteCond %{HTTP_USER_AGENT} ^Python-urllib [NC,OR]
    07.RewriteCond %{HTTP_USER_AGENT} ^research-scan-bot [NC,OR]
    08.RewriteCond %{HTTP_USER_AGENT} ^Sosospider [NC,OR]
    09.RewriteCond %{HTTP_USER_AGENT} ^Wget [NC,OR]
    10.RewriteCond %{HTTP_USER_AGENT} ^xenu [NC,OR]
    11.# user agent contains string
    12.RewriteCond %{HTTP_USER_AGENT} ^.*casper [NC,OR]
    13.RewriteCond %{HTTP_USER_AGENT} ^.*goblox [NC,OR]
    14.RewriteCond %{HTTP_USER_AGENT} ^.*sun4u [NC]
    15.RewriteRule ^(.*)$ - [F]

    You can also include specific referrers by using HTTP_REFERER or block requests from a particular remote host using REMOTE_HOST:

    0.RewriteBase /
    1.# block amazon cloud
    2.RewriteCond %{HTTP_REFERER} ^http://(([^.]+\\.)+)?amazonaws\\.com [NC,OR]
    3.RewriteCond %{REMOTE_HOST} ^.*\\.amazonaws\\.com$ [NC,OR]
    4.# block remote hosts starting with mail or smtp
    5.RewriteCond %{REMOTE_HOST} ^mail(.*)\\. [NC,OR]
    6.RewriteCond %{REMOTE_HOST} ^smtp(.*)\\. [NC]
    7.RewriteRule ^(.*)$ - [F]

    Block Semalt (semalt.com) Referrer Spam. The directive below will block all traffic coming from semalt.com and any subdomain (semalt.semalt.com)

    0.RewriteBase /
    1.# block semalt referrer spam
    2.RewriteCond %{HTTP_REFERER} ^http://(([^.]+\\.)+)?semalt\\.com [NC]
    3.RewriteRule ^(.*)$ - [F]

    Instead of delivering a friendly error message you could also send these bad boys to a (bad) website of your choice by replacing the RewriteRule in the last line with the name of the domain where you want to redirect them to.


    Block empty user agents and empty HTTP referrers

    Sometimes you want to block empty user agents and empty HTTP referrers as there\'s no reason for browsers to request only images from your website and if those requests show up with an empty user agent and HTTP referrer, it\'s most certainly a bot that\'s scraping those images. The directive below will stop such requests.

    0.# Blank UA and Referer
    1.RewriteCond %{HTTP_REFERER} ^$ [NC]
    2.RewriteCond %{HTTP_USER_AGENT} ^$ [NC]
    3.RewriteRule ^(.*)\\.(ico|gif|jpe?g|png|bmp|swf)$ - [F,L]

    If you wish to apply this rule to all your pages, no matter which content is requested, replace the above RewriteRule with the code below:

    0.RewriteRule .* - [F,L]

    Disable the Server Signature

    To remove the server signature which is displayed as part of the default Apache error documents, use the following code:

    0.ServerSignature Off

    Permanently Redirect a Specific IP

    Sometimes you want to create permanent redirect (301) when the request is coming from a particular IP. In other words, if someone from 123.45.67.8 visits the website, the visitor will be redirected to Google for example. All other visitors will be able to access the site.

    0.RewriteEngine On
    1.RewriteCond %{REMOTE_ADDR} ^123\\.45\\.67\\.8$
    2.RewriteRule ^(.*)$ http://google.com [L]

    Permanently Redirect Multiple IP\'s

    Sometimes you might want to redirect multiple IP addresses to another URL, preventing access to your webiste from those IP\'s. One way of doing this is to add [OR] to the end of the first RewriteCond and add another IP on the next line. Do NOT place an [OR] on the final RewriteCond.

    0.RewriteEngine On
    1.RewriteCond %{REMOTE_ADDR} ^123\\.45\\.67\\.8$ [OR]
    2.RewriteCond %{REMOTE_ADDR} ^123\\.110\\.253\\.195$ [OR]
    3.RewriteCond %{REMOTE_ADDR} ^123\\.8\\.67\\.54$
    4.RewriteRule ^(.*)$ http://google.com [L]

    Allow Multiple IP\'s and Redirect Everyone Else

    During site development for example you might want to allow the administrators / developers to access the frontend of the CMS and redirect other visitors to a maintenance page.

    The rules are pretty similar to the above ones, except that with when using a negation sign - ! - you DON\'T add the [OR] to the end of the RewriteCond.

    0.RewriteEngine On
    1.#Allow the IP\'s below to access the CMS frontend and redirect visitors to offline.html
    2.RewriteCond %{REMOTE_ADDR} !^123\\.45\\.67\\.89$
    3.RewriteCond %{REMOTE_ADDR} !^98\\.76\\.54\\.32$
    4.RewriteCond %{REQUEST_URI} !/offline\\.html$ [NC]
    5.RewriteRule ^(.*)$ /offline\\.html [R=302,L]

    More Redirect Fun ...

    Using the above rules you can also prevent a visitor from a particular IP from accessing a specific page on your site and redirect the visitor to Google.

    0.RewriteEngine On
    1.RewriteCond %{REMOTE_ADDR} ^123\\.45\\.67\\.8$
    2.RewriteCond %{REQUEST_URI} /a-particular-requested-page\\.html$
    3.RewriteRule ^(.*)$ http://google.com [L]

    Or to another page ...

    0.RewriteEngine On
    1.RewriteCond %{REMOTE_ADDR} ^123\\.45\\.67\\.8$
    2.RewriteCond %{REQUEST_URI} /a-particular-requested-page\\.html$
    3.RewriteRule .* /a-page-made-for-you.html [R=301,L]

    You could also redirect multiple IP\'s to a PHP script which will send them to different destinations. When someone is abusing your website you could for example redirect them to the acceptable use policy (AUP) of their webhost.

    0.RewriteEngine On
    1.RewriteCond %{REMOTE_ADDR} ^123\\.45\\.67\\.8$ [OR]
    2.RewriteCond %{REMOTE_ADDR} ^123\\.110\\.253\\.195$ [OR]
    3.RewriteCond %{REMOTE_ADDR} ^123\\.8\\.67\\.54$
    4.RewriteCond %{REQUEST_URI} !/myscript\\.php$ [NC]
    5.RewriteRule ^(.*)$ myscript.php [R=301,L]

    Enhanced .htaccess Directives

    Below are a couple of rules initially posted on 0x000000.com, a white hacker website, according to a post here. They will help in blocking attacks against your server.

    I personally took out the single quote / apostrophe (\') in the rule on line 05 that \"blocks out the use of illegal or unsafe characters in the Referer Variable of the HTTP Request\". The quote may appear in a search query as seen below and thus innocently block the visitor.

    google.com/search?....&q=pdf+parser+\'FlateDecode+decompress+failed\'
    00.# Prevent use of specified methods in HTTP Request
    01.RewriteCond %{REQUEST_METHOD} ^(HEAD|TRACE|DELETE|TRACK) [NC,OR]
    02.# Block out use of illegal or unsafe characters in the HTTP Request
    03.RewriteCond %{THE_REQUEST} ^.*(\\\\r|\\\\n|%0A|%0D).* [NC,OR]
    04.# Block out use of illegal or unsafe characters in the Referer Variable of the HTTP Request
    05.RewriteCond %{HTTP_REFERER} ^(.*)(<|>|\'|%0A|%0D|%27|%3C|%3E|%00).* [NC,OR]
    06.# Block out use of illegal or unsafe characters in any cookie associated with the HTTP Request
    07.RewriteCond %{HTTP_COOKIE} ^.*(<|>|\'|%0A|%0D|%27|%3C|%3E|%00).* [NC,OR]
    08.# Block out use of illegal characters in URI or use of malformed URI
    09.RewriteCond %{REQUEST_URI} ^/(,|;|:|<|>|\">|\"<|/|\\\\\\.\\.\\\\).{0,9999}.* [NC,OR]
    10.# Block out  use of empty User Agent Strings
    11.# NOTE - disable this rule if your site is integrated with Payment Gateways such as PayPal
    12.RewriteCond %{HTTP_USER_AGENT} ^$ [OR]
    13.# Block out  use of illegal or unsafe characters in the User Agent variable
    14.RewriteCond %{HTTP_USER_AGENT} ^.*(<|>|\'|%0A|%0D|%27|%3C|%3E|%00).* [NC,OR]
    15.# Measures to block out  SQL injection attacks
    16.RewriteCond %{QUERY_STRING} ^.*(;|<|>|\'|\"|\\)|%0A|%0D|%22|%27|%3C|%3E|%00).*(/\\*|union|select|insert|cast|set|declare|drop|update|md5|benchmark).* [NC,OR]
    17.# Block out  reference to localhost/loopback/127.0.0.1 in the Query String
    18.RewriteCond %{QUERY_STRING} ^.*(localhost|loopback|127\\.0\\.0\\.1).* [NC,OR]
    19.# Block out  use of illegal or unsafe characters in the Query String variable
    20.RewriteCond %{QUERY_STRING} ^.*(<|>|\'|%0A|%0D|%27|%3C|%3E|%00).* [NC]

    Many websites, about 70-80%, are vulnerable against LFI attacks and hackers will attempt to exploit this to get a shell on the server. Below is an example of php code that is vulnerable to LFI:

    0.<?php
    1.// LFI Vulnerable Code
    2.$redirect = $_GET[redirect];
    3.include($redirect);
    4.?>

    The code below, graciously provided SigSiu.net, should help against Local and Remote File Inclusion attacks.

    0.########## Begin - File injection protection, by SigSiu.net
    1.RewriteCond %{REQUEST_METHOD} GET
    2.RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=http:// [OR]
    3.RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=(\\.\\.//?)+ [OR]
    4.RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=/([a-z0-9_.]//?)+ [NC]
    5.RewriteRule .* - [F]
    6.########## End - File injection protection

    In addition to the above rules you might want to add the one below in case they use URL encoding in the http:// part.

    0.RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=http%3A%2F%2F [OR]

    Adding the following directive in the .htaccess file should give you an additional layer of security against this type of attacks using the proc/self/environ method.

    0.#proc/self/environ? no way!
    1.RewriteCond %{QUERY_STRING} proc\\/self\\/environ [NC,OR]

    Apache HTTP Server CVE-2011-3192 Denial Of Service Vulnerability

    The directive below will help against the Apache HTTP Server CVE-2011-3192 Denial Of Service Vulnerability discovered in August 2011 if you can\'t update Apache to the latest version.

    0.# drop Range header when more than 5 ranges.
    1.# CVE-2011-3192
    2.SetEnvIf Range (,.*?){5,} bad-range=1
    3.RequestHeader unset Range env=bad-range
    4.# optional logging.
    5.#CustomLog insert-path-and-name-of-log common env=bad-range

    PHP-CGI Remote Code Execution Bug (CVE-2012-1823)

    The directive below will help against the PHP-CGI Remote Code Execution Bug (CVE-2012-1823) discovered on the 3rd May 2012 by Security Researchers from Eindbazen

    0.# PHP-CGI Vulnerability
    1.RewriteCond %{QUERY_STRING} ^(%2d|\\-)[^=]+$ [NC]
    2.RewriteRule (.*) - [F,L]

    HTTP Headers to Help Secure Your Website

    Preventing cross-site request forgery (CSRF) attacks is hard and web applications must be built to prevent CSRF vulnerabilities. The first vulnerability is cross-site scripting (XSS).

    Around 40.000 web sites have been catalogued by XSSed as being vulnerable to cross-site scripting (XSS). These attacks leave your users open to cookie theft, information theft, account hijacking, clickjacking and more.

    Modern web browsers have some powerful protection build in nowadays but you need to tell the browser that you want those protection mechanisms used for your website. This can be archived by setting specific HTTP headers.

    X-Frame-Options

    The X-Frame-Options HTTP response header can be used to indicate whether or not a browser should be allowed to render a page in a <frame> or <iframe>. This can be used to avoid clickjacking attacks, by ensuring that your content is not embedded into other sites.

    This directive is pretty similar to the frame buster code explained in \"Double Trouble on Google Images\" except that it is only supported in the following browsers:

    • Internet Explorer 8+
    • Opera 10.50+
    • Safari 4+
    • Chrome 4.1.249.1042+
    • Firefox 3.6.9+ (or earlier with NoScript)

    There are three possible values for this header:

    1. DENY - This setting prevents any pages served from being placed in a frame even if it is on the same website it originates from. should be used if you never intend for your pages to be used inside of a frame.
    2. SAMEORIGIN - This setting allows pages to be served in a frame of a page on the same website. If an external site attempts to load the page in a frame the request will be denied.
    3. ALLOW-FROM origin - If the value contains the token ALLOW-FROM origin, the browser will block rendering only if the origin of the top-level browsing context is different than the origin value supplied with the Allow-From directive.

    The code below sets the directive to DENY, preventing our pages from being served in any frames, even from our own website.

    0.# Don\'t allow any pages to be framed - Defends against CSRF
    1.Header set X-Frame-Options DENY

    Additional Reading:

    X-XSS-Protection

    This header is exclusive to Internet Explorer 8 and 9, it turns on cross site scripting protection in IE 8 and IE 9 which is turned off by default as it could potentially break some websites. To turn on the XSS filter, use the header X-XSS-Protection \"1; mode=block\". If you wish to prevent this filter from being turned on for your website set the headers value to \"0\";

    0.# Turn on IE8-IE9 XSS prevention tools
    1.Header set X-XSS-Protection \"1; mode=block\"
    X-Content-Security-Policy

    Content Security Policy (CSP) is an added layer of security that helps to detect and mitigate certain types of attacks, including Cross Site Scripting (XSS) and data injection attacks. These attacks are used for everything from data theft to site defacement or distribution of malware. This header is designed to specify how content interacts with your website.

    Setting this directive to \"allow \'self\';\" will prevent our pages from loading any external JavaScript or running any inline JavaScript. Our website will be safer from XSS attacks as it becomes more difficult for an attacker to run JavaScript in the visitor’s browser through a framed page on our website or through a SQL injection.

    There are a lot of settings available for this header and I really urge you to read the Mozilla Wiki page before using CSP as you will have to allow certain external content if you run Google Adsense for example.

    0.# Only allow JavaScript from the same domain to be run.
    1.# Don\'t allow inline JavaScript to run.
    2.Header set X-Content-Security-Policy \"allow \'self\';\"
    X-Content-Type-Options: nosniff

    This header prevents \"mime\" based attacks. This header prevents Internet Explorer from MIME-sniffing a response away from the declared content-type as the header instructs the browser not to override the response content type. With the nosniff option, if the server says the content is text/html, the browser will render it as text/html.

    0.# prevent mime based attacks
    1.Header set X-Content-Type-Options \"nosniff\"

    Additional Reading


    Regex Character Definitions For htaccess

    #
    the # instructs the server to ignore the line. used for including comments. each line of comments requires it’s own #. when including comments, it is good practice to use only letters, numbers, dashes, and underscores. this practice will help eliminate/avoid potential server parsing errors.

    [F]
    Forbidden: instructs the server to return a 403 Forbidden to the client.

    [L]
    Last rule: instructs the server to stop rewriting after the preceding directive is processed.

    [N]
    Next: instructs Apache to rerun the rewrite rule until all rewriting directives have been achieved.

    [G]
    Gone: instructs the server to deliver Gone (no longer exists) status message.

    [P]
    Proxy: instructs server to handle requests by mod_proxy

    [C]
    Chain: instructs server to chain the current rule with the previous rule.

    [R]
    Redirect: instructs Apache to issue a redirect, causing the browser to request the rewritten/modified URL.

    [NC]
    No Case: defines any associated argument as case-insensitive. i.e., \"NC\" = \"No Case\".

    [PT]
    Pass Through: instructs mod_rewrite to pass the rewritten URL back to Apache for further processing.

    [OR]
    Or: specifies a logical \"or\" that ties two expressions together such that either one proving true will cause the associated rule to be applied.

    [NE]
    No Escape: instructs the server to parse output without escaping characters.

    [NS]
    No Subrequest: instructs the server to skip the directive if internal sub-request.

    [QSA]
    Append Query String: directs server to add the query string to the end of the expression (URL).

    [S=x]
    Skip: instructs the server to skip the next \"x\" number of rules if a match is detected.

    [E=variable:value]
    Environmental Variable: instructs the server to set the environmental variable \"variable\" to \"value\".

    [T=MIME-type]
    Mime Type: declares the mime type of the target resource.

    []
    specifies a character class, in which any character within the brackets will be a match. e.g., [xyz] will match either an x, y, or z.

    []+
    character class in which any combination of items within the brackets will be a match. e.g., [xyz]+ will match any number of x’s, y’s, z’s, or any combination of these characters.

    [^]
    specifies not within a character class. e.g., [^xyz] will match any character that is neither x, y, nor z.

    [a-z]
    a dash (-) between two characters within a character class ([]) denotes the range of characters between them. e.g., [a-zA-Z] matches all lowercase and uppercase letters from a to z.

    a{n}
    specifies an exact number, n, of the preceding character. e.g., x{3} matches exactly three x’s.

    a{n,}
    specifies n or more of the preceding character. e.g., x{3,} matches three or more x’s.

    a{n,m}
    specifies a range of numbers, between n and m, of the preceding character. e.g., x{3,7} matches three, four, five, six, or seven x’s.

    ()
    used to group characters together, thereby considering them as a single unit. e.g., (perishable)?press will match press, with or without the perishable prefix.

    ^
    denotes the beginning of a regex (regex = regular expression) test string. i.e., begin argument with the proceeding character.

    $
    denotes the end of a regex (regex = regular expression) test string. i.e., end argument with the previous character.

    ?
    declares as optional the preceding character. e.g., monzas? will match monza or monzas, while mon(za)? will match either mon or monza. i.e., x? matches zero or one of x.

    !
    declares negation. e.g., “!string” matches everything except “string”.

    .
    a dot (or period) indicates any single arbitrary character.

    -
    instructs “not to” rewrite the URL, as in “...domain.com.* - [F]”.

    +
    matches one or more of the preceding character. e.g., G+ matches one or more G’s, while \"+\" will match one or more characters of any kind.

    *
    matches zero or more of the preceding character. e.g., use “.*” as a wildcard.

    |
    declares a logical “or” operator. for example, (x|y) matches x or y.

    \\
    escapes special characters ( ^ $ ! . * | ). e.g., use “\\.” to indicate/escape a literal dot.

    \\.
    indicates a literal dot (escaped).

    /*
    zero or more slashes.

    .*
    zero or more arbitrary characters.

    ^$
    defines an empty string.

    ^.*$
    the standard pattern for matching everything.

    [^/.]
    defines one character that is neither a slash nor a dot.

    [^/.]+
    defines any number of characters which contains neither slash nor dot.

    http://
    this is a literal statement — in this case, the literal character string, “http://”.

    ^domain.*
    defines a string that begins with the term “domain”, which then may be proceeded by any number of any characters.

    ^domain\\.com$
    defines the exact string “domain.com”.

    -d
    tests if string is an existing directory

    -f
    tests if string is an existing file

    -s
    tests if file in test string has a non-zero value


    List of Special Characters to Escape

    Any character that has a meaning in regular expressions or mod_rewrite needs to be escaped using a backslash (\\).

    ^ $ % . * + ? ( ) { } [ ] | \\

    Example:

    0.RewriteCond %{REMOTE_HOST} ^.*\\.yandex\\.ru$ [NC,OR]
    1.RewriteCond %{HTTP_USER_AGENT} ^Mozilla/4\\.0\\ \\(compatible;\\)$ [NC,OR]

    ','.htacess security','','publish','closed','closed','','htacess-security','','','2017-12-11 06:27:58','2017-12-11 06:27:58','',0,'http://www.acctcrop.softwarewebdesign.com/?page_id=19',0,'page','',0),(20,1,'2017-12-11 06:27:58','2017-12-11 06:27:58','
    Securing your website with .htaccess
    Written by Kimberly on Wednesday, 17 November 2010. Posted in Security Viewed 47063 times
    \"stopmalvertising.com\"
    When you have a website, you need to deal with and protect yourself from common attacks such as Cross-Site Scripting, Local File Inclusion and SQL Injection which all start with transmission of hostile commands via the HTTP Request. The challenge consists of separating legitimate requests from the hostile or malicious ones.

    If the website is hosted on an Apache server, there is a powerful mechanism available to help mitigating attacks: the Apache .htaccess file. Properly configured, the .htaccess file on a server with mod_rewrite enabled can provide a robust defense against many HTTP Request attacks.

    The .htaccess file is very powerful; therefore I recommend a full backup of your website before you start editing your .htaccess file. The slightest syntax error can result in an internal server malfunction and usually you\'ll get a 500 error (Internal Server Error) message. Once you’re done it is very important to verify your entire website’s functionality. If any errors are encountered, remove or comment out the newly added directives.

    Note: if you\'re using Notepad for editing purposes, which I DO NOT recommend, turn of word-wrap and when saving the .htaccess file make sure to save it as:

    File Type: All Files (not as a text document or it wont work).
    Name: .htaccess

    \"htaccess


    What is an .htaccess file?

    An .htaccess file or distributed configuration file is a plain text file containing a list of configuration directives (rules) and provides a way to make configuration changes on a per-directory basis.

    A website can have more than one .htaccess file, i.e. specific instructions may be applied at individual directory level. The .htaccess file will be read on every HTTP Request submitted to the web server. Changes made to this file therefore take immediate effect.


    Will my hosting provider let me use an htaccess file?

    If your website is hosted on an Apache server, your hosting company should allow the use of .htaccess files. If your host does not allow the use of .htaccess files, I’d recommend you change to one that does.


    Is mod_rewrite enabled?

    If you don\'t have shell (or other) access to the apache configuration file (httpd.conf) and the host supports php, just paste the text below into a text editor and save the file as info.php in your public html path.

    0.<?php
    1.phpinfo();
    2.?>

    Next run info.php from a browser. Scroll down to the Apache section and check Loaded Modules. Once you’ve obtained the necessary info, delete info.php from your server.

    Another simple way to verify if mod_rewrite is enabled consists of creating a single redirect to test it. Add the following lines to the top of your .htaccess file and re-upload it to your server.

    0.RewriteEngine on
    1.RewriteRule testpage\\.html http://www.google.com [R]

    Once the .htaccess file has been updated, enter the following into your browser:

    http://www.yoursite.com/testpage.html

    Replace www.yoursite.com with your website\'s name. This should automatically redirect you to Google. If this redirect works, then mod_rewrite IS working on your server.


    Is .htaccess enabled?

    It\'s rather unusual, but possible that .htaccess is not enabled on your site. If you have access to the server configuration files, it\'s quite easy to fix; open your httpd.conf in a text editor (without word-wrap enabled), and locate the section.

    Locate the line that reads..

    AllowOverride None

    And change it to..

    AllowOverride All

    Restart Apache. Now .htaccess should work.

    If you don’t have access to the server configuration files then you’re probably on shared hosting and if your .htaccess file doesn’t work then you’ll need to contact your webhosting provider and ask them if they provide support for it.

    If you don’t have FTP or cPanel access to your website, DO NOT upload or create a .htaccess file(s). Seek assistance from your hosting company instead as you might fire off a 500 error (Internal Server Error) and once this occurs you won’t be able to access the site through a browser.


    What types of rules can the file contain?

    The most common security related directives (rules) .htaccess may contain are:

    • Authorization or authentication (username/password) control at directory level
    • Use of allow/deny rules to block users by IP address or domain
    • Customized error responses - e.g. page not found (404)
    • Directory listing – what to do if a directory rather than a page is requested
    • URL Rewriting – can be used for a number of purposes including search engine optimization (SEO), redirection of moved content, hot linking and security processing of the HTTP Request.

    Commenting .htaccess code

    Comments in the .htaccess file are allowed on a per-line basis, each line of comments is preceded by the # (pound) sign. Comments running over several lines require thus multiple # signs. It’s also advised to use only letters, numbers, dashes, and underscores in the comments. This safe practice will contribute in avoiding potential server parsing errors.

    0.# this is a comment
    1.# each line must have its own pound sign
    2.# only use letters and numbers along with dashes - and underscores _

    Enable Basic Rewriting

    To ensure mod_rewrite (basic rewriting) is enabled on your site, add the following line to your site’s root htaccess file:

    0.# enable basic rewriting
    1.RewriteEngine on

    Enable Symbolic Links

    Enable symbolic links (symlinks) by adding the following directive to the .htaccess file.

    0.# enable symbolic links
    1.Options +FollowSymLinks

    Some webhosting companies may have swapped FollowSymLinks to SymLinksIfOwnerMatch due to security reasons. Check with your provider which directive should be used.


    What is order allow,deny?

    Order allow,deny is a setting in your Apache web server configuration that is used to allow or restrict access.

    The allow directive affects who can access an area of the server or website. Access is usually controlled by hostname, IP address, or IP address range.

    The deny directive restricts access to the server. Restrictions can be based again on hostname, IP address, or environment variables.

    Order allow,deny tells your server that the allow rules are processed before the deny rules. If the client does not match the allow rule or it does match the deny rule, then the client will be denied access.

    Order deny, allow means that the deny rules are processed before the allow rules. If the client does not match the deny rule or it does match the allow rule, then it will be granted access.


    Deny Access to .htaccess

    Any attempt to access the .htaccess file will result in a 403 error message.

    0.# locked htaccess file
    1.< Files .htaccess>
    2. order allow,deny
    3. deny from all
    4.< /Files>

    Deny Access to a Specific File

    Similar to the above example you can restrict access to a specific file by simply adding the following code. Edit the file name accordingly.

    0.# deny viewing of a specific file
    1.<files myfile.png>
    2. order allow,deny
    3. deny from all
    4.</files>

    Deny Access to Multiple File Types

    To restrict access to certain file types, add the following code and edit the file types you wish to protect. As you might notice you need to escape the dot (.) this is done by typing a backslash (\\) in front of the character that needs escaping.

    0.<FilesMatch \"\\.(htaccess|ini|log)$\">
    1. Order allow,deny
    2. deny from all
    3.</FilesMatch>

    Disable Directory Browsing

    If your site does not have default index page everything within the root of your site will be accessible to all visitors. Disabling directory browsing will instruct the server to display a \"403 Forbidden - Authorization Required\" message for any request to view a directory.

    0.# deny directory browsing
    1.Options All -Indexes

    To enable directory browsing, use the following directive:

    0.# allow directory browsing
    1.Options All +Indexes

    The following rule will prevent the server from listing directory contents:

    0.# deny folder listing
    1.IndexIgnore *

    The IndexIgnore directive can also be used to prevent the display of select file types:

    0.# no display of select file types
    1.IndexIgnore *.wmv *.mp4 *.avi *.etc

    Deny Access to a Specific Directory / Folder

    Restricting directory / folder access is probably one of the most frequently used .htaccess techniques. To deny all requests for the restricted directory or folder, prepare a .htaccess file in that directory and put the following directive in it:

    0.# deny directory access
    1.deny from all

    Allow access from a certain IP (where xxx.xxx.xxx.xxx is your IP):

    0.# deny directory access and allow your IP
    1.order deny,allow
    2.deny from all
    3.allow from xxx.xxx.xxx.xxx

    There is a different way to archive the same objective by using the code below (where xxx.xxx.xxx.xxx is your IP):

    00.# deny directory access and allow your IP
    01.IndexIgnore .htaccess * */.??* *~ *#
    02.DirectoryIndex index.php index.html
    03. 
    04.RewriteCond %{REMOTE_ADDR} !^xxx\\.xxx\\.xxx\\.xxx
    05.RewriteRule .* - [F,L]
    06. 
    07.RewriteCond %{HTTP_HOST} .
    08.RewriteCond %{HTTP_HOST} !^yourdomain\\.com
    09.RewriteRule (.*) http://yourdomain.com/directory_to_deny_access_to/$1 [R=301,L]

    Set A Default Index Page

    The rule below tells the server to display \"content.html\" as the default directory index.

    0.# display other default index page
    1.DirectoryIndex content.html

    This rule is similar, but the server will search the root folder for the listed files and load the first match it encounters.

    0.# show first available default index page from list
    1.DirectoryIndex index.html index.php default.html

    Redirecting www Requests

    Redirect www.yoursite.com HTTP requests to yoursite.com using a 301 redirect.

    0.RewriteCond %{HTTP_HOST} .
    1.RewriteCond %{HTTP_HOST} !^yoursite\\.com
    2.RewriteRule (.*) http://yoursite.com/$1 [R=301,L]

    If your site uses HTTPS, then this code will need to be modified to preserve the http / https in the incoming requests.

    0.RewriteCond %{HTTP_HOST} .
    1.RewriteCond %{HTTP_HOST} !^yoursite\\.com
    2.RewriteCond %{SERVER_PORT}>s ^(443>(s)|[0-9]+>s)$
    3.RewriteRule (.*) http://yoursite.com/$1 [R=301,L]

    Custom Error Documents

    The .htaccess file is where most people configure their error documents:

    0.# serve custom error pages
    1.ErrorDocument 400 /errors/400.html
    2.ErrorDocument 401 /errors/401.html
    3.ErrorDocument 403 /errors/403.html
    4.ErrorDocument 404 /errors/404.html
    5.ErrorDocument 500 /errors/500.html

    Password-protect Files / Directories

    Secure the site contents by requiring user authentication for specified files and/or directories. Adjust the AuthName field to suit your needs: members only , admin section ...

    00.# password-protect single file
    01.<Files admin.php>
    02.AuthType basic
    03.AuthName \"Admin Panel\"
    04.AuthUserFile /home/path/.htpasswd
    05.Require valid-user
    06.</Files>
    07.# password-protect multiple files
    08.<FilesMatch \"^(index|secure|backup)*$\">
    09.AuthType basic
    10.AuthName \"Dev\"
    11.AuthUserFile /home/path/.htpasswd
    12.Require valid-user
    13.</FilesMatch>
    14.# password-protect the directory in which this htaccess rule resides
    15.AuthType basic
    16.AuthName \"This directory is protected\"
    17.AuthUserFile /home/path/.htpasswd
    18.AuthGroupFile /dev/null
    19.Require valid-user

    Allow or Deny by IP Address and/or Domain

    Deny access to everyone except your LAN and domain.com:

    0.# no one gets in
    1.order deny,allow
    2.deny from all
    3.allow from 192.168.0.0/24
    4.allow from .*domain\\.com.*

    Sometimes, you will only want to ban a single IP, a persistent bot or a forum spammer ...

    0.order allow,deny
    1.#Botnet controller
    2.deny from 78.109.29.112
    3.allow from all

    There are different ways to block a range of IP’s via the .htaccess file.

    • By their CIDR number - 76.73.0.0/17
    • By truncating digits until the desired IP range is obtained - 76.73.0.* - blocks all IP’s between 76.73.0.0 and 76.73.0.255
    0.order allow,deny
    1.#FakeGoogleBots-ProxyHijacks
    2.deny from 76.73.0.0/17
    3.deny from 76.73.0.*
    4.deny from 76.73.*.*
    5.deny from 76.*.*.*
    6.allow from all

    It is possible to block an entire range of IP addresses. Below are a few examples illustrating proper .htaccess syntax:

    00.order allow,deny
    01.# block a partial domain via network/netmask values
    02.deny from 76.73.0.0/255.255.0.0
    03.# block domain.com but allow sub.domain.com
    04.deny from domain.com
    05.allow from sub.domain.com
    06.#RFI attacks
    07.deny from 70.86.235.162
    08.deny from 72.249.108.140
    09.deny from 81.176.226.194
    10.allow from all

    Stop Hotlinking

    Bandwidth theft or hotlinking is direct linking to a web site\'s files, usually images, video, etc...

    \"htaccess

    Example: You’ve got some pictures illustrating an article and someone else uses an <img> tag to show that image on their webpage page instead of hosting the image themselves.

    Bandwidth refers to the amount of data transferred from a web site to a user\'s computer. When you visit a web page, you are using that site\'s bandwidth to display the files. Depending on your web hosting provider, if a site is over its monthly bandwidth, the owner gets billed for the extra data or the site might be taken offline.

    To stop hotlinking of your images from other sites and display a replacement image called hotlink.gif, place this code in your .htaccess file:

    0.RewriteEngine On
    1.# stop hotlinking
    2.RewriteCond %{HTTP_REFERER} !^$
    3.RewriteCond %{HTTP_REFERER} !^http(s)?://(www\\.)?mysite\\.com/ [NC]
    4.RewriteCond %{REQUEST_URI} !^/hotlinking/hotlink\\.gif$
    5.RewriteRule \\.(gif|jpe?g|bmp|swf)$ /hotlinking/hotlink.gif [NC,L]

    Allow hotlinking from a couple of websites can be done in two ways, either put each domain on its own line or simply put several keywords separated by a pipe (|) character.

    00.RewriteEngine On
    01.# stop hotlinking
    02.RewriteCond %{HTTP_REFERER} !^$
    03.RewriteCond %{HTTP_REFERER} !^http(s)?://(www\\.)?mysite\\.com/ [NC]
    04.# allow myspace and facebook
    05.RewriteCond %{HTTP_REFERER} !^http://(www\\.)?myspace\\.com [NC]
    06.RewriteCond %{HTTP_REFERER} !^http://(www\\.)?facebook\\.com [NC]
    07.# allow different subdomains from mail.live.com
    08.RewriteCond %{HTTP_REFERER} !^http://([^.]+\\.)+mail\\.live\\.com [NC]
    09.# allow several search engines
    10.RewriteCond %{HTTP_REFERER} !(google|msn|bing|bingj|yahoo|ask)\\. [NC]
    11.RewriteCond %{REQUEST_URI} !^/hotlinking/hotlink\\.gif$
    12.RewriteRule \\.(gif|jpe?g|bmp|swf)$ /hotlinking/hotlink.gif [NC,L]

    To deliver a standard or custom error page instead of a replacement image, replace the line containing the RewriteRule in the above htaccess directive with the following line:

    0.# serve a standard 403 forbidden error page
    1.RewriteRule \\.(gif|jpe?g|bmp|swf)$ - [F,L]

    You can also get an excellent PHP script called Auto-HotLink. What I like most about it: It logs the HTTP requests so you can actually see who’s hotlinking your files.


    Block Evil Robots, Site Rippers ...

    The block of code below will block some unwanted junk from accessing your website. Any listed user agents will be denied access and receive an error message instead. Below are a couple of examples of user agents you really don\'t want to access your site.

    Note: DO NOT include the \"[OR]\" on the very last RewriteCond or your server will crash, delivering 500 Errors to all page requests.

    00.RewriteBase /
    01.# useragents starting with
    02.RewriteCond %{HTTP_USER_AGENT} ^atraxbot [NC,OR]
    03.RewriteCond %{HTTP_USER_AGENT} ^Azureus [NC,OR]
    04.RewriteCond %{HTTP_USER_AGENT} ^geohasher [NC,OR]
    05.RewriteCond %{HTTP_USER_AGENT} ^PycURL [NC,OR]
    06.RewriteCond %{HTTP_USER_AGENT} ^Python-urllib [NC,OR]
    07.RewriteCond %{HTTP_USER_AGENT} ^research-scan-bot [NC,OR]
    08.RewriteCond %{HTTP_USER_AGENT} ^Sosospider [NC,OR]
    09.RewriteCond %{HTTP_USER_AGENT} ^Wget [NC,OR]
    10.RewriteCond %{HTTP_USER_AGENT} ^xenu [NC,OR]
    11.# user agent contains string
    12.RewriteCond %{HTTP_USER_AGENT} ^.*casper [NC,OR]
    13.RewriteCond %{HTTP_USER_AGENT} ^.*goblox [NC,OR]
    14.RewriteCond %{HTTP_USER_AGENT} ^.*sun4u [NC]
    15.RewriteRule ^(.*)$ - [F]

    You can also include specific referrers by using HTTP_REFERER or block requests from a particular remote host using REMOTE_HOST:

    0.RewriteBase /
    1.# block amazon cloud
    2.RewriteCond %{HTTP_REFERER} ^http://(([^.]+\\.)+)?amazonaws\\.com [NC,OR]
    3.RewriteCond %{REMOTE_HOST} ^.*\\.amazonaws\\.com$ [NC,OR]
    4.# block remote hosts starting with mail or smtp
    5.RewriteCond %{REMOTE_HOST} ^mail(.*)\\. [NC,OR]
    6.RewriteCond %{REMOTE_HOST} ^smtp(.*)\\. [NC]
    7.RewriteRule ^(.*)$ - [F]

    Block Semalt (semalt.com) Referrer Spam. The directive below will block all traffic coming from semalt.com and any subdomain (semalt.semalt.com)

    0.RewriteBase /
    1.# block semalt referrer spam
    2.RewriteCond %{HTTP_REFERER} ^http://(([^.]+\\.)+)?semalt\\.com [NC]
    3.RewriteRule ^(.*)$ - [F]

    Instead of delivering a friendly error message you could also send these bad boys to a (bad) website of your choice by replacing the RewriteRule in the last line with the name of the domain where you want to redirect them to.


    Block empty user agents and empty HTTP referrers

    Sometimes you want to block empty user agents and empty HTTP referrers as there\'s no reason for browsers to request only images from your website and if those requests show up with an empty user agent and HTTP referrer, it\'s most certainly a bot that\'s scraping those images. The directive below will stop such requests.

    0.# Blank UA and Referer
    1.RewriteCond %{HTTP_REFERER} ^$ [NC]
    2.RewriteCond %{HTTP_USER_AGENT} ^$ [NC]
    3.RewriteRule ^(.*)\\.(ico|gif|jpe?g|png|bmp|swf)$ - [F,L]

    If you wish to apply this rule to all your pages, no matter which content is requested, replace the above RewriteRule with the code below:

    0.RewriteRule .* - [F,L]

    Disable the Server Signature

    To remove the server signature which is displayed as part of the default Apache error documents, use the following code:

    0.ServerSignature Off

    Permanently Redirect a Specific IP

    Sometimes you want to create permanent redirect (301) when the request is coming from a particular IP. In other words, if someone from 123.45.67.8 visits the website, the visitor will be redirected to Google for example. All other visitors will be able to access the site.

    0.RewriteEngine On
    1.RewriteCond %{REMOTE_ADDR} ^123\\.45\\.67\\.8$
    2.RewriteRule ^(.*)$ http://google.com [L]

    Permanently Redirect Multiple IP\'s

    Sometimes you might want to redirect multiple IP addresses to another URL, preventing access to your webiste from those IP\'s. One way of doing this is to add [OR] to the end of the first RewriteCond and add another IP on the next line. Do NOT place an [OR] on the final RewriteCond.

    0.RewriteEngine On
    1.RewriteCond %{REMOTE_ADDR} ^123\\.45\\.67\\.8$ [OR]
    2.RewriteCond %{REMOTE_ADDR} ^123\\.110\\.253\\.195$ [OR]
    3.RewriteCond %{REMOTE_ADDR} ^123\\.8\\.67\\.54$
    4.RewriteRule ^(.*)$ http://google.com [L]

    Allow Multiple IP\'s and Redirect Everyone Else

    During site development for example you might want to allow the administrators / developers to access the frontend of the CMS and redirect other visitors to a maintenance page.

    The rules are pretty similar to the above ones, except that with when using a negation sign - ! - you DON\'T add the [OR] to the end of the RewriteCond.

    0.RewriteEngine On
    1.#Allow the IP\'s below to access the CMS frontend and redirect visitors to offline.html
    2.RewriteCond %{REMOTE_ADDR} !^123\\.45\\.67\\.89$
    3.RewriteCond %{REMOTE_ADDR} !^98\\.76\\.54\\.32$
    4.RewriteCond %{REQUEST_URI} !/offline\\.html$ [NC]
    5.RewriteRule ^(.*)$ /offline\\.html [R=302,L]

    More Redirect Fun ...

    Using the above rules you can also prevent a visitor from a particular IP from accessing a specific page on your site and redirect the visitor to Google.

    0.RewriteEngine On
    1.RewriteCond %{REMOTE_ADDR} ^123\\.45\\.67\\.8$
    2.RewriteCond %{REQUEST_URI} /a-particular-requested-page\\.html$
    3.RewriteRule ^(.*)$ http://google.com [L]

    Or to another page ...

    0.RewriteEngine On
    1.RewriteCond %{REMOTE_ADDR} ^123\\.45\\.67\\.8$
    2.RewriteCond %{REQUEST_URI} /a-particular-requested-page\\.html$
    3.RewriteRule .* /a-page-made-for-you.html [R=301,L]

    You could also redirect multiple IP\'s to a PHP script which will send them to different destinations. When someone is abusing your website you could for example redirect them to the acceptable use policy (AUP) of their webhost.

    0.RewriteEngine On
    1.RewriteCond %{REMOTE_ADDR} ^123\\.45\\.67\\.8$ [OR]
    2.RewriteCond %{REMOTE_ADDR} ^123\\.110\\.253\\.195$ [OR]
    3.RewriteCond %{REMOTE_ADDR} ^123\\.8\\.67\\.54$
    4.RewriteCond %{REQUEST_URI} !/myscript\\.php$ [NC]
    5.RewriteRule ^(.*)$ myscript.php [R=301,L]

    Enhanced .htaccess Directives

    Below are a couple of rules initially posted on 0x000000.com, a white hacker website, according to a post here. They will help in blocking attacks against your server.

    I personally took out the single quote / apostrophe (\') in the rule on line 05 that \"blocks out the use of illegal or unsafe characters in the Referer Variable of the HTTP Request\". The quote may appear in a search query as seen below and thus innocently block the visitor.

    google.com/search?....&q=pdf+parser+\'FlateDecode+decompress+failed\'
    00.# Prevent use of specified methods in HTTP Request
    01.RewriteCond %{REQUEST_METHOD} ^(HEAD|TRACE|DELETE|TRACK) [NC,OR]
    02.# Block out use of illegal or unsafe characters in the HTTP Request
    03.RewriteCond %{THE_REQUEST} ^.*(\\\\r|\\\\n|%0A|%0D).* [NC,OR]
    04.# Block out use of illegal or unsafe characters in the Referer Variable of the HTTP Request
    05.RewriteCond %{HTTP_REFERER} ^(.*)(<|>|\'|%0A|%0D|%27|%3C|%3E|%00).* [NC,OR]
    06.# Block out use of illegal or unsafe characters in any cookie associated with the HTTP Request
    07.RewriteCond %{HTTP_COOKIE} ^.*(<|>|\'|%0A|%0D|%27|%3C|%3E|%00).* [NC,OR]
    08.# Block out use of illegal characters in URI or use of malformed URI
    09.RewriteCond %{REQUEST_URI} ^/(,|;|:|<|>|\">|\"<|/|\\\\\\.\\.\\\\).{0,9999}.* [NC,OR]
    10.# Block out  use of empty User Agent Strings
    11.# NOTE - disable this rule if your site is integrated with Payment Gateways such as PayPal
    12.RewriteCond %{HTTP_USER_AGENT} ^$ [OR]
    13.# Block out  use of illegal or unsafe characters in the User Agent variable
    14.RewriteCond %{HTTP_USER_AGENT} ^.*(<|>|\'|%0A|%0D|%27|%3C|%3E|%00).* [NC,OR]
    15.# Measures to block out  SQL injection attacks
    16.RewriteCond %{QUERY_STRING} ^.*(;|<|>|\'|\"|\\)|%0A|%0D|%22|%27|%3C|%3E|%00).*(/\\*|union|select|insert|cast|set|declare|drop|update|md5|benchmark).* [NC,OR]
    17.# Block out  reference to localhost/loopback/127.0.0.1 in the Query String
    18.RewriteCond %{QUERY_STRING} ^.*(localhost|loopback|127\\.0\\.0\\.1).* [NC,OR]
    19.# Block out  use of illegal or unsafe characters in the Query String variable
    20.RewriteCond %{QUERY_STRING} ^.*(<|>|\'|%0A|%0D|%27|%3C|%3E|%00).* [NC]

    Many websites, about 70-80%, are vulnerable against LFI attacks and hackers will attempt to exploit this to get a shell on the server. Below is an example of php code that is vulnerable to LFI:

    0.<?php
    1.// LFI Vulnerable Code
    2.$redirect = $_GET[redirect];
    3.include($redirect);
    4.?>

    The code below, graciously provided SigSiu.net, should help against Local and Remote File Inclusion attacks.

    0.########## Begin - File injection protection, by SigSiu.net
    1.RewriteCond %{REQUEST_METHOD} GET
    2.RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=http:// [OR]
    3.RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=(\\.\\.//?)+ [OR]
    4.RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=/([a-z0-9_.]//?)+ [NC]
    5.RewriteRule .* - [F]
    6.########## End - File injection protection

    In addition to the above rules you might want to add the one below in case they use URL encoding in the http:// part.

    0.RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=http%3A%2F%2F [OR]

    Adding the following directive in the .htaccess file should give you an additional layer of security against this type of attacks using the proc/self/environ method.

    0.#proc/self/environ? no way!
    1.RewriteCond %{QUERY_STRING} proc\\/self\\/environ [NC,OR]

    Apache HTTP Server CVE-2011-3192 Denial Of Service Vulnerability

    The directive below will help against the Apache HTTP Server CVE-2011-3192 Denial Of Service Vulnerability discovered in August 2011 if you can\'t update Apache to the latest version.

    0.# drop Range header when more than 5 ranges.
    1.# CVE-2011-3192
    2.SetEnvIf Range (,.*?){5,} bad-range=1
    3.RequestHeader unset Range env=bad-range
    4.# optional logging.
    5.#CustomLog insert-path-and-name-of-log common env=bad-range

    PHP-CGI Remote Code Execution Bug (CVE-2012-1823)

    The directive below will help against the PHP-CGI Remote Code Execution Bug (CVE-2012-1823) discovered on the 3rd May 2012 by Security Researchers from Eindbazen

    0.# PHP-CGI Vulnerability
    1.RewriteCond %{QUERY_STRING} ^(%2d|\\-)[^=]+$ [NC]
    2.RewriteRule (.*) - [F,L]

    HTTP Headers to Help Secure Your Website

    Preventing cross-site request forgery (CSRF) attacks is hard and web applications must be built to prevent CSRF vulnerabilities. The first vulnerability is cross-site scripting (XSS).

    Around 40.000 web sites have been catalogued by XSSed as being vulnerable to cross-site scripting (XSS). These attacks leave your users open to cookie theft, information theft, account hijacking, clickjacking and more.

    Modern web browsers have some powerful protection build in nowadays but you need to tell the browser that you want those protection mechanisms used for your website. This can be archived by setting specific HTTP headers.

    X-Frame-Options

    The X-Frame-Options HTTP response header can be used to indicate whether or not a browser should be allowed to render a page in a <frame> or <iframe>. This can be used to avoid clickjacking attacks, by ensuring that your content is not embedded into other sites.

    This directive is pretty similar to the frame buster code explained in \"Double Trouble on Google Images\" except that it is only supported in the following browsers:

    • Internet Explorer 8+
    • Opera 10.50+
    • Safari 4+
    • Chrome 4.1.249.1042+
    • Firefox 3.6.9+ (or earlier with NoScript)

    There are three possible values for this header:

    1. DENY - This setting prevents any pages served from being placed in a frame even if it is on the same website it originates from. should be used if you never intend for your pages to be used inside of a frame.
    2. SAMEORIGIN - This setting allows pages to be served in a frame of a page on the same website. If an external site attempts to load the page in a frame the request will be denied.
    3. ALLOW-FROM origin - If the value contains the token ALLOW-FROM origin, the browser will block rendering only if the origin of the top-level browsing context is different than the origin value supplied with the Allow-From directive.

    The code below sets the directive to DENY, preventing our pages from being served in any frames, even from our own website.

    0.# Don\'t allow any pages to be framed - Defends against CSRF
    1.Header set X-Frame-Options DENY

    Additional Reading:

    X-XSS-Protection

    This header is exclusive to Internet Explorer 8 and 9, it turns on cross site scripting protection in IE 8 and IE 9 which is turned off by default as it could potentially break some websites. To turn on the XSS filter, use the header X-XSS-Protection \"1; mode=block\". If you wish to prevent this filter from being turned on for your website set the headers value to \"0\";

    0.# Turn on IE8-IE9 XSS prevention tools
    1.Header set X-XSS-Protection \"1; mode=block\"
    X-Content-Security-Policy

    Content Security Policy (CSP) is an added layer of security that helps to detect and mitigate certain types of attacks, including Cross Site Scripting (XSS) and data injection attacks. These attacks are used for everything from data theft to site defacement or distribution of malware. This header is designed to specify how content interacts with your website.

    Setting this directive to \"allow \'self\';\" will prevent our pages from loading any external JavaScript or running any inline JavaScript. Our website will be safer from XSS attacks as it becomes more difficult for an attacker to run JavaScript in the visitor’s browser through a framed page on our website or through a SQL injection.

    There are a lot of settings available for this header and I really urge you to read the Mozilla Wiki page before using CSP as you will have to allow certain external content if you run Google Adsense for example.

    0.# Only allow JavaScript from the same domain to be run.
    1.# Don\'t allow inline JavaScript to run.
    2.Header set X-Content-Security-Policy \"allow \'self\';\"
    X-Content-Type-Options: nosniff

    This header prevents \"mime\" based attacks. This header prevents Internet Explorer from MIME-sniffing a response away from the declared content-type as the header instructs the browser not to override the response content type. With the nosniff option, if the server says the content is text/html, the browser will render it as text/html.

    0.# prevent mime based attacks
    1.Header set X-Content-Type-Options \"nosniff\"

    Additional Reading


    Regex Character Definitions For htaccess

    #
    the # instructs the server to ignore the line. used for including comments. each line of comments requires it’s own #. when including comments, it is good practice to use only letters, numbers, dashes, and underscores. this practice will help eliminate/avoid potential server parsing errors.

    [F]
    Forbidden: instructs the server to return a 403 Forbidden to the client.

    [L]
    Last rule: instructs the server to stop rewriting after the preceding directive is processed.

    [N]
    Next: instructs Apache to rerun the rewrite rule until all rewriting directives have been achieved.

    [G]
    Gone: instructs the server to deliver Gone (no longer exists) status message.

    [P]
    Proxy: instructs server to handle requests by mod_proxy

    [C]
    Chain: instructs server to chain the current rule with the previous rule.

    [R]
    Redirect: instructs Apache to issue a redirect, causing the browser to request the rewritten/modified URL.

    [NC]
    No Case: defines any associated argument as case-insensitive. i.e., \"NC\" = \"No Case\".

    [PT]
    Pass Through: instructs mod_rewrite to pass the rewritten URL back to Apache for further processing.

    [OR]
    Or: specifies a logical \"or\" that ties two expressions together such that either one proving true will cause the associated rule to be applied.

    [NE]
    No Escape: instructs the server to parse output without escaping characters.

    [NS]
    No Subrequest: instructs the server to skip the directive if internal sub-request.

    [QSA]
    Append Query String: directs server to add the query string to the end of the expression (URL).

    [S=x]
    Skip: instructs the server to skip the next \"x\" number of rules if a match is detected.

    [E=variable:value]
    Environmental Variable: instructs the server to set the environmental variable \"variable\" to \"value\".

    [T=MIME-type]
    Mime Type: declares the mime type of the target resource.

    []
    specifies a character class, in which any character within the brackets will be a match. e.g., [xyz] will match either an x, y, or z.

    []+
    character class in which any combination of items within the brackets will be a match. e.g., [xyz]+ will match any number of x’s, y’s, z’s, or any combination of these characters.

    [^]
    specifies not within a character class. e.g., [^xyz] will match any character that is neither x, y, nor z.

    [a-z]
    a dash (-) between two characters within a character class ([]) denotes the range of characters between them. e.g., [a-zA-Z] matches all lowercase and uppercase letters from a to z.

    a{n}
    specifies an exact number, n, of the preceding character. e.g., x{3} matches exactly three x’s.

    a{n,}
    specifies n or more of the preceding character. e.g., x{3,} matches three or more x’s.

    a{n,m}
    specifies a range of numbers, between n and m, of the preceding character. e.g., x{3,7} matches three, four, five, six, or seven x’s.

    ()
    used to group characters together, thereby considering them as a single unit. e.g., (perishable)?press will match press, with or without the perishable prefix.

    ^
    denotes the beginning of a regex (regex = regular expression) test string. i.e., begin argument with the proceeding character.

    $
    denotes the end of a regex (regex = regular expression) test string. i.e., end argument with the previous character.

    ?
    declares as optional the preceding character. e.g., monzas? will match monza or monzas, while mon(za)? will match either mon or monza. i.e., x? matches zero or one of x.

    !
    declares negation. e.g., “!string” matches everything except “string”.

    .
    a dot (or period) indicates any single arbitrary character.

    -
    instructs “not to” rewrite the URL, as in “...domain.com.* - [F]”.

    +
    matches one or more of the preceding character. e.g., G+ matches one or more G’s, while \"+\" will match one or more characters of any kind.

    *
    matches zero or more of the preceding character. e.g., use “.*” as a wildcard.

    |
    declares a logical “or” operator. for example, (x|y) matches x or y.

    \\
    escapes special characters ( ^ $ ! . * | ). e.g., use “\\.” to indicate/escape a literal dot.

    \\.
    indicates a literal dot (escaped).

    /*
    zero or more slashes.

    .*
    zero or more arbitrary characters.

    ^$
    defines an empty string.

    ^.*$
    the standard pattern for matching everything.

    [^/.]
    defines one character that is neither a slash nor a dot.

    [^/.]+
    defines any number of characters which contains neither slash nor dot.

    http://
    this is a literal statement — in this case, the literal character string, “http://”.

    ^domain.*
    defines a string that begins with the term “domain”, which then may be proceeded by any number of any characters.

    ^domain\\.com$
    defines the exact string “domain.com”.

    -d
    tests if string is an existing directory

    -f
    tests if string is an existing file

    -s
    tests if file in test string has a non-zero value


    List of Special Characters to Escape

    Any character that has a meaning in regular expressions or mod_rewrite needs to be escaped using a backslash (\\).

    ^ $ % . * + ? ( ) { } [ ] | \\

    Example:

    0.RewriteCond %{REMOTE_HOST} ^.*\\.yandex\\.ru$ [NC,OR]
    1.RewriteCond %{HTTP_USER_AGENT} ^Mozilla/4\\.0\\ \\(compatible;\\)$ [NC,OR]

    ','.htacess security','','inherit','closed','closed','','19-revision-v1','','','2017-12-11 06:27:58','2017-12-11 06:27:58','',19,'http://www.acctcrop.softwarewebdesign.com/2017/12/11/19-revision-v1/',0,'revision','',0); INSERT INTO `swd_posts` VALUES (22,1,'2017-12-22 00:41:00','2017-12-22 00:41:00','
    <node>cheat sheets
    <node>constants
    <node>directory
    <node>example
    <node>hooks
    <node>SESSIONS
    <node>html5
    <node>reserved words
    <node>Settings
    <node>Upgrades
    <node>uploads
    <node>urls
    <node>How to Include a WordPress Page
    <node>Stupid WordPress Tricks
    <node>Ten Things Every WordPress Plugin Developer Should Know
    <node>WARNINGS
    <Treepad version 3.0>
    dt=
    <node>cheat sheets
    0
    http://www.buildyourownblog.net/blog/time-saving-copypaste-wordpress-cheat-sheet/The Time Saving Copy/Paste WordPress Cheat Sheet  
    while(have_posts()) {  
    the_post();  
    }  
      

    Use this WordPress Cheat Sheet page for a quick, categorized list of WordPress functions that are commonly used when building, updating and maintaining templates. Simple, Easy, Copy-Paste. The quick guide to common WordPress > Template functions. Pdf Icon

    --------------------------------------------------------------------------------
    Basic Template Files
    File Name
    Description
    style.css style sheet file  
    index.php home page file  
    header.php header content file  
    single.php single post page file  
    archive.php archive/category file  
    searchform.php search form file  
    search.php search content file  
    404.php error page file  
    comments.php comments template file  
    footer.php footer content file  
    sidebar.php sidebar content file  
    page.php single page file  
    front-page.php latest posts or static page  
    tag.php display tags in archive format  
    category.php display categories in archive format  
    Header Functions
    Function
    Description
    <?php site_url(); ?> root url for website  
    <?php wp_title(); ?> title of specific post/page  
    <?php bloginfo('name'); ?> title of site  
    <?php bloginfo('description'); ?> site description  
    <?php get_stylesheet_directory(); ?> stylesheet folder location  
    <?php bloginfo('stylesheet_url'); ?> style.css file location  
    <?php bloginfo('pingback_url'); ?> pingback url  
    <?php bloginfo('template_url'); ?> template folder path  
    <?php bloginfo('version'); ?> wordpress blog version  
    <?php bloginfo('atom_url'); ?> atom url  
    <?php bloginfo('rss2_url'); ?> rss2 url  
    <?php bloginfo('url'); ?> root url for website  
    <?php bloginfo('html_type'); ?> html version  
    <?php bloginfo('charset'); ?> charset parameter  
    Navigation Menu
    Default Navigation Menu
    <?php wp_nav_menu(); ?>  
    Specific Navigation Menu
    <?php wp_nav_menu( array('menu' => 'Project Nav' )); ?>  
    Category Based Navigation
    <ul id="menu">  
    <li <?php if(is_home()) { ?> class="current-cat" <?php } ?>>  
    <a href="<?php bloginfo('home'); ?>">Home</a></li>  
    <?php wp_list_categories('title_li=&orderby=id');?>  
    </ul>  
    Page Based Navigation
    <ul id="menu">  
    <li <?php if(is_home()) { ?> class="current-page-item" <?php } ?>>  
    <a href="<?php bloginfo('home'); ?>">Home</a></li>  
    <?php wp_list_pages('sort_column=menu_order&depth=1&title_li=');?>  
    </ul>  
    --------------------------------------------------------------------------------
    Template Functions
    Function
    Description
    <?php the_content(); ?> content of posts/pages  
    <?php if(have_posts()): ?> check if there are posts  
    <?php while(have_posts()): the_post(); ?> shows posts  
    <?php endwhile; ?> closes loop  
    <?php endif; ?> closes if  
    <?php get_header(); ?> header.php file contents  
    <?php get_sidebar(); ?> sidebar.php file contents  
    <?php get_footer(); ?> footer.php file contents  
    <?php the_time('m-d-y'); ?> the date is ’08-18-07'  
    <?php comments_popup_link(); ?> link to comments of post  
    <?php the_title(); ?> title of post/page  
    <?php the_permalink(); ?> url of post/page  
    <?php the_category(); ?> category of post/page  
    <?php the_author(); ?> author of post/page  
    <?php the_ID(); ?> id of post/page  
    <?php edit_post_link(); ?> edit link of post/page  
    <?php wp_list_bookmarks(); ?> links from blogroll  
    <?php comments_template(); ?> comment.php file contents  
    <?php wp_list_pages(); ?> list all pages  
    <?php wp_list_categories(); ?> list all categories  
    <?php next_post_link('%link'); ?> url to next post  
    <?php previous_post_list('%link'); ?> url to previous post  
    <?php get_calendar(); ?> show post calendar  
    <?php wp_get_archives(); ?> list of archive urls  
    <?php posts_nav_link(); ?> next and previous post link  
    <?php rewind_posts(); ?> rewinds post for a second loop  
    The Loop
    Basic Loop
    <?php if(have_posts()) { ?>  
    <?php while(have_posts()) { ?>  
    <?php the_post(); ?>  
    <?php // custom post content code for title, excerpt and featured image ?>  
    <?php } // end while ?>  
    <?php } // end if ?>  
    Extra Functions
    Function
    Description
    /%postname%/ custom permalinks  
    <?php include(TEMPLATEPATH . '/x'); ?> include file from template folder  
    <?php the_search_query(); ?> value returned from search from  
    <?php _e('Message'); ?> return translated text from translate()  
    <?php wp_register(); ?> register link  
    <?php wp_loginout(); ?> login/logout link  
    <!--nextpage--> divide content into pages  
    <!--more--> cut off content and create link to full post  
    <?php wp_meta(); ?> admin meta data  
    <?php timer_start(); ?> start page timer (header.php)  
    <?php timer_stop(1); ?> time to load the page (footer.php)  
    <?php echo get_num_queries(); ?> show queries executed to generate page
    <end node> 5P9i0s8y19Z
    dt=
    <node>constants
    1
    get_site_url()
    get_theme_root_uri(), get_stylesheet(), get_stylesheet_uri(), get_stylesheet_directory(), get_stylesheet_directory_uri(), get_bloginfo()
    WordPress Directories:
    home_url()  Home URL  http://www.example.com  
    site_url()  Site directory URL  http://www.example.com or http://www.example.com/wordpress  
    admin_url()  Admin directory URL  http://www.example.com/wp-admin  
    includes_url()  Includes directory URL  http://www.example.com/wp-includes  
    content_url()  Content directory URL  http://www.example.com/wp-content  
    plugins_url()  Plugins directory URL  http://www.example.com/wp-content/plugins  
    theme_url()  Themes directory URL (#18302)  http://www.example.com/wp-content/themes  
    wp_upload_dir()  Upload directory URL (returns an array)  http://www.example.com/wp-content/uploads  


    Categories:
    WordPress Constants
    Here are some of the constants and how they are used. There are probably a few that I missed. I’ll add to this as I find more.
    Security Constants
    These constants are declared in wp-config.php and are required for the normal operation of WordPress. All of these constants are 64 character random strings and are used for hashes, nonces and other security purposes. Each installation of WordPress should use different strings to ensure that your site is harder to “hack.” If you haven’t already changed your security keys, you can use WordPress’s online security key generator.
        AUTH_KEY - Used for authenticating a user and setting cookies.
        SECURE_AUTH_KEY - Used for authenticating a user and setting cookies under the https protocol.
        LOGGED_IN_KEY - Used for marking a user’s cookie data as logged in.
        NONCE_KEY - Used for creating Nonces, which are used as one-time values to ensure that humans are entering data in forms.
        AUTH_SALT - Used to “salt” the authentication data. Salts are random data added to passwords, keys and other data to make them harder to guess.
        SECURE_AUTH_SALT - Used to “salt” the secure authentication data.
        LOGGED_IN_SALT - Used to “salt” the logged in cookie data.
        NONCE_SALT - Used to “salt” the nonce data.
    Database Constants
    These are used to declare your database connection information. If you ever need to change your database password or location, you can effect this by editing your wp-config.php file and change these values:
        DB_NAME - The name of your database.
        DB_USER - The user name for your database connection.
        DB_PASSWORD - The password for your database connection.
        DB_HOST - The host name, or computer name where your database server is located.
        DB_CHARSET - The character set used when creating tables in your database. Unless you have a specific requirement for something else, this should have a value of ‘utf8?.
        DB_COLLATE - The collation (sorting) type to use for indexed data in your tables. This should be left empty unless you have a specific requirement otherwise.
    Other wp-config.php Constants
    These are the last few constants that are normally declared in wp-config.php:
        COOKIE_DOMAIN - Specifies the domain set in cookies for those with unusual domain configurations. This can help to prevent cookies being sent with requests for static content. Example: define(‘COOKIE_DOMAIN’, ‘www.staticdomain.com’);.
        WP_DEBUG - Sets WordPress’s “debug” mode on or off. Normally, this is set to false. Changing it to define(‘WP_DEBUG’, true); will turn on debug mode. This can be useful if you need to track down errors.
        WP_HOME - This overrides the configuration setting for the home url, but doesn’t change it permanently. This should include the http:// prefix, as in: define(‘WP_HOME’, ‘http://domain.com/optionalsubdirectory’);.
        WP_SITEURL - Declares the site’s URL. This defines the address where your WordPress code files reside. It should include the http:// prefix. An example would be: define(‘WP_SITEURL’, ‘http://mydomain.com’);.
        WPLANG - Used to localize your WordPress install. This should be left empty for a default language of American English. If you need to localize your WordPress installation, you need to change this and install a corresponding MO file for your language. For example, changing this to: define(‘WPLANG’, ‘de_DE’); will set your language to German.
        DISABLE_WP_CRON - Used to turn off WP Cron tasks that are initiated y a page load. When this is disabled, it is recommended to set up a separate Cron job to run the wp-cron.php script on a regular basis in order to still have cron-related operations run.
    System Constants
    These constants are set to describe the state of how WordPress handles various requests.
        APP_REQUEST - Set within wp-app.php to indicate that WordPress is handling an Atom Publishing Protocol request.
    Default Constants
    These values are declared in the wp-includes/default-constants.php file. You to change these settings, add them to your wp-config.php file so they are declared before the wp-includes/default-constants.php file is loaded.
        ADMIN_COOKIE_PATH - Sets the cookie path for admin-based cookies. If not already defined, this will take the value: define(‘ADMIN_COOKIE_PATH’, SITECOOKIEPATH . ‘wp-admin’);
        AUTH_COOKIE - Sets the authentication cookie name. If not already set, will be: define(‘AUTH_COOKIE’, ‘wordpress_’ . COOKIEHASH);
        COOKIEHASH - Defines an MD5 hash of the site’s domain name for use in user and password cookie names.
        COOKIEPATH - Defines the path name to be used in setting and retrieving cookies. If not already set, will be the domain name in which WordPress is installed. On MultiSite installs, will be the subdomain name, or the domain name including the directory of the Site.
        FORCE_SSL_ADMIN - Enforces the use of SSL for Admin access. Normally, this is disabled. To force SSL for all Admin pages, you can: define(‘FORCE_SSL_ADMIN’, true);
        FORCE_SSL_LOGIN - Enforces the use of SSL for site logins. Normally, this is disabled. To force SSL for login requests, you can: define(‘FORCE_SSL_LOGIN’, true);
        SITECOOKIEPATH - Sets the cookie path for normal site cookies. If not set, this will take the value define(‘SITECOOKIEPATH’, preg_replace(‘|https?://[^/]+|i’, ”, get_option(‘siteurl’) . ‘/’ ) );
        WP_CONTENT_DIR - Sets the name of the content directory. Normally, this is ‘wp-content’. To change this, you can: define(‘WP_CONTENT_DIR’, ‘mycontentdirectory’); This can also be obtained by using plugin_dir_path()
        WP_CONTENT_URL - Sets the URL for the content directory references. if you change the WP_CONTENT_DIR, you will also need to change this to match the directory name for http requests.
        WP_DEBUG_DISPLAY - Controls display of errors. The default is to use the display_errors setting and not force errors to be displayed. To force errors to display, you can: define(‘WP_DEBUG_DISPLAY’, true);
        WP_DEBUG_LOG - Controls error logging to the file wp-content/debug.log. The default is no logging. To change this, you can: define(‘WP_DEBUG_LOG’, true);
        WP_DEFAULT_THEME - Sets the default theme. The current version of WordPress assumes a default theme of ‘twentyeleven’. If you want to change this, you can: define(‘WP_DEFAULT_THEME’, ‘mydefaulttheme’);
        WP_PLUGIN_DIR - Sets the directory for plugin files. The default is ‘plugins’. To change this, you can: define(‘WP_PLUGIN_DIR’, ‘/newplugindir’);
        WP_PLUGIN_URL - Sets the URL for the plugin directory. If you change the WP_PLUGIN_DIR, you will also need to change this to match the directory name for http requests. If you have compatibility issues with some plugins, you can set an additional value, as in: define(‘PLUGINDIR’, ‘/wpdir/wp-content/plugins’);.
        WPMU_PLUGIN_DIR - Sets the directory to store the Must Use plugins. The default location is /mu-plugins. To change this, you can: define(‘WPMU_PLUGIN_DIR’, ‘/requiredplugins’);
        WPMU_PLUGIN_URL - Sets the URL for the Must Use plugin directory. If you change the WPMU_PLUGIN_DIR, you will also need to change this to match the directory name for http requests.
    Capability Settings
    These can be used to control certain behaviors that users are allowed to perform. Some of these are confusing because you are turning “on” the ability to “disallow” a feature. So be careful on how you’re declaring these values. Most of these are used in the wp-includes/capabilities.php file, but if you want to change the settings, you should add your settings to your wp-config.php file.
        ALLOW_UNFILTERED_UPLOADS - Allows unfiltered uploads. You can: define(‘ALLOW_UNFILTERED_UPLOADS’, true); to enable users to upload files without filtering. Be careful: this is a potential security risk.
        DISALLOW_FILE_EDIT - Allows users to edit theme and plugin files. If you do not want your users to be able to edit these files, you can change this: define(‘DISALLOW_FILE_EDIT’, true);
        DISALLOW_FILE_MODS - Allows users to update theme and plugin files via the WordPress Repository. If you do not want your users to be able to update their WordPress install, you can change this: define(‘DISALLOW_FILE_MODS’, true);
        DISALLOW_UNFILTERED_HTML - Disables the ability to allow unfiltered HTML. Using define(‘DISALLOW_UNFILTERED_HTML’, false); will turn off the ability to allow unfiltered HTML.
        WP_CACHE - Enables the built-in WordPress caching capability. If you want to enable this caching, you can: define(‘WP_CACHE’, true);
        WP_USE_THEMES - Declared in /index.php. Tells WordPress whether or not use load it’s template engine. If you want access to WordPress APIs but don’t want or need the overhead of the template engine, define this to false: define(‘WP_USE_THEMES’, false);
    Script Control
    These settings control how scripts (Javascript and CSS) are handled by the system.
        COMPRESS_CSS - Compresses CSS. To enable CSS compression, you can: define(‘COMPRESS_CSS’, true);
        COMPRESS_SCRIPTS - Compresses scripts. To enable compression, you can: define(‘COMPRESS_SCRIPTS’, true);
        CONCATENATE_SCRIPTS - Concatenates Javascript and CSS files. To enable, you can define(‘CONCATENATE_SCRIPTS’, true);
        ENFORCE_GZIP - Forces gzip for compressoin of data sent to browsers. The default setting is to use the mod_deflate Apache module. If your host does not have this installed, you can: SCRIPT_DEBUG - Include the development (or non-minified) versions of all Javascript and CSS files. It also disabled compression and concatenation. To enable, you can: define(‘SCRIPT_DEBUG’, true);
    Optimization Settings
    These values can be used to control and optimize your WordPress install.
        AUTOSAVE_INTERVAL - Sets the interval for saving revisions while editing posts.
        CORE_UPGRADE_SKIP_NEW_BUNDLED - Enables skipping of theme and plugin updates when upgrading WordPress.
        DOING_AJAX - Set to TRUE when processing an AJAX request.
        EMPTY_TRASH_DAYS - Sets the number of days before trashed items are removed.
        IMAGE_EDIT_OVERWRITE - Allows overwriting images when editing them.
        MEDIA_TRASH - Enables the trash function for Media files.
        WP_MEMORY_LIMIT - Sets the memory limit used.
        WP_MAX_MEMORY_LIMIT - Controls the maximum memory size used. Some WordPress processes require more memory. This setting controls the upper limit used by these high memory use procedures.
        SHORTINIT - Turns on only the core WordPress functions. Often used when interfacing to other platforms.
        WP_POST_REVISIONS - Sets the maximum number of revisions to save. If set to FALSE it will be unlimited, an integer set the maximum number of revisions to save.
    MultiSite Settings
    These values control how WordPress MultiSite behaves.
        NOBLOGREDIRECT - Sets the URL to redirect visitors to when they request a non-existent MultiSite blog. The default is ‘%siteurl%’, which is the default site. If you wish to use a different location, you can: define(‘NOBLOGREDIRECT’, ‘mynewdomain.com’);
        WP_ALLOW_MULTISITE - Turns on MultiSite. Just enabling this using define(‘WP_ALLOW_MULTISITE’, true); does not by itself make your WordPress install a MultiSite install. It just starts the process. When you add this to your wp-config.php file, it turns on the Network menu in the Admin. This allows you to make certain choices and continue the setup process for your MultiSite install.
        WPMU_ACCEL_REDIRECT - When using Apache X-Sendfile for quicker loading, this helps you turn it on natively in WordPress for MultiSites. To enable, you can: define(‘WPMU_ACCEL_REDIRECT’, true);
        ABSPATH  Definitions: 5  References: 597
        ADMIN_COOKIE_PATH  Definitions: 3  References: 8
        AKISMET_DELETE_LIMIT  Definitions: 1  References: 3
        AKISMET_VERSION  Definitions: 1  References: 8
        AKISMET__MINIMUM_WP_VERSION  Definitions: 1  References: 3
        AKISMET__PLUGIN_DIR  Definitions: 1  References: 7
        AKISMET__PLUGIN_URL  Definitions: 1  References: 5
        ARRAY_A  Definitions: 1  References: 71
        ARRAY_N  Definitions: 1  References: 16
        ATOM  Definitions: 1  References: 10
        AUTH_COOKIE  Definitions: 1  References: 12
        AUTH_KEY  Definitions: 1  References: 4
        AUTH_SALT  Definitions: 1  References: 3
        AUTOSAVE_INTERVAL  Definitions: 1  References: 3
        BACKGROUND_COLOR  Definitions: 1  References: 3
        BACKGROUND_IMAGE  Definitions: 1  References: 3
        BLOGUPLOADDIR  Definitions: 1  References: 5
        BLOG_ID_CURRENT_SITE  Definitions: 1  References: 3
        COMMENTS_TEMPLATE  Definitions: 1  References: 2
        COOKIEHASH  Definitions: 2  References: 29
        COOKIEPATH  Definitions: 2  References: 17
        COOKIE_DOMAIN  Definitions: 3  References: 28
        CRLF  Definitions: 1  References: 37
        CUSTOM_TAGS  Definitions: 1  References: 3
        DAY_IN_SECONDS  Definitions: 1  References: 33
        DB_CHARSET  Definitions: 1  References: 3
        DB_COLLATE  Definitions: 1  References: 6
        DB_HOST  Definitions: 2  References: 4
        DB_NAME  Definitions: 2  References: 5
        DB_PASSWORD  Definitions: 2  References: 4
        DB_USER  Definitions: 2  References: 4
        DOING_AJAX  Definitions: 2  References: 34
        DOING_AUTOSAVE  Definitions: 1  References: 4
        DOING_CRON  Definitions: 1  References: 24
        DOMAIN_CURRENT_SITE  Definitions: 1  References: 3
        EBML_ID_ASPECTRATIOTYPE  Definitions: 1  References: 3
        EBML_ID_ATTACHEDFILE  Definitions: 1  References: 3
        EBML_ID_ATTACHMENTLINK  Definitions: 1  References: 2
        EBML_ID_ATTACHMENTS  Definitions: 1  References: 3
        EBML_ID_AUDIO  Definitions: 1  References: 4
        EBML_ID_BITDEPTH  Definitions: 1  References: 3
        EBML_ID_CHANNELPOSITIONS  Definitions: 1  References: 3
        EBML_ID_CHANNELS  Definitions: 1  References: 3
        EBML_ID_CHAPCOUNTRY  Definitions: 1  References: 3
        EBML_ID_CHAPLANGUAGE  Definitions: 1  References: 3
        EBML_ID_CHAPPROCESS  Definitions: 1  References: 2
        EBML_ID_CHAPPROCESSCODECID  Definitions: 1  References: 2
        EBML_ID_CHAPPROCESSCOMMAND  Definitions: 1  References: 2
        EBML_ID_CHAPPROCESSDATA  Definitions: 1  References: 2
        EBML_ID_CHAPPROCESSPRIVATE  Definitions: 1  References: 2
        EBML_ID_CHAPPROCESSTIME  Definitions: 1  References: 2
        EBML_ID_CHAPSTRING  Definitions: 1  References: 3
        EBML_ID_CHAPTERATOM  Definitions: 1  References: 4
        EBML_ID_CHAPTERDISPLAY  Definitions: 1  References: 4
        EBML_ID_CHAPTERFLAGENABLED  Definitions: 1  References: 3
        EBML_ID_CHAPTERFLAGHIDDEN  Definitions: 1  References: 3
        EBML_ID_CHAPTERPHYSICALEQUIV  Definitions: 1  References: 2
        EBML_ID_CHAPTERS  Definitions: 1  References: 3
        EBML_ID_CHAPTERSEGMENTEDITIONUID  Definitions: 1  References: 3
        EBML_ID_CHAPTERSEGMENTUID  Definitions: 1  References: 3
        EBML_ID_CHAPTERTIMEEND  Definitions: 1  References: 3
        EBML_ID_CHAPTERTIMESTART  Definitions: 1  References: 3
        EBML_ID_CHAPTERTRACK  Definitions: 1  References: 4
        EBML_ID_CHAPTERTRACKNUMBER  Definitions: 1  References: 3
        EBML_ID_CHAPTERTRANSLATE  Definitions: 1  References: 3
        EBML_ID_CHAPTERTRANSLATECODEC  Definitions: 1  References: 3
        EBML_ID_CHAPTERTRANSLATEEDITIONUID  Definitions: 1  References: 3
        EBML_ID_CHAPTERTRANSLATEID  Definitions: 1  References: 3
        EBML_ID_CHAPTERUID  Definitions: 1  References: 3
        EBML_ID_CLUSTER  Definitions: 1  References: 5
        EBML_ID_CLUSTERBLOCK  Definitions: 1  References: 5
        EBML_ID_CLUSTERBLOCKADDID  Definitions: 1  References: 2
        EBML_ID_CLUSTERBLOCKADDITIONAL  Definitions: 1  References: 2
        EBML_ID_CLUSTERBLOCKADDITIONID  Definitions: 1  References: 2
        EBML_ID_CLUSTERBLOCKADDITIONS  Definitions: 1  References: 2
        EBML_ID_CLUSTERBLOCKDURATION  Definitions: 1  References: 3
        EBML_ID_CLUSTERBLOCKGROUP  Definitions: 1  References: 4
        EBML_ID_CLUSTERBLOCKMORE  Definitions: 1  References: 2
        EBML_ID_CLUSTERBLOCKVIRTUAL  Definitions: 1  References: 2
        EBML_ID_CLUSTERCODECSTATE  Definitions: 1  References: 3
        EBML_ID_CLUSTERDELAY  Definitions: 1  References: 2
        EBML_ID_CLUSTERDURATION  Definitions: 1  References: 2
        EBML_ID_CLUSTERENCRYPTEDBLOCK  Definitions: 1  References: 2
        EBML_ID_CLUSTERFRAMENUMBER  Definitions: 1  References: 2
        EBML_ID_CLUSTERLACENUMBER  Definitions: 1  References: 2
        EBML_ID_CLUSTERPOSITION  Definitions: 1  References: 3
        EBML_ID_CLUSTERPREVSIZE  Definitions: 1  References: 3
        EBML_ID_CLUSTERREFERENCEBLOCK  Definitions: 1  References: 3
        EBML_ID_CLUSTERREFERENCEPRIORITY  Definitions: 1  References: 3
        EBML_ID_CLUSTERREFERENCEVIRTUAL  Definitions: 1  References: 2
        EBML_ID_CLUSTERSILENTTRACKNUMBER  Definitions: 1  References: 3
        EBML_ID_CLUSTERSILENTTRACKS  Definitions: 1  References: 4
        EBML_ID_CLUSTERSIMPLEBLOCK  Definitions: 1  References: 7
        EBML_ID_CLUSTERSLICES  Definitions: 1  References: 2
        EBML_ID_CLUSTERTIMECODE  Definitions: 1  References: 3
        EBML_ID_CLUSTERTIMESLICE  Definitions: 1  References: 2
        EBML_ID_CODECDECODEALL  Definitions: 1  References: 3
        EBML_ID_CODECDOWNLOADURL  Definitions: 1  References: 2
        EBML_ID_CODECID  Definitions: 1  References: 3
        EBML_ID_CODECINFOURL  Definitions: 1  References: 2
        EBML_ID_CODECNAME  Definitions: 1  References: 3
        EBML_ID_CODECPRIVATE  Definitions: 1  References: 4
        EBML_ID_CODECSETTINGS  Definitions: 1  References: 2
        EBML_ID_COLOURSPACE  Definitions: 1  References: 3
        EBML_ID_CONTENTCOMPALGO  Definitions: 1  References: 3
        EBML_ID_CONTENTCOMPRESSION  Definitions: 1  References: 4
        EBML_ID_CONTENTCOMPSETTINGS  Definitions: 1  References: 3
        EBML_ID_CONTENTENCALGO  Definitions: 1  References: 3
        EBML_ID_CONTENTENCKEYID  Definitions: 1  References: 3
        EBML_ID_CONTENTENCODING  Definitions: 1  References: 3
        EBML_ID_CONTENTENCODINGORDER  Definitions: 1  References: 3
        EBML_ID_CONTENTENCODINGS  Definitions: 1  References: 4
        EBML_ID_CONTENTENCODINGSCOPE  Definitions: 1  References: 3
        EBML_ID_CONTENTENCODINGTYPE  Definitions: 1  References: 3
        EBML_ID_CONTENTENCRYPTION  Definitions: 1  References: 4
        EBML_ID_CONTENTSIGALGO  Definitions: 1  References: 3
        EBML_ID_CONTENTSIGHASHALGO  Definitions: 1  References: 3
        EBML_ID_CONTENTSIGKEYID  Definitions: 1  References: 3
        EBML_ID_CONTENTSIGNATURE  Definitions: 1  References: 3
        EBML_ID_CRC32  Definitions: 1  References: 3
        EBML_ID_CUEBLOCKNUMBER  Definitions: 1  References: 3
        EBML_ID_CUECLUSTERPOSITION  Definitions: 1  References: 3
        EBML_ID_CUECODECSTATE  Definitions: 1  References: 3
        EBML_ID_CUEPOINT  Definitions: 1  References: 3
        EBML_ID_CUEREFCLUSTER  Definitions: 1  References: 2
        EBML_ID_CUEREFCODECSTATE  Definitions: 1  References: 2
        EBML_ID_CUEREFERENCE  Definitions: 1  References: 2
        EBML_ID_CUEREFNUMBER  Definitions: 1  References: 2
        EBML_ID_CUEREFTIME  Definitions: 1  References: 2
        EBML_ID_CUES  Definitions: 1  References: 3
        EBML_ID_CUETIME  Definitions: 1  References: 3
        EBML_ID_CUETRACK  Definitions: 1  References: 3
        EBML_ID_CUETRACKPOSITIONS  Definitions: 1  References: 4
        EBML_ID_DATEUTC  Definitions: 1  References: 3
        EBML_ID_DEFAULTDURATION  Definitions: 1  References: 3
        EBML_ID_DISPLAYHEIGHT  Definitions: 1  References: 3
        EBML_ID_DISPLAYUNIT  Definitions: 1  References: 3
        EBML_ID_DISPLAYWIDTH  Definitions: 1  References: 3
        EBML_ID_DOCTYPE  Definitions: 1  References: 3
        EBML_ID_DOCTYPEREADVERSION  Definitions: 1  References: 3
        EBML_ID_DOCTYPEVERSION  Definitions: 1  References: 3
        EBML_ID_DURATION  Definitions: 1  References: 3
        EBML_ID_EBML  Definitions: 1  References: 3
        EBML_ID_EBMLMAXIDLENGTH  Definitions: 1  References: 3
        EBML_ID_EBMLMAXSIZELENGTH  Definitions: 1  References: 3
        EBML_ID_EBMLREADVERSION  Definitions: 1  References: 3
        EBML_ID_EBMLVERSION  Definitions: 1  References: 3
        EBML_ID_EDITIONENTRY  Definitions: 1  References: 3
        EBML_ID_EDITIONFLAGDEFAULT  Definitions: 1  References: 3
        EBML_ID_EDITIONFLAGHIDDEN  Definitions: 1  References: 3
        EBML_ID_EDITIONFLAGORDERED  Definitions: 1  References: 3
        EBML_ID_EDITIONUID  Definitions: 1  References: 3
        EBML_ID_FILEDATA  Definitions: 1  References: 4
        EBML_ID_FILEDESCRIPTION  Definitions: 1  References: 3
        EBML_ID_FILEMIMETYPE  Definitions: 1  References: 3
        EBML_ID_FILENAME  Definitions: 1  References: 3
        EBML_ID_FILEREFERRAL  Definitions: 1  References: 2
        EBML_ID_FILEUID  Definitions: 1  References: 3
        EBML_ID_FLAGDEFAULT  Definitions: 1  References: 3
        EBML_ID_FLAGENABLED  Definitions: 1  References: 3
        EBML_ID_FLAGFORCED  Definitions: 1  References: 3
        EBML_ID_FLAGINTERLACED  Definitions: 1  References: 3
        EBML_ID_FLAGLACING  Definitions: 1  References: 3
        EBML_ID_GAMMAVALUE  Definitions: 1  References: 3
        EBML_ID_INFO  Definitions: 1  References: 3
        EBML_ID_LANGUAGE  Definitions: 1  References: 3
        EBML_ID_MAXBLOCKADDITIONID  Definitions: 1  References: 3
        EBML_ID_MAXCACHE  Definitions: 1  References: 3
        EBML_ID_MINCACHE  Definitions: 1  References: 3
        EBML_ID_MUXINGAPP  Definitions: 1  References: 3
        EBML_ID_NAME  Definitions: 1  References: 3
        EBML_ID_NEXTFILENAME  Definitions: 1  References: 3
        EBML_ID_NEXTUID  Definitions: 1  References: 3
        EBML_ID_OLDSTEREOMODE  Definitions: 1  References: 3
        EBML_ID_OUTPUTSAMPLINGFREQUENCY  Definitions: 1  References: 3
        EBML_ID_PIXELCROPBOTTOM  Definitions: 1  References: 3
        EBML_ID_PIXELCROPLEFT  Definitions: 1  References: 3
        EBML_ID_PIXELCROPRIGHT  Definitions: 1  References: 3
        EBML_ID_PIXELCROPTOP  Definitions: 1  References: 3
        EBML_ID_PIXELHEIGHT  Definitions: 1  References: 3
        EBML_ID_PIXELWIDTH  Definitions: 1  References: 3
        EBML_ID_PREVFILENAME  Definitions: 1  References: 3
        EBML_ID_PREVUID  Definitions: 1  References: 3
        EBML_ID_SAMPLINGFREQUENCY  Definitions: 1  References: 3
        EBML_ID_SEEK  Definitions: 1  References: 3
        EBML_ID_SEEKHEAD  Definitions: 1  References: 3
        EBML_ID_SEEKID  Definitions: 1  References: 3
        EBML_ID_SEEKPOSITION  Definitions: 1  References: 3
        EBML_ID_SEGMENT  Definitions: 1  References: 3
        EBML_ID_SEGMENTFAMILY  Definitions: 1  References: 3
        EBML_ID_SEGMENTFILENAME  Definitions: 1  References: 3
        EBML_ID_SEGMENTUID  Definitions: 1  References: 3
        EBML_ID_SIMPLETAG  Definitions: 1  References: 5
        EBML_ID_STEREOMODE  Definitions: 1  References: 3
        EBML_ID_TAG  Definitions: 1  References: 3
        EBML_ID_TAGATTACHMENTUID  Definitions: 1  References: 3
        EBML_ID_TAGBINARY  Definitions: 1  References: 3
        EBML_ID_TAGCHAPTERUID  Definitions: 1  References: 3
        EBML_ID_TAGDEFAULT  Definitions: 1  References: 3
        EBML_ID_TAGEDITIONUID  Definitions: 1  References: 3
        EBML_ID_TAGLANGUAGE  Definitions: 1  References: 3
        EBML_ID_TAGNAME  Definitions: 1  References: 3
        EBML_ID_TAGS  Definitions: 1  References: 3
        EBML_ID_TAGSTRING  Definitions: 1  References: 3
        EBML_ID_TAGTRACKUID  Definitions: 1  References: 3
        EBML_ID_TARGETS  Definitions: 1  References: 3
        EBML_ID_TARGETTYPE  Definitions: 1  References: 3
        EBML_ID_TARGETTYPEVALUE  Definitions: 1  References: 3
        EBML_ID_TIMECODESCALE  Definitions: 1  References: 3
        EBML_ID_TITLE  Definitions: 1  References: 3
        EBML_ID_TRACKENTRY  Definitions: 1  References: 3
        EBML_ID_TRACKNUMBER  Definitions: 1  References: 3
        EBML_ID_TRACKOFFSET  Definitions: 1  References: 2
        EBML_ID_TRACKOVERLAY  Definitions: 1  References: 2
        EBML_ID_TRACKS  Definitions: 1  References: 3
        EBML_ID_TRACKTIMECODESCALE  Definitions: 1  References: 3
        EBML_ID_TRACKTRANSLATE  Definitions: 1  References: 2
        EBML_ID_TRACKTRANSLATECODEC  Definitions: 1  References: 2
        EBML_ID_TRACKTRANSLATEEDITIONUID  Definitions: 1  References: 2
        EBML_ID_TRACKTRANSLATETRACKID  Definitions: 1  References: 2
        EBML_ID_TRACKTYPE  Definitions: 1  References: 3
        EBML_ID_TRACKUID  Definitions: 1  References: 3
        EBML_ID_VIDEO  Definitions: 1  References: 4
        EBML_ID_VOID  Definitions: 1  References: 3
        EBML_ID_WRITINGAPP  Definitions: 1  References: 3
        EMPTY_TRASH_DAYS  Definitions: 1  References: 28
        EP_ALL  Definitions: 1  References: 1
        EP_ALL_ARCHIVES  Definitions: 1  References: 2
        EP_ATTACHMENT  Definitions: 1  References: 3
        EP_AUTHORS  Definitions: 1  References: 3
        EP_CATEGORIES  Definitions: 1  References: 3
        EP_COMMENTS  Definitions: 1  References: 3
        EP_DATE  Definitions: 1  References: 3
        EP_DAY  Definitions: 1  References: 3
        EP_MONTH  Definitions: 1  References: 3
        EP_NONE  Definitions: 1  References: 6
        EP_PAGES  Definitions: 1  References: 4
        EP_PERMALINK  Definitions: 1  References: 5
        EP_ROOT  Definitions: 1  References: 4
        EP_SEARCH  Definitions: 1  References: 3
        EP_TAGS  Definitions: 1  References: 3
        EP_YEAR  Definitions: 1  References: 3
        EZSQL_VERSION  Definitions: 1  References: 1
        FORCE_SSL_ADMIN  Definitions: 1  References: 3
        FORCE_SSL_LOGIN  Definitions: 1  References: 3
        FS_CHMOD_DIR  Definitions: 1  References: 17
        FS_CHMOD_FILE  Definitions: 1  References: 21
        FS_CONNECT_TIMEOUT  Definitions: 1  References: 5
        FS_TIMEOUT  Definitions: 2  References: 8
        FTP_ASCII  Definitions: 1  References: 21
        FTP_AUTOASCII  Definitions: 1  References: 9
        FTP_BINARY  Definitions: 1  References: 19
        FTP_FORCE  Definitions: 1  References: 3
        GETID3_FLV_TAG_AUDIO  Definitions: 1  References: 2
        GETID3_FLV_TAG_META  Definitions: 1  References: 2
        GETID3_FLV_TAG_VIDEO  Definitions: 1  References: 2
        GETID3_FLV_VIDEO_H263  Definitions: 1  References: 3
        GETID3_FLV_VIDEO_H264  Definitions: 1  References: 3
        GETID3_FLV_VIDEO_SCREEN  Definitions: 1  References: 2
        GETID3_FLV_VIDEO_SCREENV2  Definitions: 1  References: 2
        GETID3_FLV_VIDEO_VP6FLV  Definitions: 1  References: 2
        GETID3_FLV_VIDEO_VP6FLV_ALPHA  Definitions: 1  References: 2
        GETID3_HELPERAPPSDIR  Definitions: 1  References: 11
        GETID3_INCLUDEPATH  Definitions: 1  References: 24
        GETID3_MP3_VALID_CHECK_FRAMES  Definitions: 1  References: 4
        GETID3_OS_ISWINDOWS  Definitions: 1  References: 7
        GETID3_TEMP_DIR  Definitions: 1  References: 6
        H264_AVC_SEQUENCE_HEADER  Definitions: 1  References: 2
        H264_PROFILE_BASELINE  Definitions: 1  References: 1
        H264_PROFILE_EXTENDED  Definitions: 1  References: 1
        H264_PROFILE_HIGH  Definitions: 1  References: 2
        H264_PROFILE_HIGH10  Definitions: 1  References: 2
        H264_PROFILE_HIGH422  Definitions: 1  References: 2
        H264_PROFILE_HIGH444  Definitions: 1  References: 2
        H264_PROFILE_HIGH444_PREDICTIVE  Definitions: 1  References: 2
        H264_PROFILE_MAIN  Definitions: 1  References: 1
        HEADER_IMAGE  Definitions: 3  References: 5
        HEADER_IMAGE_HEIGHT  Definitions: 3  References: 7
        HEADER_IMAGE_WIDTH  Definitions: 3  References: 10
        HEADER_TEXTCOLOR  Definitions: 3  References: 7
        HOUR_IN_SECONDS  Definitions: 1  References: 45
        IFRAME_REQUEST  Definitions: 8  References: 12
        IS_PROFILE_PAGE  Definitions: 2  References: 24
        LANGDIR  Definitions: 2  References: 4
        LOGGED_IN_COOKIE  Definitions: 1  References: 12
        LOGGED_IN_KEY  Definitions: 1  References: 3
        LOGGED_IN_SALT  Definitions: 1  References: 3
        MAGPIE_CACHE_AGE  Definitions: 1  References: 3
        MAGPIE_CACHE_DIR  Definitions: 1  References: 3
        MAGPIE_CACHE_FRESH_ONLY  Definitions: 1  References: 2
        MAGPIE_CACHE_ON  Definitions: 1  References: 4
        MAGPIE_DEBUG  Definitions: 1  References: 10
        MAGPIE_FETCH_TIME_OUT  Definitions: 1  References: 3
        MAGPIE_INITALIZED  Definitions: 1  References: 2
        MAGPIE_USER_AGENT  Definitions: 2  References: 3
        MAGPIE_USE_GZIP  Definitions: 1  References: 2
        MEDIA_TRASH  Definitions: 1  References: 13
        MINUTE_IN_SECONDS  Definitions: 1  References: 9
        MULTISITE  Definitions: 2  References: 12
        MUPLUGINDIR  Definitions: 1  References: 2
        NONCE_KEY  Definitions: 1  References: 3
        NONCE_SALT  Definitions: 1  References: 3
        NO_HEADER_TEXT  Definitions: 2  References: 4
        OBJECT  Definitions: 1  References: 44
        OBJECT_K  Definitions: 1  References: 4
        PASS_COOKIE  Definitions: 1  References: 4
        PATH_CURRENT_SITE  Definitions: 1  References: 3
        PCLZIP_ATT_FILE_COMMENT  Definitions: 1  References: 4
        PCLZIP_ATT_FILE_CONTENT  Definitions: 1  References: 4
        PCLZIP_ATT_FILE_MTIME  Definitions: 1  References: 4
        PCLZIP_ATT_FILE_NAME  Definitions: 1  References: 6
        PCLZIP_ATT_FILE_NEW_FULL_NAME  Definitions: 1  References: 4
        PCLZIP_ATT_FILE_NEW_SHORT_NAME  Definitions: 1  References: 4
        PCLZIP_CB_POST_ADD  Definitions: 1  References: 7
        PCLZIP_CB_POST_DELETE  Definitions: 1  References: 2
        PCLZIP_CB_POST_EXTRACT  Definitions: 1  References: 13
        PCLZIP_CB_POST_LIST  Definitions: 1  References: 2
        PCLZIP_CB_PRE_ADD  Definitions: 1  References: 7
        PCLZIP_CB_PRE_DELETE  Definitions: 1  References: 2
        PCLZIP_CB_PRE_EXTRACT  Definitions: 1  References: 13
        PCLZIP_CB_PRE_LIST  Definitions: 1  References: 2
        PCLZIP_ERROR_EXTERNAL  Definitions: 1  References: 6
        PCLZIP_ERR_ALREADY_A_DIRECTORY  Definitions: 1  References: 2
        PCLZIP_ERR_BAD_CHECKSUM  Definitions: 1  References: 3
        PCLZIP_ERR_BAD_EXTENSION  Definitions: 1  References: 3
        PCLZIP_ERR_BAD_EXTRACTED_FILE  Definitions: 1  References: 3
        PCLZIP_ERR_BAD_FORMAT  Definitions: 1  References: 14
        PCLZIP_ERR_DELETE_FILE_FAIL  Definitions: 1  References: 3
        PCLZIP_ERR_DIRECTORY_RESTRICTION  Definitions: 1  References: 4
        PCLZIP_ERR_DIR_CREATE_FAIL  Definitions: 1  References: 4
        PCLZIP_ERR_FILENAME_TOO_LONG  Definitions: 1  References: 3
        PCLZIP_ERR_INVALID_ARCHIVE_ZIP  Definitions: 1  References: 8
        PCLZIP_ERR_INVALID_ATTRIBUTE_VALUE  Definitions: 1  References: 11
        PCLZIP_ERR_INVALID_OPTION_VALUE  Definitions: 1  References: 11
        PCLZIP_ERR_INVALID_PARAMETER  Definitions: 1  References: 24
        PCLZIP_ERR_INVALID_ZIP  Definitions: 1  References: 3
        PCLZIP_ERR_MISSING_FILE  Definitions: 1  References: 8
        PCLZIP_ERR_MISSING_OPTION_VALUE  Definitions: 1  References: 12
        PCLZIP_ERR_NO_ERROR  Definitions: 1  References: 6
        PCLZIP_ERR_READ_OPEN_FAIL  Definitions: 1  References: 16
        PCLZIP_ERR_RENAME_FILE_FAIL  Definitions: 1  References: 3
        PCLZIP_ERR_UNSUPPORTED_COMPRESSION  Definitions: 1  References: 4
        PCLZIP_ERR_UNSUPPORTED_ENCRYPTION  Definitions: 1  References: 5
        PCLZIP_ERR_USER_ABORTED  Definitions: 1  References: 7
        PCLZIP_ERR_WRITE_OPEN_FAIL  Definitions: 1  References: 7
        PCLZIP_OPT_ADD_COMMENT  Definitions: 1  References: 5
        PCLZIP_OPT_ADD_PATH  Definitions: 1  References: 14
        PCLZIP_OPT_ADD_TEMP_FILE_OFF  Definitions: 1  References: 1
        PCLZIP_OPT_ADD_TEMP_FILE_ON  Definitions: 1  References: 1
        PCLZIP_OPT_ADD_TEMP_FILE_THRESHOLD  Definitions: 1  References: 1
        PCLZIP_OPT_BY_EREG  Definitions: 1  References: 4
        PCLZIP_OPT_BY_INDEX  Definitions: 1  References: 23
        PCLZIP_OPT_BY_NAME  Definitions: 1  References: 21
        PCLZIP_OPT_BY_PREG  Definitions: 1  References: 11
        PCLZIP_OPT_COMMENT  Definitions: 1  References: 10
        PCLZIP_OPT_EXTRACT_AS_STRING  Definitions: 1  References: 10
        PCLZIP_OPT_EXTRACT_DIR_RESTRICTION  Definitions: 1  References: 7
        PCLZIP_OPT_EXTRACT_IN_OUTPUT  Definitions: 1  References: 5
        PCLZIP_OPT_NO_COMPRESSION  Definitions: 1  References: 8
        PCLZIP_OPT_PATH  Definitions: 1  References: 8
        PCLZIP_OPT_PREPEND_COMMENT  Definitions: 1  References: 5
        PCLZIP_OPT_REMOVE_ALL_PATH  Definitions: 1  References: 15
        PCLZIP_OPT_REMOVE_PATH  Definitions: 1  References: 14
        PCLZIP_OPT_REPLACE_NEWER  Definitions: 1  References: 7
        PCLZIP_OPT_SET_CHMOD  Definitions: 1  References: 6
        PCLZIP_OPT_STOP_ON_ERROR  Definitions: 1  References: 14
        PCLZIP_OPT_TEMP_FILE_OFF  Definitions: 1  References: 13
        PCLZIP_OPT_TEMP_FILE_ON  Definitions: 1  References: 10
        PCLZIP_OPT_TEMP_FILE_THRESHOLD  Definitions: 1  References: 17
        PCLZIP_READ_BLOCK_SIZE  Definitions: 1  References: 34
        PCLZIP_SEPARATOR  Definitions: 1  References: 4
        PCLZIP_TEMPORARY_DIR  Definitions: 1  References: 7
        PCLZIP_TEMPORARY_FILE_RATIO  Definitions: 1  References: 3
        PHP_INT_MIN  Definitions: 1  References: 3
        PLUGINDIR  Definitions: 1  References: 2
        PLUGINS_COOKIE_PATH  Definitions: 1  References: 5
        PO_MAX_LINE_LEN  Definitions: 1  References: 2
        RSS  Definitions: 1  References: 33
        SCRIPT_DEBUG  Definitions: 2  References: 14
        SECURE_AUTH_COOKIE  Definitions: 1  References: 12
        SECURE_AUTH_KEY  Definitions: 1  References: 3
        SECURE_AUTH_SALT  Definitions: 1  References: 3
        SERVICES_JSON_IN_ARR  Definitions: 1  References: 10
        SERVICES_JSON_IN_CMT  Definitions: 1  References: 3
        SERVICES_JSON_IN_OBJ  Definitions: 1  References: 10
        SERVICES_JSON_IN_STR  Definitions: 1  References: 4
        SERVICES_JSON_LOOSE_TYPE  Definitions: 1  References: 4
        SERVICES_JSON_SLICE  Definitions: 1  References: 7
        SERVICES_JSON_SUPPRESS_ERRORS  Definitions: 1  References: 3
        SERVICES_JSON_USE_TO_JSON  Definitions: 1  References: 2
        SHORTINIT  Definitions: 2  References: 4
        SIMPLEPIE_BUILD  Definitions: 1  References: 6
        SIMPLEPIE_CONSTRUCT_ALL  Definitions: 1  References: 1
        SIMPLEPIE_CONSTRUCT_BASE64  Definitions: 1  References: 5
        SIMPLEPIE_CONSTRUCT_HTML  Definitions: 1  References: 18
        SIMPLEPIE_CONSTRUCT_IRI  Definitions: 1  References: 60
        SIMPLEPIE_CONSTRUCT_MAYBE_HTML  Definitions: 1  References: 18
        SIMPLEPIE_CONSTRUCT_NONE  Definitions: 1  References: 5
        SIMPLEPIE_CONSTRUCT_TEXT  Definitions: 1  References: 258
        SIMPLEPIE_CONSTRUCT_XHTML  Definitions: 1  References: 8
        SIMPLEPIE_FILE_SOURCE_CURL  Definitions: 1  References: 2
        SIMPLEPIE_FILE_SOURCE_FILE_GET_CONTENTS  Definitions: 1  References: 2
        SIMPLEPIE_FILE_SOURCE_FSOCKOPEN  Definitions: 1  References: 2
        SIMPLEPIE_FILE_SOURCE_LOCAL  Definitions: 1  References: 3
        SIMPLEPIE_FILE_SOURCE_NONE  Definitions: 1  References: 2
        SIMPLEPIE_FILE_SOURCE_REMOTE  Definitions: 1  References: 11
        SIMPLEPIE_IANA_LINK_RELATIONS_REGISTRY  Definitions: 1  References: 19
        SIMPLEPIE_LINKBACK  Definitions: 1  References: 1
        SIMPLEPIE_LOCATOR_ALL  Definitions: 1  References: 4
        SIMPLEPIE_LOCATOR_AUTODISCOVERY  Definitions: 1  References: 2
        SIMPLEPIE_LOCATOR_LOCAL_BODY  Definitions: 1  References: 3
        SIMPLEPIE_LOCATOR_LOCAL_EXTENSION  Definitions: 1  References: 3
        SIMPLEPIE_LOCATOR_NONE  Definitions: 1  References: 2
        SIMPLEPIE_LOCATOR_REMOTE_BODY  Definitions: 1  References: 3
        SIMPLEPIE_LOCATOR_REMOTE_EXTENSION  Definitions: 1  References: 3
        SIMPLEPIE_LOWERCASE  Definitions: 1  References: 1
        SIMPLEPIE_NAME  Definitions: 1  References: 5
        SIMPLEPIE_NAMESPACE_ATOM_03  Definitions: 1  References: 79
        SIMPLEPIE_NAMESPACE_ATOM_10  Definitions: 1  References: 89
        SIMPLEPIE_NAMESPACE_DC_10  Definitions: 1  References: 21
        SIMPLEPIE_NAMESPACE_DC_11  Definitions: 1  References: 21
        SIMPLEPIE_NAMESPACE_GEORSS  Definitions: 1  References: 7
        SIMPLEPIE_NAMESPACE_ITUNES  Definitions: 1  References: 24
        SIMPLEPIE_NAMESPACE_MEDIARSS  Definitions: 1  References: 116
        SIMPLEPIE_NAMESPACE_MEDIARSS_WRONG  Definitions: 1  References: 2
        SIMPLEPIE_NAMESPACE_MEDIARSS_WRONG2  Definitions: 1  References: 2
        SIMPLEPIE_NAMESPACE_MEDIARSS_WRONG3  Definitions: 1  References: 2
        SIMPLEPIE_NAMESPACE_MEDIARSS_WRONG4  Definitions: 1  References: 2
        SIMPLEPIE_NAMESPACE_MEDIARSS_WRONG5  Definitions: 1  References: 2
        SIMPLEPIE_NAMESPACE_RDF  Definitions: 1  References: 20
        SIMPLEPIE_NAMESPACE_RSS_090  Definitions: 1  References: 23
        SIMPLEPIE_NAMESPACE_RSS_10  Definitions: 1  References: 23
        SIMPLEPIE_NAMESPACE_RSS_20  Definitions: 1  References: 50
        SIMPLEPIE_NAMESPACE_W3C_BASIC_GEO  Definitions: 1  References: 10
        SIMPLEPIE_NAMESPACE_XHTML  Definitions: 1  References: 3
        SIMPLEPIE_NAMESPACE_XML  Definitions: 1  References: 5
        SIMPLEPIE_PCRE_HTML_ATTRIBUTE  Definitions: 1  References: 4
        SIMPLEPIE_PCRE_XML_ATTRIBUTE  Definitions: 1  References: 3
        SIMPLEPIE_SAME_CASE  Definitions: 1  References: 1
        SIMPLEPIE_TYPE_ALL  Definitions: 1  References: 2
        SIMPLEPIE_TYPE_ATOM_03  Definitions: 1  References: 3
        SIMPLEPIE_TYPE_ATOM_10  Definitions: 1  References: 3
        SIMPLEPIE_TYPE_ATOM_ALL  Definitions: 1  References: 2
        SIMPLEPIE_TYPE_NONE  Definitions: 1  References: 3
        SIMPLEPIE_TYPE_RSS_090  Definitions: 1  References: 4
        SIMPLEPIE_TYPE_RSS_091  Definitions: 1  References: 2
        SIMPLEPIE_TYPE_RSS_091_NETSCAPE  Definitions: 1  References: 2
        SIMPLEPIE_TYPE_RSS_091_USERLAND  Definitions: 1  References: 2
        SIMPLEPIE_TYPE_RSS_092  Definitions: 1  References: 2
        SIMPLEPIE_TYPE_RSS_093  Definitions: 1  References: 2
        SIMPLEPIE_TYPE_RSS_094  Definitions: 1  References: 2
        SIMPLEPIE_TYPE_RSS_10  Definitions: 1  References: 4
        SIMPLEPIE_TYPE_RSS_20  Definitions: 1  References: 2
        SIMPLEPIE_TYPE_RSS_ALL  Definitions: 1  References: 2
        SIMPLEPIE_TYPE_RSS_RDF  Definitions: 1  References: 2
        SIMPLEPIE_TYPE_RSS_SYNDICATION  Definitions: 1  References: 7
        SIMPLEPIE_UPPERCASE  Definitions: 1  References: 1
        SIMPLEPIE_URL  Definitions: 1  References: 3
        SIMPLEPIE_USERAGENT  Definitions: 1  References: 4
        SIMPLEPIE_VERSION  Definitions: 1  References: 4
        SITECOOKIEPATH  Definitions: 2  References: 20
        SITE_ID_CURRENT_SITE  Definitions: 1  References: 3
        STYLESHEETPATH  Definitions: 1  References: 8
        SUBDOMAIN_INSTALL  Definitions: 3  References: 13
        TEMPLATEPATH  Definitions: 1  References: 9
        TEST_COOKIE  Definitions: 1  References: 5
        UPLOADBLOGSDIR  Definitions: 1  References: 5
        UPLOADS  Definitions: 1  References: 7
        USER_COOKIE  Definitions: 1  References: 4
        VHOST  Definitions: 2  References: 11
        WEEK_IN_SECONDS  Definitions: 1  References: 6
        WPINC  Definitions: 5  References: 204
        WPLANG  Definitions: 1  References: 22
        WPMU_ACCEL_REDIRECT  Definitions: 1  References: 3
        WPMU_PLUGIN_DIR  Definitions: 1  References: 20
        WPMU_PLUGIN_URL  Definitions: 1  References: 3
        WPMU_SENDFILE  Definitions: 1  References: 3
        WP_ADMIN  Definitions: 4  References: 10
        WP_ALLOW_REPAIR  Definitions: 2  References: 3
        WP_BLOG_ADMIN  Definitions: 1  References: 3
        WP_CACHE  Definitions: 1  References: 6
        WP_CONTENT_DIR  Definitions: 3  References: 95
        WP_CONTENT_URL  Definitions: 1  References: 10
        WP_CRON_LOCK_TIMEOUT  Definitions: 1  References: 4
        WP_DEBUG  Definitions: 3  References: 26
        WP_DEBUG_DISPLAY  Definitions: 1  References: 5
        WP_DEBUG_LOG  Definitions: 1  References: 5
        WP_DEFAULT_THEME  Definitions: 1  References: 19
        WP_IMPORTING  Definitions: 1  References: 7
        WP_INSTALLING  Definitions: 5  References: 37
        WP_INSTALLING_NETWORK  Definitions: 2  References: 9
        WP_LANG_DIR  Definitions: 2  References: 32
        WP_LOAD_IMPORTERS  Definitions: 2  References: 3
        WP_MAIL_INTERVAL  Definitions: 1  References: 3
        WP_MAX_MEMORY_LIMIT  Definitions: 1  References: 8
        WP_MEMORY_LIMIT  Definitions: 2  References: 7
        WP_NETWORK_ADMIN  Definitions: 2  References: 9
        WP_PLUGIN_DIR  Definitions: 1  References: 58
        WP_PLUGIN_URL  Definitions: 1  References: 4
        WP_POST_REVISIONS  Definitions: 1  References: 3
        WP_REPAIRING  Definitions: 1  References: 4
        WP_SETUP_CONFIG  Definitions: 1  References: 5
        WP_UNINSTALL_PLUGIN  Definitions: 1  References: 1
        WP_USER_ADMIN  Definitions: 2  References: 9
        WP_USE_THEMES  Definitions: 1  References: 6
        WXR_VERSION  Definitions: 1  References: 1
        XMLRPC_REQUEST  Definitions: 1  References: 8
        YEAR_IN_SECONDS  Definitions: 1  References: 21

    Generated: Mon May 12 03:55:47 2014     Hosted by follow the white rabbit.
    <end node> 5P9i0s8y19Z
    dt=
    <node>directory
    1
    Available Functions
    WordPress includes many other functions for determining paths and URLs to files or directories within plugins, themes, and WordPress itself. See the individual Codex pages for each function for complete information on their use.
    ABSPATH - from wpconfig.php
    Plugins
    plugins_url()
    plugin_dir_url()
    plugin_dir_path()
    plugin_basename()
    Themes
    get_template_directory_uri()
    get_stylesheet_uri()
    get_theme_root_uri()
    get_theme_root()
    get_theme_roots()
    Site Home
    home_url()
    WordPress
    admin_url()
    site_url()
    content_url()
    includes_url()
    wp_upload_dir()
    Multisite
    get_admin_url()
    get_home_url()
    get_site_url()
    network_admin_url()
    network_site_url()
    network_home_url()
    Constants
    WordPress makes use of the following constants when determining the path to the content and plugin directories. These should not be used directly by plugins or themes, but are listed here for completeness.
    WP_CONTENT_DIR  // no trailing slash, full paths only
    WP_CONTENT_URL  // full url
    WP_PLUGIN_DIR  // full path, no trailing slash
    WP_PLUGIN_URL  // full url, no trailing slash
    // Available per default in MS, not set in single site install
    // Can be used in single site installs (as usual: at your own risk)
    UPLOADS // uploads folder, relative to ABSPATH (for e.g.: /wp-content/uploads)
    <end node> 5P9i0s8y19Z
    dt=
    <node>example
    2
    $PATH1=site_url()."/images/directory/$img"; $PATH0=ABSPATH."/images/directory/$img";
            if(file_exists($PATH0)){
                $dimen=sizepicture($PATH0,75,75);
                $dis.="<td><a href='$PATH1' rel='lightbox'><img src='$PATH1' width=".$dimen[0]." height=".$dimen[1]."></a></td>";
            }else $dis.="<td class=view> </td>";
    <end node> 5P9i0s8y19Z
    dt=
    <node>hooks
    1
    http://adambrown.info/p/wp_hooks/version/3.9
    // Remove old copyright text
    add_action( 'init' , 'mh_remove' , 15 );
    function mh_remove() {
       remove_action('wp_footer','footer-2',30);
    }
    <?php remove_action( $tag, $function_to_remove, $priority ); ?>
    Parameters
    $tag
        (string) (required) The action hook to which the function to be removed is hooked.
            Default: None
    $function_to_remove
        (string) (required) The name of the function which should be removed.
            Default: None
    $priority
        (int) (optional) The priority of the function (as defined when the function was originally hooked).
            Default: 10
    Return
    add_action( 'widgets_init', 'my_widget' );
    All plugin hooks in WordPress 3.9
    Important! Some WordPress hooks get applied in multiple PHP files. If you are trying to figure out what a specific WordPress hook does, sort the table by "hook" and make sure you are looking in all the files where it occurs.
        To sort the table, click on a column title.
        Click a hook name to see details about the hook.
        Click a file name to see only hooks used in that file.
        Hook         Type     New?     Instances
    1     activated_plugin         action     no     1
    2     activate_blog         action     no     1
    3     activate_header         action     no     1
    4     activate_plugin         action     no     1
    5     activate_wp_head         action     no     1
    6     activate_{$plugin}     note     action     no     2
    7     activity_box_end         action     no     1
    8     added_existing_user         action     no     1
    9     added_option         action     no     1
    10     added_term_relationship         action     no     1
    11     added_usermeta         action     no     1
    12     added_{$meta_type}_meta     note     action     no     1
    13     additional_capabilities_display         filter     no     1
    14     add_admin_bar_menus         action     no     1
    15     add_attachment         action     no     1
    16     add_category_form_pre         action     no     1
    17     add_link         action     no     1
    18     add_link_category_form_pre         action     no     1
    19     add_menu_classes         filter     no     1
    20     add_meta_boxes         action     no     3
    21     add_meta_boxes_comment         action     no     1
    22     add_meta_boxes_link         action     no     1
    23     add_meta_boxes_{$post_type}     note     action     no     1
    24     add_option         action     no     1
    25     add_option_{$option}     note     action     no     1
    26     add_ping         filter     no     1
    27     add_signup_meta         filter     no     3
    28     add_site_option         action     no     1
    29     add_site_option_{$option}     note     action     no     1
    30     add_tag_form         action     no     1
    31     add_tag_form_fields         action     no     1
    32     add_tag_form_pre         action     no     1
    33     add_term_relationship         action     no     1
    34     add_user_to_blog         action     no     1
    35     add_{$meta_type}_meta     note     action     no     1
    36     add_{$meta_type}_metadata     note     filter     no     1
    37     adminmenu         action     no     1
    38     admin_action_{$action}     note     action     no     1
    39     admin_bar_init         action     no     1
    40     admin_bar_menu         action     no     1
    41     admin_body_class         filter     no     2
    42     admin_color_scheme_picker         action     no     1
    43     admin_comment_types_dropdown         filter     no     1
    44     admin_enqueue_scripts         action     no     5
    45     admin_footer         action     no     3
    46     admin_footer-widgets-php         action     YES     1
    47     admin_footer-{$hook_suffix}     note     action     no     1
    48     admin_footer_text         filter     no     1
    49     admin_head         action     no     4
    50     admin_head-media-upload-popup         action     no     1
    51     admin_head-press-this-php         action     no     1
    52     admin_head-{$hook_suffix}     note     action     no     2
    53     admin_head_{$content_func}     note     action     no     1
    54     admin_init         action     no     3
    55     admin_memory_limit         filter     no     3
    56     admin_menu         action     no     1
    57     admin_notices         action     no     1
    58     admin_page_access_denied         action     no     1
    59     admin_post_thumbnail_html         filter     no     1
    60     admin_print_footer_scripts         action     no     5
    61     admin_print_scripts         action     no     5
    62     admin_print_scripts-media-upload-popup         action     no     1
    63     admin_print_scripts-press-this-php         action     no     1
    64     admin_print_scripts-widgets-php         action     YES     1
    65     admin_print_scripts-{$hook_suffix}     note     action     no     2
    66     admin_print_styles         action     no     5
    67     admin_print_styles-media-upload-popup         action     no     1
    68     admin_print_styles-press-this-php         action     no     1
    69     admin_print_styles-widgets-php         action     YES     1
    70     admin_print_styles-{$hook_suffix}     note     action     no     2
    71     admin_title         filter     no     1
    72     admin_url         filter     no     1
    73     admin_xml_ns         action     no     2
    74     after-{$taxonomy}-table     note     action     no     1
    75     after_db_upgrade         action     no     1
    76     after_delete_post         action     no     1
    77     after_menu_locations_table         action     no     1
    78     after_mu_upgrade         action     no     2
    79     after_plugin_row         action     no     1
    80     after_plugin_row_{$plugin_file}     note     action     no     1
    81     after_setup_theme         action     no     1
    82     after_signup_form         action     no     1
    83     after_switch_theme         action     no     2
    84     after_theme_row         action     no     1
    85     after_theme_row_{$stylesheet}     note     action     no     1
    86     after_wp_tiny_mce         action     no     1
    87     ajax_query_attachments_args         filter     no     1
    88     akismet_comment_check_response         action     no     1
    89     akismet_comment_nonce         filter     no     2
    90     akismet_delete_commentmeta_interval         filter     no     1
    91     akismet_optimize_table         filter     no     2
    92     akismet_show_user_comments_approved         filter     no     1
    93     akismet_spam_caught         action     no     1
    94     akismet_spam_count_incr         filter     no     2
    95     akismet_submit_nonspam_comment         action     no     1
    96     akismet_submit_spam_comment         action     no     1
    97     akismet_ua         filter     no     1
    98     akismet_view_arguments         filter     YES     1
    99     allowed_http_origin         filter     no     1
    100     allowed_http_origins         filter     no     1
    101     allowed_redirect_hosts         filter     no     1
    102     allowed_themes         filter     no     1
    103     allow_dev_auto_core_updates         filter     no     1
    104     allow_major_auto_core_updates         filter     no     1
    105     allow_minor_auto_core_updates         filter     no     1
    106     allow_password_reset         filter     no     1
    107     allow_subdirectory_install         filter     no     1
    108     all_admin_notices         action     no     1
    109     all_plugins         filter     no     1
    110     all_themes         filter     no     1
    111     archive_blog         action     no     2
    112     async_upload_{$type}     note     filter     no     1
    113     atom_author         action     no     1
    114     atom_comments_ns         action     no     1
    115     atom_enclosure         filter     no     1
    116     atom_entry         action     no     1
    117     atom_head         action     no     1
    118     atom_ns         action     no     2
    119     attachment_fields_to_edit         filter     no     2
    120     attachment_fields_to_save         filter     no     3
    121     attachment_icon         filter     no     1
    122     attachment_innerHTML         filter     no     1
    123     attachment_link         filter     no     1
    124     attachment_max_dims         filter     no     1
    125     attachment_submitbox_misc_actions         action     no     1
    126     attachment_thumbnail_args         filter     YES     1
    127     attribute_escape         filter     no     1
    128     audio_submitbox_misc_sections         filter     no     1
    129     authenticate         filter     no     1
    130     author_email         filter     no     1
    131     author_feed_link         filter     no     1
    132     author_link         filter     no     1
    133     author_rewrite_rules         filter     no     1
    134     auth_cookie         filter     no     1
    135     auth_cookie_bad_hash         action     no     1
    136     auth_cookie_bad_username         action     no     1
    137     auth_cookie_expiration         filter     no     2
    138     auth_cookie_expired         action     no     1
    139     auth_cookie_malformed         action     no     1
    140     auth_cookie_valid         action     no     1
    141     auth_post_meta_{$meta_key}     note     filter     no     1
    142     auth_redirect         action     no     1
    143     auth_redirect_scheme         filter     no     1
    144     autocomplete_users_for_site_admins         filter     no     2
    145     automatic_updater_disabled         filter     no     1
    146     automatic_updates_complete         action     no     1
    147     automatic_updates_debug_email         filter     no     1
    148     automatic_updates_is_vcs_checkout         filter     no     1
    149     automatic_updates_send_debug_email         filter     no     1
    150     auto_core_update_email         filter     no     1
    151     auto_core_update_send_email         filter     no     1
    152     auto_update_{$type}     note     filter     no     1
    153     avatar_defaults         filter     no     1
    154     before_delete_post         action     no     1
    155     before_signup_form         action     no     1
    156     before_wp_tiny_mce         action     no     1
    157     begin_fetch_post_thumbnail_html         action     no     1
    158     block_local_requests         filter     no     1
    159     bloginfo         filter     no     1
    160     bloginfo_rss         filter     no     1
    161     bloginfo_url         filter     no     1
    162     blog_details         filter     no     1
    163     blog_option_{$option}     note     filter     no     1
    164     blog_privacy_selector         action     no     1
    165     blog_redirect_404         filter     no     1
    166     body_class         filter     no     1
    167     browse-happy-notice         filter     no     1
    168     bulk_actions-{$this->screen->id}     note     filter     no     1
    169     bulk_edit_custom_box         action     no     1
    170     bulk_post_updated_messages         filter     no     1
    171     cancel_comment_reply_link         filter     no     1
    172     can_edit_network         filter     no     1
    173     category_description         filter     no     1
    174     category_feed_link         filter     no     1
    175     category_link         filter     no     1
    176     check_admin_referer         action     no     1
    177     check_ajax_referer         action     no     1
    178     check_comment_flood         action     no     1
    179     check_is_user_spammed         filter     no     1
    180     check_password         filter     no     2
    181     check_passwords         action     no     1
    182     clean_attachment_cache         action     no     1
    183     clean_object_term_cache         action     no     1
    184     clean_page_cache         action     no     1
    185     clean_post_cache         action     no     1
    186     clean_term_cache         action     no     1
    187     clean_url         filter     no     1
    188     clear_auth_cookie         action     no     1
    189     close_comments_for_post_types         filter     no     2
    190     commentrss2_item         action     no     1
    191     commentsrss2_head         action     no     1
    192     comments_array         filter     no     1
    193     comments_atom_head         action     no     1
    194     comments_clauses         filter     no     1
    195     comments_link_feed         filter     no     1
    196     comments_number         filter     no     1
    197     comments_open         filter     no     1
    198     comments_per_page         filter     no     2
    199     comments_popup_link_attributes         filter     no     1
    200     comments_rewrite_rules         filter     no     1
    201     comments_template         filter     no     1
    202     comment_add_author_url         action     no     1
    203     comment_atom_entry         action     no     1
    204     comment_author         filter     no     1
    205     comment_author_rss         filter     no     1
    206     comment_class         filter     no     1
    207     comment_closed         action     no     1
    208     comment_cookie_lifetime         filter     no     1
    209     comment_duplicate_trigger         action     no     1
    210     comment_edit_pre         filter     no     2
    211     comment_edit_redirect         filter     no     1
    212     comment_email         filter     no     1
    213     comment_excerpt         filter     no     1
    214     comment_feed_groupby         filter     no     2
    215     comment_feed_join         filter     no     2
    216     comment_feed_limits         filter     no     2
    217     comment_feed_orderby         filter     no     2
    218     comment_feed_where         filter     no     2
    219     comment_flood_filter         filter     no     1
    220     comment_flood_trigger         action     no     1
    221     comment_form         action     no     3
    222     comment_form_after         action     no     1
    223     comment_form_after_fields         action     no     1
    224     comment_form_before         action     no     1
    225     comment_form_before_fields         action     no     1
    226     comment_form_comments_closed         action     no     1
    227     comment_form_defaults         filter     no     1
    228     comment_form_default_fields         filter     no     1
    229     comment_form_field_comment         filter     no     1
    230     comment_form_field_{$name}     note     filter     no     1
    231     comment_form_logged_in         filter     no     1
    232     comment_form_logged_in_after         action     no     1
    233     comment_form_must_log_in_after         action     no     1
    234     comment_form_top         action     no     1
    235     comment_id_fields         filter     no     1
    236     comment_id_not_found         action     no     1
    237     comment_link         filter     no     1
    238     comment_loop_start         action     no     1
    239     comment_max_links_url         filter     no     1
    240     comment_moderation_headers         filter     no     1
    241     comment_moderation_recipients         filter     no     1
    242     comment_moderation_subject         filter     no     1
    243     comment_moderation_text         filter     no     1
    244     comment_notification_headers         filter     no     1
    245     comment_notification_notify_author         filter     no     1
    246     comment_notification_recipients         filter     no     1
    247     comment_notification_subject         filter     no     1
    248     comment_notification_text         filter     no     1
    249     comment_on_draft         action     no     1
    250     comment_on_password_protected         action     no     1
    251     comment_on_trash         action     no     1
    252     comment_post         action     no     1
    253     comment_post_redirect         filter     no     1
    254     comment_remove_author_url         action     no     1
    255     comment_reply_link         filter     no     1
    256     comment_row_actions         filter     no     2
    257     comment_save_pre         filter     no     1
    258     comment_status_links         filter     no     1
    259     comment_text         filter     no     2
    260     comment_text_rss         filter     no     1
    261     comment_url         filter     no     1
    262     comment_{$new_status}_{$comment->comment_type}     note     action     no     1
    263     comment_{$old_status}_to_{$new_status}     note     action     no     1
    264     content_url         filter     no     1
    265     contextual_help         filter     no     1
    266     contextual_help_list         filter     no     1
    267     core_upgrade_preamble         action     no     1
    268     core_version_check_locale         filter     no     1
    269     created_term         action     no     1
    270     created_{$taxonomy}     note     action     no     1
    271     create_term         action     no     1
    272     create_{$taxonomy}     note     action     no     1
    273     cron_request         filter     no     1
    274     cron_schedules         filter     no     1
    275     current_screen         action     no     1
    276     current_theme_supports-{$feature}     note     filter     no     1
    277     customizer_widgets_section_args         filter     YES     1
    278     customize_allowed_urls         filter     no     1
    279     customize_controls_enqueue_scripts         action     no     1
    280     customize_controls_init         action     no     1
    281     customize_controls_print_footer_scripts         action     no     1
    282     customize_controls_print_scripts         action     no     1
    283     customize_controls_print_styles         action     no     1
    284     customize_preview_init         action     no     1
    285     customize_preview_{$this->id}     note     action     no     1
    286     customize_register         action     no     1
    287     customize_render_control         action     no     1
    288     customize_render_control_{$this->id}     note     action     no     1
    289     customize_render_section         action     no     1
    290     customize_render_section_{$this->id}     note     action     no     1
    291     customize_sanitize_js_{$this->id}     note     filter     no     1
    292     customize_sanitize_{$this->id}     note     filter     no     1
    293     customize_save         action     no     1
    294     customize_save_after         action     no     1
    295     customize_save_{$this->id_data[base]}     note     action     no     1
    296     customize_update_{$this->type}     note     action     no     1
    297     customize_value_{$this->id_data[base]}     note     filter     no     1
    298     custom_header_options         action     no     1
    299     custom_menu_order         filter     no     1
    300     dashboard_glance_items         filter     no     1
    301     dashboard_primary_feed         filter     no     1
    302     dashboard_primary_link         filter     no     1
    303     dashboard_primary_title         filter     no     1
    304     dashboard_secondary_feed         filter     no     1
    305     dashboard_secondary_link         filter     no     1
    306     dashboard_secondary_title         filter     no     1
    307     date_formats         filter     no     1
    308     date_i18n         filter     no     1
    309     date_query_valid_columns         filter     no     1
    310     date_rewrite_rules         filter     no     1
    311     day_link         filter     no     1
    312     dbdelta_create_queries         filter     no     1
    313     dbdelta_insert_queries         filter     no     1
    314     dbdelta_queries         filter     no     1
    315     dbx_post_advanced         action     no     1
    316     dbx_post_sidebar         action     no     1
    317     deactivated_plugin         action     no     1
    318     deactivate_blog         action     no     1
    319     deactivate_plugin         action     no     1
    320     deactivate_{$plugin}     note     action     no     1
    321     default_avatar_select         filter     no     1
    322     default_content         filter     no     1
    323     default_contextual_help         filter     no     1
    324     default_excerpt         filter     no     1
    325     default_feed         filter     no     1
    326     default_hidden_meta_boxes         filter     no     1
    327     default_option_{$option}     note     filter     no     3
    328     default_site_option_{$option}     note     filter     no     3
    329     default_title         filter     no     1
    330     deleted_comment         action     no     1
    331     deleted_link         action     no     1
    332     deleted_option         action     no     1
    333     deleted_post         action     no     2
    334     deleted_postmeta         action     no     1
    335     deleted_site_transient         action     no     1
    336     deleted_term_relationships         action     no     1
    337     deleted_term_taxonomy         action     no     1
    338     deleted_transient         action     no     1
    339     deleted_user         action     no     2
    340     deleted_usermeta         action     no     1
    341     deleted_{$meta_type}meta     note     action     no     1
    342     deleted_{$meta_type}_meta     note     action     no     2
    343     delete_attachment         action     no     1
    344     delete_blog         action     no     1
    345     delete_comment         action     no     2
    346     delete_link         action     no     1
    347     delete_option         action     no     1
    348     delete_option_{$option}     note     action     no     1
    349     delete_post         action     no     2
    350     delete_postmeta         action     no     1
    351     delete_site_email_content         filter     no     1
    352     delete_site_option         action     no     1
    353     delete_site_option_{$option}     note     action     no     1
    354     delete_site_transient_{$transient}     note     action     no     1
    355     delete_term         action     no     1
    356     delete_term_relationships         action     no     1
    357     delete_term_taxonomy         action     no     1
    358     delete_transient_{$transient}     note     action     no     1
    359     delete_user         action     no     1
    360     delete_usermeta         action     no     1
    361     delete_{$meta_type}meta     note     action     no     1
    362     delete_{$meta_type}_meta     note     action     no     2
    363     delete_{$meta_type}_metadata     note     filter     no     1
    364     delete_{$taxonomy}     note     action     no     1
    365     deprecated_argument_run         action     no     1
    366     deprecated_argument_trigger_error         filter     no     1
    367     deprecated_file_included         action     no     1
    368     deprecated_file_trigger_error         filter     no     1
    369     deprecated_function_run         action     no     1
    370     deprecated_function_trigger_error         filter     no     1
    371     determine_current_user         filter     YES     1
    372     disable_captions         filter     no     7
    373     display_media_states         filter     no     1
    374     display_post_states         filter     no     1
    375     documentation_ignore_functions         filter     no     1
    376     doing_it_wrong_run         action     no     1
    377     doing_it_wrong_trigger_error         filter     no     1
    378     domain_exists         filter     no     1
    379     do_meta_boxes         action     no     8
    380     do_mu_upgrade         filter     no     1
    381     do_parse_request         filter     no     1
    382     do_robots         action     no     1
    383     do_robotstxt         action     no     1
    384     dynamic_sidebar         action     no     1
    385     dynamic_sidebar_after         action     YES     2
    386     dynamic_sidebar_before         action     YES     2
    387     dynamic_sidebar_has_widgets         filter     YES     2
    388     dynamic_sidebar_params         filter     no     1
    389     editable_extensions         filter     no     1
    390     editable_roles         filter     no     1
    391     editable_slug         filter     no     7
    392     edited_term         action     no     1
    393     edited_terms         action     no     4
    394     edited_term_taxonomies         action     no     1
    395     edited_term_taxonomy         action     no     3
    396     edited_{$taxonomy}     note     action     no     1
    397     editor_max_image_size         filter     no     1
    398     edit_attachment         action     no     1
    399     edit_bookmark_link         filter     no     1
    400     edit_categories_per_page         filter     no     2
    401     edit_category_form         action     no     2
    402     edit_category_form_fields         action     no     1
    403     edit_category_form_pre         action     no     1
    404     edit_comment         action     no     1
    405     edit_comment_link         filter     no     1
    406     edit_form_advanced         action     no     1
    407     edit_form_after_editor         action     no     1
    408     edit_form_after_title         action     no     1
    409     edit_form_top         action     no     1
    410     edit_link         action     no     1
    411     edit_link_category_form         action     no     2
    412     edit_link_category_form_fields         action     no     1
    413     edit_link_category_form_pre         action     no     1
    414     edit_page_form         action     no     1
    415     edit_post         action     no     3
    416     edit_posts_per_page         filter     no     3
    417     edit_post_link         filter     no     1
    418     edit_post_{$field}     note     filter     no     1
    419     edit_profile_url         filter     no     1
    420     edit_tags_per_page         filter     no     1
    421     edit_tag_form         action     no     1
    422     edit_tag_form_fields         action     no     1
    423     edit_tag_form_pre         action     no     1
    424     edit_tag_link         filter     no     1
    425     edit_term         action     no     1
    426     edit_terms         action     no     4
    427     edit_term_link         filter     no     1
    428     edit_term_taxonomies         action     no     1
    429     edit_term_taxonomy         action     no     3
    430     edit_term_{$field}     note     filter     no     1
    431     edit_user_profile         action     no     1
    432     edit_user_profile_update         action     no     1
    433     edit_user_{$field}     note     filter     no     1
    434     edit_{$field}     note     filter     no     3
    435     edit_{$taxonomy}     note     action     no     1
    436     edit_{$taxonomy}_{$field}     note     filter     no     1
    437     embed_cache_oembed_types         filter     no     1
    438     embed_defaults         filter     no     1
    439     embed_googlevideo         filter     no     1
    440     embed_handler_html         filter     no     1
    441     embed_maybe_make_link         filter     no     1
    442     embed_oembed_discover         filter     no     1
    443     embed_oembed_html         filter     no     2
    444     enable_edit_any_user_configuration         filter     no     1
    445     enable_live_network_counts         filter     no     2
    446     enable_post_by_email_configuration         filter     no     4
    447     enable_update_services_configuration         filter     no     2
    448     end_fetch_post_thumbnail_html         action     no     1
    449     enter_title_here         filter     no     2
    450     esc_html         filter     no     1
    451     esc_textarea         filter     no     1
    452     excerpt_length         filter     no     1
    453     excerpt_more         filter     no     1
    454     exit_on_http_head         filter     no     1
    455     export_args         filter     no     1
    456     export_filters         action     no     1
    457     export_wp         action     no     1
    458     ext2type         filter     no     1
    459     extra_theme_headers         filter     no     1
    460     extra_{$context}_headers     note     filter     no     1
    461     feed_content_type         filter     no     1
    462     feed_link         filter     no     1
    463     filesystem_method         filter     no     1
    464     filesystem_method_file         filter     no     1
    465     file_is_displayable_image         filter     no     1
    466     flush_rewrite_rules_hard         filter     no     1
    467     force_filtered_html_on_import         filter     no     1
    468     format_to_edit         filter     no     1
    469     found_posts         filter     no     1
    470     found_posts_query         filter     no     1
    471     found_users_query         filter     no     1
    472     fs_ftp_connection_types         filter     no     1
    473     gallery_style         filter     no     1
    474     generate_rewrite_rules         action     no     1
    475     getarchives_join         filter     no     1
    476     getarchives_where         filter     no     1
    477     getimagesize_mimes_to_exts         filter     no     1
    478     gettext         filter     no     1
    479     gettext_with_context         filter     no     1
    480     get_ancestors         filter     no     2
    481     get_archives_link         filter     no     1
    482     get_attached_file         filter     no     1
    483     get_attached_media         filter     no     1
    484     get_attached_media_args         filter     no     1
    485     get_avatar         filter     no     1
    486     get_avatar_comment_types         filter     no     1
    487     get_bloginfo_rss         filter     no     2
    488     get_blogs_of_user         filter     no     1
    489     get_bookmarks         filter     no     3
    490     get_calendar         filter     no     4
    491     get_categories_taxonomy         filter     no     1
    492     get_comment         filter     no     1
    493     get_comments_link         filter     no     1
    494     get_comments_number         filter     no     1
    495     get_comments_pagenum_link         filter     no     1
    496     get_comment_author         filter     no     1
    497     get_comment_author_email         filter     no     1
    498     get_comment_author_IP         filter     no     1
    499     get_comment_author_link         filter     no     2
    500     get_comment_author_url         filter     no     1
    501     get_comment_author_url_link         filter     no     1
    502     get_comment_date         filter     no     1
    503     get_comment_excerpt         filter     no     1
    504     get_comment_ID         filter     no     1
    505     get_comment_link         filter     no     1
    506     get_comment_text         filter     no     1
    507     get_comment_time         filter     no     1
    508     get_comment_type         filter     no     1
    509     get_date_sql         filter     no     1
    510     get_delete_post_link         filter     no     1
    511     get_editable_authors         filter     no     1
    512     get_edit_bookmark_link         filter     no     1
    513     get_edit_comment_link         filter     no     1
    514     get_edit_post_link         filter     no     1
    515     get_edit_tag_link         filter     no     1
    516     get_edit_term_link         filter     no     1
    517     get_edit_user_link         filter     no     1
    518     get_enclosed         filter     no     1
    519     get_footer         action     no     1
    520     get_header         action     no     1
    521     get_image_tag         filter     no     1
    522     get_image_tag_class         filter     no     1
    523     get_lastpostdate         filter     no     1
    524     get_lastpostmodified         filter     no     1
    525     get_media_item_args         filter     no     2
    526     get_meta_sql         filter     no     1
    527     get_others_drafts         filter     no     1
    528     get_pagenum_link         filter     no     1
    529     get_pages         filter     no     3
    530     get_post_galleries         filter     no     1
    531     get_post_gallery         filter     no     1
    532     get_post_modified_time         filter     no     1
    533     get_post_time         filter     no     1
    534     get_pung         filter     no     1
    535     get_sample_permalink_html         filter     no     2
    536     get_search_form         filter     no     1
    537     get_search_query         filter     no     1
    538     get_shortlink         filter     no     1
    539     get_sidebar         action     no     1
    540     get_space_allowed         filter     no     1
    541     get_tags         filter     no     1
    542     get_template_part_{$slug}     note     action     no     1
    543     get_term         filter     no     2
    544     get_terms         filter     no     3
    545     get_terms_args         filter     no     1
    546     get_terms_fields         filter     no     1
    547     get_terms_orderby         filter     no     1
    548     get_the_author_{$field}     note     filter     no     1
    549     get_the_categories         filter     no     1
    550     get_the_date         filter     no     1
    551     get_the_excerpt         filter     no     1
    552     get_the_generator_{$type}     note     filter     no     1
    553     get_the_guid         filter     no     1
    554     get_the_modified_date         filter     no     1
    555     get_the_modified_time         filter     no     1
    556     get_the_tags         filter     no     1
    557     get_the_terms         filter     no     1
    558     get_the_time         filter     no     1
    559     get_to_ping         filter     no     1
    560     get_usernumposts         filter     no     1
    561     get_users_drafts         filter     no     1
    562     get_user_option_{$option}     note     filter     no     1
    563     get_wp_title_rss         filter     no     1
    564     get_{$adjacent}_post_join     note     filter     no     1
    565     get_{$adjacent}_post_sort     note     filter     no     1
    566     get_{$adjacent}_post_where     note     filter     no     1
    567     get_{$meta_type}_metadata     note     filter     no     2
    568     get_{$taxonomy}     note     filter     no     2
    569     global_terms_enabled         filter     no     1
    570     got_rewrite         filter     no     1
    571     got_url_rewrite         filter     no     1
    572     graceful_fail         filter     no     1
    573     graceful_fail_template         filter     no     1
    574     granted_super_admin         action     no     1
    575     grant_super_admin         action     no     1
    576     heartbeat_nopriv_received         filter     no     1
    577     heartbeat_nopriv_send         filter     no     1
    578     heartbeat_nopriv_tick         action     no     1
    579     heartbeat_received         filter     no     1
    580     heartbeat_send         filter     no     1
    581     heartbeat_settings         filter     no     1
    582     heartbeat_tick         action     no     1
    583     hidden_meta_boxes         filter     no     1
    584     home_url         filter     no     1
    585     htmledit_pre         filter     no     1
    586     https_local_ssl_verify         filter     no     3
    587     https_ssl_verify         filter     no     2
    588     http_api_curl         action     no     1
    589     http_api_debug         action     no     1
    590     http_api_transports         filter     no     1
    591     http_headers_useragent         filter     no     2
    592     http_origin         filter     no     1
    593     http_request_args         filter     no     1
    594     http_request_host_is_external         filter     no     1
    595     http_request_redirection_count         filter     no     1
    596     http_request_reject_unsafe_urls         filter     no     1
    597     http_request_timeout         filter     no     1
    598     http_request_version         filter     no     1
    599     http_response         filter     no     1
    600     icon_dir         filter     no     3
    601     icon_dirs         filter     no     1
    602     icon_dir_uri         filter     no     1
    603     iis7_supports_permalinks         filter     no     1
    604     iis7_url_rewrite_rules         filter     no     1
    605     image_add_caption_shortcode         filter     no     1
    606     image_downsize         filter     no     2
    607     image_editor_default_mime_type         filter     no     1
    608     image_editor_save_pre         filter     no     2
    609     image_edit_before_change         filter     no     1
    610     image_make_intermediate_size         filter     no     2
    611     image_memory_limit         filter     no     3
    612     image_resize_dimensions         filter     no     1
    613     image_save_pre         filter     no     2
    614     image_send_to_editor         filter     no     1
    615     image_send_to_editor_url         filter     no     1
    616     image_size_names_choose         filter     no     5
    617     img_caption_shortcode         filter     no     1
    618     img_caption_shortcode_width         filter     no     1
    619     import_upload_size_limit         filter     no     1
    620     includes_url         filter     no     1
    621     incompatible_sql_modes         filter     YES     1
    622     index_rel_link         filter     no     1
    623     init         action     no     1
    624     install_plugins_nonmenu_tabs         filter     no     1
    625     install_plugins_pre_{$tab}     note     action     no     1
    626     install_plugins_table_api_args_{$tab}     note     filter     no     1
    627     install_plugins_table_header         action     no     1
    628     install_plugins_tabs         filter     no     1
    629     install_plugins_{$tab}     note     action     no     1
    630     install_plugin_complete_actions         filter     no     1
    631     install_themes_nonmenu_tabs         filter     no     1
    632     install_themes_pre_{$tab}     note     action     no     1
    633     install_themes_table_api_args_{$old_filter}     note     filter     YES     1
    634     install_themes_table_api_args_{$tab}     note     filter     no     1
    635     install_themes_table_header         action     no     1
    636     install_themes_tabs         filter     no     1
    637     install_themes_{$tab}     note     action     no     1
    638     install_theme_complete_actions         filter     no     1
    639     intermediate_image_sizes         filter     no     1
    640     intermediate_image_sizes_advanced         filter     no     1
    641     in_admin_footer         action     no     1
    642     in_admin_header         action     no     1
    643     in_plugin_update_message-{$file}     note     action     no     1
    644     in_theme_update_message-{$theme_key}     note     action     no     1
    645     in_widget_form         action     no     1
    646     is_active_sidebar         filter     YES     1
    647     is_email         filter     no     9
    648     is_email_address_unsafe         filter     no     1
    649     is_multi_author         filter     no     1
    650     is_protected_meta         filter     no     1
    651     is_wide_widget_in_customizer         filter     YES     1
    652     jpeg_quality         filter     no     2
    653     js_escape         filter     no     1
    654     kses_allowed_protocols         filter     no     1
    655     language_attributes         filter     no     1
    656     lang_codes         filter     no     1
    657     link_category         filter     no     3
    658     link_title         filter     no     1
    659     list_cats         filter     no     5
    660     list_pages         filter     no     1
    661     list_terms_exclusions         filter     no     1
    662     load-categories-php         action     no     1
    663     load-edit-link-categories-php         action     no     1
    664     load-importer-{$importer}     note     action     no     1
    665     load-page-new-php         action     no     1
    666     load-page-php         action     no     1
    667     load-widgets-php         action     no     3
    668     load-{$pagenow}     note     action     no     1
    669     load-{$page_hook}     note     action     no     1
    670     load-{$plugin_page}     note     action     no     1
    671     load_default_embeds         filter     no     1
    672     load_default_widgets         filter     no     1
    673     load_feed_engine         action     no     1
    674     load_image_to_edit         filter     no     1
    675     load_image_to_edit_attachmenturl         filter     no     1
    676     load_image_to_edit_filesystempath         filter     no     1
    677     load_image_to_edit_path         filter     no     1
    678     load_textdomain         action     no     1
    679     load_textdomain_mofile         filter     no     1
    680     locale         filter     no     2
    681     locale_stylesheet_uri         filter     no     1
    682     loginout         filter     no     2
    683     login_body_class         filter     no     1
    684     login_enqueue_scripts         action     no     1
    685     login_errors         filter     no     1
    686     login_footer         action     no     2
    687     login_form         action     no     1
    688     login_form_bottom         filter     no     1
    689     login_form_defaults         filter     no     1
    690     login_form_middle         filter     no     1
    691     login_form_top         filter     no     1
    692     login_form_{$action}     note     action     no     1
    693     login_head         action     no     1
    694     login_headertitle         filter     no     1
    695     login_headerurl         filter     no     1
    696     login_init         action     no     1
    697     login_message         filter     no     1
    698     login_messages         filter     no     1
    699     login_redirect         filter     no     1
    700     login_url         filter     no     1
    701     logout_url         filter     no     1
    702     loop_end         action     no     1
    703     loop_start         action     no     1
    704     lostpassword_form         action     no     1
    705     lostpassword_post         action     no     1
    706     lostpassword_redirect         filter     no     1
    707     lostpassword_url         filter     no     1
    708     lost_password         action     no     1
    709     make_delete_blog         action     no     2
    710     make_ham_blog         action     no     2
    711     make_ham_user         action     no     1
    712     make_spam_blog         action     no     2
    713     make_spam_user         action     no     1
    714     make_undelete_blog         action     no     2
    715     manage_comments_custom_column         action     no     1
    716     manage_comments_nav         action     no     1
    717     manage_link_custom_column         action     no     1
    718     manage_media_columns         filter     no     1
    719     manage_media_custom_column         action     no     1
    720     manage_pages_columns         filter     no     1
    721     manage_pages_custom_column         action     no     1
    722     manage_plugins_custom_column         action     no     1
    723     manage_posts_columns         filter     no     1
    724     manage_posts_custom_column         action     no     1
    725     manage_sites_action_links         filter     no     1
    726     manage_sites_custom_column         action     no     1
    727     manage_taxonomies_for_attachment_columns         filter     no     1
    728     manage_taxonomies_for_{$post_type}_columns     note     filter     no     1
    729     manage_themes_custom_column         action     no     1
    730     manage_users_custom_column         filter     no     2
    731     manage_{$post->post_type}_posts_custom_column     note     action     no     1
    732     manage_{$post_type}_posts_columns     note     filter     no     1
    733     manage_{$screen->id}_columns     note     filter     no     1
    734     manage_{$this->screen->id}_sortable_columns     note     filter     no     1
    735     manage_{$this->screen->taxonomy}_custom_column     note     filter     no     1
    736     map_meta_cap         filter     no     1
    737     mature_blog         action     no     2
    738     mce_buttons         filter     no     1
    739     mce_buttons_2         filter     no     1
    740     mce_buttons_3         filter     no     1
    741     mce_buttons_4         filter     no     1
    742     mce_css         filter     no     1
    743     mce_external_languages         filter     no     1
    744     mce_external_plugins         filter     no     1
    745     media_buttons         action     no     1
    746     media_buttons_context         filter     no     1
    747     media_meta         filter     no     3
    748     media_row_actions         filter     no     1
    749     media_send_to_editor         filter     no     2
    750     media_submitbox_misc_sections         filter     no     1
    751     media_upload_default_tab         filter     no     2
    752     media_upload_default_type         filter     no     1
    753     media_upload_form_url         filter     no     4
    754     media_upload_mime_type_links         filter     no     1
    755     media_upload_tabs         filter     no     2
    756     media_upload_{$tab}     note     action     no     1
    757     media_upload_{$type}     note     action     no     1
    758     media_view_settings         filter     no     1
    759     media_view_strings         filter     no     1
    760     menu_order         filter     no     1
    761     mime_types         filter     no     1
    762     mod_rewrite_rules         filter     no     1
    763     months_dropdown_results         filter     no     1
    764     month_link         filter     no     1
    765     ms_site_check         filter     no     1
    766     ms_site_not_found         action     YES     1
    767     ms_user_list_site_actions         filter     no     1
    768     ms_user_row_actions         filter     no     1
    769     muplugins_loaded         action     no     1
    770     mu_activity_box_end         action     no     1
    771     mu_dropdown_languages         filter     no     1
    772     mu_menu_items         filter     no     1
    773     mu_rightnow_end         action     no     1
    774     myblogs_allblogs_options         action     no     1
    775     myblogs_blog_actions         filter     no     1
    776     myblogs_options         filter     no     2
    777     nav_menu_attr_title         filter     no     2
    778     nav_menu_css_class         filter     no     1
    779     nav_menu_description         filter     no     2
    780     nav_menu_items_{$post_type_name}     note     filter     no     1
    781     nav_menu_item_id         filter     no     1
    782     nav_menu_link_attributes         filter     no     1
    783     nav_menu_meta_box_object         filter     no     3
    784     network_admin_edit_{$action}     note     action     no     1
    785     network_admin_menu         action     no     1
    786     network_admin_notices         action     no     1
    787     network_admin_url         filter     no     1
    788     network_by_path_segments_count         filter     YES     1
    789     network_home_url         filter     no     1
    790     network_sites_updated_message_{$updated}     note     filter     no     1
    791     network_site_url         filter     no     1
    792     network_site_users_after_list_table         action     no     1
    793     newblogname         filter     no     1
    794     newblog_notify_siteadmin         filter     no     1
    795     newuser_notify_siteadmin         filter     no     1
    796     new_admin_email_content         filter     no     1
    797     new_user_email_content         filter     no     1
    798     next_comments_link_attributes         filter     no     1
    799     next_posts_link_attributes         filter     no     1
    800     ngettext         filter     no     1
    801     ngettext_with_context         filter     no     1
    802     nocache_headers         filter     no     1
    803     nonce_life         filter     no     1
    804     nonce_user_logged_out         filter     no     2
    805     no_texturize_shortcodes         filter     no     1
    806     no_texturize_tags         filter     no     1
    807     number_format_i18n         filter     no     1
    808     oembed_dataparse         filter     no     1
    809     oembed_fetch_url         filter     no     1
    810     oembed_linktypes         filter     no     1
    811     oembed_providers         filter     no     1
    812     oembed_result         filter     no     1
    813     opml_head         action     no     1
    814     option_enable_xmlrpc         filter     no     1
    815     option_page_capability_{$option_page}     note     filter     no     1
    816     option_{$option_name}     note     filter     YES     1
    817     option_{$option}     note     filter     no     1
    818     override_load_textdomain         filter     no     1
    819     override_post_lock         filter     no     1
    820     override_unload_textdomain         filter     no     1
    821     page_attributes_dropdown_pages_args         filter     no     1
    822     page_css_class         filter     no     1
    823     page_link         filter     no     1
    824     page_rewrite_rules         filter     no     1
    825     page_row_actions         filter     no     1
    826     paginate_links         filter     no     3
    827     parent_file         filter     no     1
    828     parent_post_rel_link         filter     no     1
    829     parse_query         action     no     1
    830     parse_request         action     no     1
    831     parse_tax_query         action     no     1
    832     password_reset         action     no     1
    833     password_reset_key_expired         filter     no     1
    834     permalink_structure_changed         action     no     1
    835     personal_options         action     no     1
    836     personal_options_update         action     no     1
    837     phone_content         filter     no     1
    838     phpmailer_init         action     no     1
    839     pingback_ping_source_uri         filter     no     1
    840     pingback_post         action     no     1
    841     pingback_useragent         filter     no     1
    842     pings_open         filter     no     1
    843     plugins_api         filter     no     1
    844     plugins_api_args         filter     no     1
    845     plugins_api_result         filter     no     1
    846     plugins_loaded         action     no     1
    847     plugins_update_check_locales         filter     no     1
    848     plugins_url         filter     no     1
    849     plugin_install_action_links         filter     no     1
    850     plugin_locale         filter     no     2
    851     plugin_row_meta         filter     no     1
    852     plupload_default_params         filter     no     1
    853     plupload_default_settings         filter     no     1
    854     plupload_init         filter     no     1
    855     populate_network_meta         filter     no     1
    856     populate_options         action     no     1
    857     post-html-upload-ui         action     no     1
    858     post-plupload-upload-ui         action     no     3
    859     post-upload-ui         action     no     2
    860     postbox_classes_{$page}_{$id}     note     filter     no     1
    861     postmeta_form_limit         filter     no     1
    862     posts_clauses         filter     no     1
    863     posts_clauses_request         filter     no     1
    864     posts_distinct         filter     no     1
    865     posts_distinct_request         filter     no     1
    866     posts_fields         filter     no     1
    867     posts_fields_request         filter     no     1
    868     posts_groupby         filter     no     1
    869     posts_groupby_request         filter     no     1
    870     posts_join         filter     no     1
    871     posts_join_paged         filter     no     1
    872     posts_join_request         filter     no     1
    873     posts_orderby         filter     no     1
    874     posts_orderby_request         filter     no     1
    875     posts_request         filter     no     1
    876     posts_request_ids         filter     no     1
    877     posts_results         filter     no     1
    878     posts_search         filter     no     1
    879     posts_search_orderby         filter     no     1
    880     posts_selection         action     no     1
    881     posts_where         filter     no     1
    882     posts_where_paged         filter     no     1
    883     posts_where_request         filter     no     1
    884     post_class         filter     no     1
    885     post_comments_feed_link         filter     no     1
    886     post_comments_feed_link_html         filter     no     1
    887     post_comments_link         filter     no     1
    888     post_comment_status_meta_box-options         action     no     1
    889     post_date_column_time         filter     no     2
    890     post_edit_form_tag         action     no     1
    891     post_format_rewrite_base         filter     no     1
    892     post_gallery         filter     no     1
    893     post_limits         filter     no     1
    894     post_limits_request         filter     no     1
    895     post_link         filter     no     1
    896     post_link_category         filter     no     1
    897     post_locked_dialog         action     no     1
    898     post_lock_lost_dialog         action     no     1
    899     post_mime_types         filter     no     1
    900     post_password_expires         filter     no     1
    901     post_playlist         filter     YES     1
    902     post_rewrite_rules         filter     no     1
    903     post_row_actions         filter     no     1
    904     post_submitbox_misc_actions         action     no     1
    905     post_submitbox_start         action     no     2
    906     post_thumbnail_html         filter     no     1
    907     post_thumbnail_size         filter     no     1
    908     post_types_to_delete_with_user         filter     no     1
    909     post_type_archive_feed_link         filter     no     1
    910     post_type_archive_link         filter     no     1
    911     post_type_archive_title         filter     no     1
    912     post_type_labels_{$post_type}     note     filter     no     1
    913     post_type_link         filter     no     1
    914     post_updated         action     no     1
    915     post_updated_messages         filter     no     1
    916     post_{$field}     note     filter     no     1
    917     pre-html-upload-ui         action     no     1
    918     pre-plupload-upload-ui         action     no     2
    919     pre-upload-ui         action     no     2
    920     prepend_attachment         filter     no     1
    921     preprocess_comment         filter     no     1
    922     preprocess_signup_form         action     no     1
    923     preview_post_link         filter     no     4
    924     previous_comments_link_attributes         filter     no     1
    925     previous_posts_link_attributes         filter     no     1
    926     pre_add_site_option_{$option}     note     filter     no     1
    927     pre_category_nicename         filter     no     1
    928     pre_comment_approved         filter     no     1
    929     pre_comment_author_email         filter     no     2
    930     pre_comment_author_name         filter     no     2
    931     pre_comment_author_url         filter     no     2
    932     pre_comment_content         filter     no     1
    933     pre_comment_on_post         action     no     1
    934     pre_comment_user_agent         filter     no     1
    935     pre_comment_user_ip         filter     no     1
    936     pre_current_active_plugins         action     no     1
    937     pre_delete_site_option_{$option}     note     action     no     1
    938     pre_ent2ncr         filter     no     1
    939     pre_get_comments         action     no     1
    940     pre_get_network_by_path         filter     YES     1
    941     pre_get_posts         action     no     1
    942     pre_get_search_form         action     no     1
    943     pre_get_shortlink         filter     no     1
    944     pre_get_site_by_path         filter     YES     1
    945     pre_get_space_used         filter     no     1
    946     pre_http_request         filter     no     1
    947     pre_http_send_through_proxy         filter     no     1
    948     pre_insert_term         filter     no     1
    949     pre_kses         filter     no     1
    950     pre_option_enable_xmlrpc         filter     no     1
    951     pre_option_{$option}     note     filter     no     1
    952     pre_ping         action     no     1
    953     pre_post_link         filter     no     1
    954     pre_post_update         action     no     1
    955     pre_post_{$field}     note     filter     no     1
    956     pre_remote_source         filter     no     1
    957     pre_set_site_transient_{$transient}     note     filter     no     1
    958     pre_set_theme_mod_{$name}     note     filter     YES     1
    959     pre_set_transient_{$transient}     note     filter     no     1
    960     pre_site_option_{$option}     note     filter     no     1
    961     pre_site_transient_{$transient}     note     filter     no     1
    962     pre_term_{$field}     note     filter     no     1
    963     pre_transient_{$transient}     note     filter     no     1
    964     pre_update_option         filter     YES     1
    965     pre_update_option_{$option}     note     filter     no     1
    966     pre_update_site_option_{$option}     note     filter     no     1
    967     pre_upload_error         filter     no     1
    968     pre_user_description         filter     no     1
    969     pre_user_display_name         filter     no     1
    970     pre_user_email         filter     no     1
    971     pre_user_first_name         filter     no     1
    972     pre_user_id         filter     no     2
    973     pre_user_last_name         filter     no     1
    974     pre_user_login         filter     no     2
    975     pre_user_nicename         filter     no     1
    976     pre_user_nickname         filter     no     1
    977     pre_user_query         action     no     1
    978     pre_user_search         action     no     1
    979     pre_user_url         filter     no     1
    980     pre_user_{$field}     note     filter     no     1
    981     pre_wp_nav_menu         filter     YES     1
    982     pre_{$field}     note     filter     no     3
    983     pre_{$taxonomy}_{$field}     note     filter     no     1
    984     print_admin_styles         filter     no     1
    985     print_footer_scripts         filter     no     1
    986     print_head_scripts         filter     no     1
    987     print_late_styles         filter     no     1
    988     print_media_templates         action     no     1
    989     print_scripts_array         filter     no     1
    990     print_styles_array         filter     no     1
    991     privacy_on_link_text         filter     no     1
    992     privacy_on_link_title         filter     no     1
    993     private_title_format         filter     no     1
    994     private_to_published         action     no     1
    995     profile_personal_options         action     no     1
    996     profile_update         action     no     1
    997     protected_title_format         filter     no     1
    998     publish_phone         action     no     1
    999     pub_priv_sql_capability         filter     no     1
    1000     query         filter     no     1
    1001     query_string         filter     no     1
    1002     query_vars         filter     no     1
    1003     quicktags_settings         filter     no     1
    1004     quick_edit_custom_box         action     no     2
    1005     quick_edit_dropdown_pages_args         filter     no     1
    1006     random_password         filter     no     1
    1007     rdf_header         action     no     1
    1008     rdf_item         action     no     1
    1009     rdf_ns         action     no     1
    1010     redirect_canonical         filter     no     1
    1011     redirect_network_admin_request         filter     no     1
    1012     redirect_post_location         filter     no     1
    1013     redirect_user_admin_request         filter     no     1
    1014     refresh_blog_details         action     no     1
    1015     register         filter     no     5
    1016     registered_post_type         action     no     1
    1017     registered_taxonomy         action     no     1
    1018     register_form         action     no     1
    1019     register_post         action     no     1
    1020     register_sidebar         action     no     1
    1021     register_url         filter     no     1
    1022     registration_errors         filter     no     1
    1023     registration_redirect         filter     no     1
    1024     remove_user_from_blog         action     no     1
    1025     request         filter     no     1
    1026     request_filesystem_credentials         filter     no     1
    1027     resetpass_form         action     YES     1
    1028     restrict_manage_comments         action     no     1
    1029     restrict_manage_posts         action     no     2
    1030     restrict_manage_users         action     no     1
    1031     retreive_password         action     no     1
    1032     retrieve_password         action     no     1
    1033     retrieve_password_key         action     no     1
    1034     retrieve_password_message         filter     no     1
    1035     retrieve_password_title         filter     no     1
    1036     revoked_super_admin         action     no     1
    1037     revoke_super_admin         action     no     1
    1038     rewrite_rules         filter     no     1
    1039     rewrite_rules_array         filter     no     1
    1040     richedit_pre         filter     no     2
    1041     rightnow_end         action     no     1
    1042     robots_txt         filter     no     1
    1043     role_has_cap         filter     no     1
    1044     root_rewrite_rules         filter     no     1
    1045     rss2_comments_ns         action     no     1
    1046     rss2_head         action     no     2
    1047     rss2_item         action     no     1
    1048     rss2_ns         action     no     2
    1049     rss_enclosure         filter     no     1
    1050     rss_head         action     no     1
    1051     rss_item         action     no     1
    1052     rss_update_frequency         filter     no     3
    1053     rss_update_period         filter     no     3
    1054     safe_style_css         filter     no     1
    1055     salt         filter     no     2
    1056     sanitize_comment_cookies         action     no     1
    1057     sanitize_email         filter     no     8
    1058     sanitize_file_name         filter     no     2
    1059     sanitize_file_name_chars         filter     no     1
    1060     sanitize_html_class         filter     no     1
    1061     sanitize_key         filter     no     1
    1062     sanitize_mime_type         filter     no     1
    1063     sanitize_option_{$option}     note     filter     no     1
    1064     sanitize_text_field         filter     no     1
    1065     sanitize_title         filter     no     1
    1066     sanitize_trackback_urls         filter     no     1
    1067     sanitize_user         filter     no     1
    1068     sanitize_{$meta_type}_meta_{$meta_key}     note     filter     no     1
    1069     save_post         action     no     2
    1070     save_post_{$post->post_type}     note     action     no     2
    1071     schedule_event         filter     no     2
    1072     screen_layout_columns         filter     no     1
    1073     screen_options_show_screen         filter     no     1
    1074     screen_settings         filter     no     1
    1075     script_loader_src         filter     no     2
    1076     search_feed_link         filter     no     2
    1077     search_form_format         filter     no     1
    1078     search_link         filter     no     1
    1079     search_rewrite_rules         filter     no     1
    1080     secure_auth_cookie         filter     no     1
    1081     secure_auth_redirect         filter     no     1
    1082     secure_logged_in_cookie         filter     no     1
    1083     secure_signon_cookie         filter     no     1
    1084     self_link         filter     no     1
    1085     send_core_update_notification_email         filter     no     1
    1086     send_headers         action     no     1
    1087     set-screen-option         filter     no     1
    1088     setted_site_transient         action     no     1
    1089     setted_transient         action     no     1
    1090     setup_theme         action     no     1
    1091     set_auth_cookie         action     no     1
    1092     set_comment_cookies         action     no     1
    1093     set_current_user         action     no     1
    1094     set_logged_in_cookie         action     no     1
    1095     set_object_terms         action     no     1
    1096     set_site_transient_{$transient}     note     action     no     1
    1097     set_transient_{$transient}     note     action     no     1
    1098     set_url_scheme         filter     no     1
    1099     set_user_role         action     no     1
    1100     shake_error_codes         filter     no     1
    1101     shortcode_atts_{$shortcode}     note     filter     no     1
    1102     shortcut_link         filter     no     1
    1103     show_admin_bar         filter     no     1
    1104     show_advanced_plugins         filter     no     2
    1105     show_network_site_users_add_existing_form         filter     no     2
    1106     show_network_site_users_add_new_form         filter     no     1
    1107     show_password_fields         filter     no     2
    1108     show_post_locked_dialog         filter     no     1
    1109     show_recent_comments_widget_style         filter     no     1
    1110     show_user_profile         action     no     1
    1111     shutdown         action     no     1
    1112     sidebars_widgets         filter     no     1
    1113     sidebar_admin_page         action     no     1
    1114     sidebar_admin_setup         action     no     4
    1115     signup_another_blog_init         filter     no     1
    1116     signup_blogform         action     no     1
    1117     signup_blog_init         filter     no     1
    1118     signup_create_blog_meta         filter     no     1
    1119     signup_extra_fields         action     no     1
    1120     signup_finished         action     no     3
    1121     signup_header         action     no     1
    1122     signup_hidden_fields         action     no     3
    1123     signup_user_init         filter     no     1
    1124     single_cat_title         filter     no     1
    1125     single_post_title         filter     no     1
    1126     single_tag_title         filter     no     1
    1127     single_term_title         filter     no     1
    1128     site_by_path_segments_count         filter     YES     1
    1129     site_option_{$option}     note     filter     no     1
    1130     site_transient_{$transient}     note     filter     no     1
    1131     site_url         filter     no     1
    1132     smilies_src         filter     no     1
    1133     spammed_comment         action     no     1
    1134     spam_comment         action     no     1
    1135     split_the_query         filter     no     1
    1136     start_previewing_theme         action     no     1
    1137     status_header         filter     no     1
    1138     stop_previewing_theme         action     no     1
    1139     stylesheet         filter     no     1
    1140     stylesheet_directory         filter     no     1
    1141     stylesheet_directory_uri         filter     no     1
    1142     stylesheet_uri         filter     no     1
    1143     style_loader_src         filter     no     1
    1144     style_loader_tag         filter     no     2
    1145     subdirectory_reserved_names         filter     no     2
    1146     submitlink_box         action     no     2
    1147     submitpage_box         action     no     1
    1148     submitpost_box         action     no     1
    1149     switch_blog         action     no     4
    1150     switch_theme         action     no     1
    1151     tables_to_repair         filter     no     1
    1152     tagsperpage         filter     no     1
    1153     tag_cloud_sort         filter     no     1
    1154     tag_escape         filter     no     1
    1155     tag_feed_link         filter     no     1
    1156     tag_link         filter     no     1
    1157     tag_rewrite_rules         filter     no     1
    1158     tag_row_actions         filter     no     1
    1159     taxonomy_feed_link         filter     no     1
    1160     taxonomy_parent_dropdown_args         filter     no     1
    1161     teeny_mce_before_init         filter     no     1
    1162     teeny_mce_buttons         filter     no     1
    1163     teeny_mce_plugins         filter     no     1
    1164     template         filter     no     1
    1165     template_directory         filter     no     1
    1166     template_directory_uri         filter     no     1
    1167     template_include         filter     no     1
    1168     template_redirect         action     no     1
    1169     terms_clauses         filter     no     1
    1170     terms_to_edit         filter     no     1
    1171     term_id_filter         filter     no     2
    1172     term_link         filter     no     1
    1173     term_links-{$taxonomy}     note     filter     no     1
    1174     term_name         filter     no     1
    1175     term_updated_messages         filter     no     1
    1176     term_{$field}     note     filter     no     1
    1177     term_{$field}_rss     note     filter     no     1
    1178     themes_api         filter     no     1
    1179     themes_api_args         filter     no     1
    1180     themes_api_result         filter     no     1
    1181     themes_update_check_locales         filter     no     1
    1182     theme_action_links         filter     no     2
    1183     theme_action_links_{$stylesheet}     note     filter     no     2
    1184     theme_install_actions         filter     no     1
    1185     theme_locale         filter     no     1
    1186     theme_mod_{$name}     note     filter     no     2
    1187     theme_page_templates         filter     YES     1
    1188     theme_root         filter     no     1
    1189     theme_root_uri         filter     no     1
    1190     theme_row_meta         filter     no     1
    1191     the_author         filter     no     1
    1192     the_author_posts_link         filter     no     1
    1193     the_author_{$field}     note     filter     no     1
    1194     the_category         filter     no     7
    1195     the_category_rss         filter     no     1
    1196     the_comments         filter     no     1
    1197     the_content         filter     no     4
    1198     the_content_export         filter     no     1
    1199     the_content_feed         filter     no     1
    1200     the_content_more_link         filter     no     1
    1201     the_content_rss         filter     no     1
    1202     the_date         filter     no     1
    1203     the_editor         filter     no     1
    1204     the_editor_content         filter     no     1
    1205     the_excerpt         filter     no     2
    1206     the_excerpt_export         filter     no     1
    1207     the_excerpt_rss         filter     no     1
    1208     the_feed_link         filter     no     1
    1209     the_generator         filter     no     1
    1210     the_meta_key         filter     no     1
    1211     the_modified_author         filter     no     1
    1212     the_modified_date         filter     no     1
    1213     the_modified_time         filter     no     1
    1214     the_password_form         filter     no     1
    1215     the_permalink         filter     no     4
    1216     the_permalink_rss         filter     no     1
    1217     the_post         action     no     1
    1218     the_posts         filter     no     1
    1219     the_preview         filter     no     1
    1220     the_search_query         filter     no     1
    1221     the_shortlink         filter     no     1
    1222     the_tags         filter     no     1
    1223     the_terms         filter     no     1
    1224     the_time         filter     no     1
    1225     the_title         filter     no     13
    1226     the_title_rss         filter     no     4
    1227     the_weekday         filter     no     1
    1228     the_weekday_date         filter     no     1
    1229     the_widget         action     no     1
    1230     thread_comments_depth_max         filter     no     1
    1231     time_formats         filter     no     1
    1232     tiny_mce_before_init         filter     no     1
    1233     tiny_mce_plugins         filter     no     1
    1234     tool_box         action     no     1
    1235     trackback_post         action     no     1
    1236     trackback_url         filter     no     1
    1237     transient_{$transient}     note     filter     no     1
    1238     transition_comment_status         action     no     1
    1239     transition_post_status         action     no     1
    1240     trashed_comment         action     no     1
    1241     trashed_post         action     no     1
    1242     trashed_post_comments         action     no     1
    1243     trash_comment         action     no     1
    1244     trash_post_comments         action     no     1
    1245     twentyfourteen_attachment_size         filter     no     1
    1246     twentyfourteen_credits         action     no     1
    1247     twentyfourteen_custom_background_args         filter     no     1
    1248     twentyfourteen_custom_header_args         filter     no     1
    1249     twentyfourteen_featured_posts_after         action     no     1
    1250     twentyfourteen_featured_posts_before         action     no     1
    1251     twentyfourteen_get_featured_posts         filter     no     1
    1252     twentythirteen_attachment_size         filter     no     1
    1253     twentythirteen_author_bio_avatar_size         filter     no     1
    1254     twentythirteen_credits         action     no     1
    1255     twentytwelve_attachment_size         filter     no     1
    1256     twentytwelve_author_bio_avatar_size         filter     no     2
    1257     twentytwelve_credits         action     no     1
    1258     twentytwelve_status_avatar         filter     no     1
    1259     type_url_form_media         filter     no     1
    1260     unarchive_blog         action     no     2
    1261     uninstall_{$file}     note     action     no     1
    1262     unload_textdomain         action     no     1
    1263     unmature_blog         action     no     2
    1264     unspammed_comment         action     no     1
    1265     unspam_comment         action     no     1
    1266     untrashed_comment         action     no     1
    1267     untrashed_post         action     no     1
    1268     untrashed_post_comments         action     no     1
    1269     untrash_comment         action     no     1
    1270     untrash_post         action     no     1
    1271     untrash_post_comments         action     no     1
    1272     unzip_file_use_ziparchive         filter     no     1
    1273     update-core-custom_{$action}     note     action     no     1
    1274     update-custom_{$action}     note     action     no     1
    1275     updated_option         action     no     1
    1276     updated_postmeta         action     no     2
    1277     updated_usermeta         action     no     1
    1278     updated_{$meta_type}_meta     note     action     no     2
    1279     update_attached_file         filter     no     1
    1280     update_blog_public         action     no     1
    1281     update_bulk_plugins_complete_actions         filter     no     1
    1282     update_bulk_theme_complete_actions         filter     no     1
    1283     update_feedback         filter     no     8
    1284     update_footer         filter     no     1
    1285     update_option         action     no     1
    1286     update_option_{$option}     note     action     no     1
    1287     update_plugin_complete_actions         filter     no     1
    1288     update_postmeta         action     no     2
    1289     update_site_option         action     no     1
    1290     update_site_option_{$option}     note     action     no     1
    1291     update_theme_complete_actions         filter     no     1
    1292     update_translations_complete_actions         filter     no     1
    1293     update_usermeta         action     no     1
    1294     update_welcome_email         filter     no     1
    1295     update_welcome_subject         filter     no     1
    1296     update_welcome_user_email         filter     no     1
    1297     update_welcome_user_subject         filter     no     1
    1298     update_wpmu_options         action     no     1
    1299     update_{$meta_type}_meta     note     action     no     2
    1300     update_{$meta_type}_metadata     note     filter     no     1
    1301     upgrader_clear_destination         filter     no     1
    1302     upgrader_post_install         filter     no     1
    1303     upgrader_pre_download         filter     no     1
    1304     upgrader_pre_install         filter     no     1
    1305     upgrader_process_complete         action     no     4
    1306     upgrader_source_selection         filter     no     1
    1307     upload_dir         filter     no     1
    1308     upload_mimes         filter     no     1
    1309     upload_per_page         filter     no     1
    1310     upload_post_params         filter     no     1
    1311     upload_size_limit         filter     no     1
    1312     upload_ui_over_quota         action     no     2
    1313     url_to_postid         filter     no     1
    1314     user_admin_menu         action     no     1
    1315     user_admin_notices         action     no     1
    1316     user_admin_url         filter     no     1
    1317     user_can_richedit         filter     no     1
    1318     user_contactmethods         filter     no     1
    1319     user_dashboard_url         filter     no     1
    1320     user_edit_form_tag         action     no     1
    1321     user_has_cap         filter     no     1
    1322     user_new_form         action     no     2
    1323     user_new_form_tag         action     no     2
    1324     user_profile_update_errors         action     no     1
    1325     user_register         action     no     1
    1326     user_registration_email         filter     no     1
    1327     user_row_actions         filter     no     1
    1328     user_search_columns         filter     no     1
    1329     user_trailingslashit         filter     no     1
    1330     user_{$field}     note     filter     no     1
    1331     user_{$name}_label     note     filter     no     1
    1332     use_curl_transport         filter     no     1
    1333     use_default_gallery_style         filter     no     1
    1334     use_google_chrome_frame         filter     no     1
    1335     use_streams_transport         filter     no     1
    1336     validate_current_theme         filter     no     1
    1337     validate_password_reset         action     no     1
    1338     validate_username         filter     no     1
    1339     views_{$this->screen->id}     note     filter     no     1
    1340     walker_nav_menu_start_el         filter     no     1
    1341     welcome_panel         action     no     1
    1342     whitelist_options         filter     no     1
    1343     widgets-php         action     no     3
    1344     widgets_admin_page         action     no     1
    1345     widgets_init         action     no     1
    1346     widget_archives_args         filter     no     1
    1347     widget_archives_dropdown_args         filter     no     1
    1348     widget_categories_args         filter     no     1
    1349     widget_categories_dropdown_args         filter     no     1
    1350     widget_comments_args         filter     no     1
    1351     widget_customizer_setting_args         filter     YES     1
    1352     widget_display_callback         filter     no     1
    1353     widget_form_callback         filter     no     1
    1354     widget_links_args         filter     no     1
    1355     widget_meta_poweredby         filter     no     1
    1356     widget_pages_args         filter     no     1
    1357     widget_posts_args         filter     no     1
    1358     widget_tag_cloud_args         filter     no     1
    1359     widget_text         filter     no     1
    1360     widget_title         filter     no     13
    1361     widget_update_callback         filter     no     1
    1362     wp         action     no     1
    1363     wp-mail-php         action     no     1
    1364     wpmuadminedit         action     no     4
    1365     wpmuadminresult         action     no     1
    1366     wpmublogsaction         action     no     1
    1367     wpmueditblogaction         action     no     1
    1368     wpmu_activate_blog         action     no     1
    1369     wpmu_activate_user         action     no     1
    1370     wpmu_active_signup         filter     no     1
    1371     wpmu_blogs_columns         filter     no     1
    1372     wpmu_blog_updated         action     no     1
    1373     wpmu_delete_blog_upload_dir         filter     no     1
    1374     wpmu_delete_user         action     no     1
    1375     wpmu_drop_tables         filter     no     1
    1376     wpmu_new_blog         action     no     1
    1377     wpmu_new_user         action     no     1
    1378     wpmu_options         action     no     1
    1379     wpmu_signup_blog_notification         filter     no     1
    1380     wpmu_signup_blog_notification_email         filter     no     1
    1381     wpmu_signup_blog_notification_subject         filter     no     1
    1382     wpmu_signup_user_notification         filter     no     1
    1383     wpmu_signup_user_notification_email         filter     no     1
    1384     wpmu_signup_user_notification_subject         filter     no     1
    1385     wpmu_update_blog_options         action     no     1
    1386     wpmu_upgrade_page         action     no     1
    1387     wpmu_upgrade_site         action     no     1
    1388     wpmu_users_columns         filter     no     1
    1389     wpmu_validate_blog_signup         filter     no     1
    1390     wpmu_validate_user_signup         filter     no     1
    1391     wpmu_welcome_notification         filter     no     1
    1392     wpmu_welcome_user_notification         filter     no     1
    1393     wp_admin_bar_class         filter     no     1
    1394     wp_admin_css         filter     no     2
    1395     wp_admin_css_uri         filter     no     1
    1396     wp_after_admin_bar_render         action     no     1
    1397     wp_ajax_nopriv_{$action}     note     action     no     1
    1398     wp_ajax_{$action}     note     action     no     1
    1399     wp_audio_embed_handler         filter     no     1
    1400     wp_audio_extensions         filter     no     1
    1401     wp_audio_shortcode         filter     no     1
    1402     wp_audio_shortcode_class         filter     no     1
    1403     wp_audio_shortcode_library         filter     no     1
    1404     wp_audio_shortcode_override         filter     no     1
    1405     wp_authenticate         action     no     1
    1406     wp_authenticate_user         filter     no     1
    1407     wp_auth_check_interval         filter     no     1
    1408     wp_auth_check_load         filter     no     1
    1409     wp_auth_check_same_domain         filter     no     1
    1410     wp_before_admin_bar_render         action     no     1
    1411     wp_blacklist_check         action     no     1
    1412     wp_cache_themes_persistently         filter     no     2
    1413     wp_checkdate         filter     no     1
    1414     wp_check_filetype_and_ext         filter     no     1
    1415     wp_check_post_lock_window         filter     no     2
    1416     wp_comment_reply         filter     no     1
    1417     wp_count_attachments         filter     no     1
    1418     wp_count_comments         filter     no     1
    1419     wp_count_posts         filter     no     1
    1420     wp_create_file_in_uploads         action     no     2
    1421     wp_create_file_in_uploads         filter     no     3
    1422     wp_create_nav_menu         action     no     1
    1423     wp_create_thumbnail         filter     no     1
    1424     wp_dashboard_setup         action     no     1
    1425     wp_dashboard_widgets         filter     no     1
    1426     wp_default_editor         filter     no     1
    1427     wp_default_scripts         action     no     1
    1428     wp_default_styles         action     no     1
    1429     wp_delete_file         filter     no     9
    1430     wp_delete_nav_menu         action     no     1
    1431     wp_delete_post_revision         action     no     1
    1432     wp_die_ajax_handler         filter     no     1
    1433     wp_die_handler         filter     no     1
    1434     wp_die_xmlrpc_handler         filter     no     1
    1435     wp_dropdown_cats         filter     no     1
    1436     wp_dropdown_pages         filter     no     1
    1437     wp_dropdown_users         filter     no     1
    1438     wp_editor_set_quality         filter     no     1
    1439     wp_edit_nav_menu_walker         filter     no     2
    1440     wp_embed_handler_audio         filter     no     1
    1441     wp_embed_handler_video         filter     no     1
    1442     wp_enqueue_editor         action     YES     1
    1443     wp_enqueue_media         action     no     1
    1444     wp_enqueue_scripts         action     no     1
    1445     wp_feed_cache_transient_lifetime         filter     no     2
    1446     wp_feed_options         action     no     1
    1447     wp_footer         action     no     1
    1448     wp_fullscreen_buttons         filter     no     1
    1449     wp_generate_attachment_metadata         filter     no     1
    1450     wp_generate_tag_cloud         filter     no     1
    1451     wp_generator_type         filter     no     1
    1452     wp_get_attachment_id3_keys         filter     YES     1
    1453     wp_get_attachment_image_attributes         filter     no     1
    1454     wp_get_attachment_link         filter     no     1
    1455     wp_get_attachment_metadata         filter     no     1
    1456     wp_get_attachment_thumb_file         filter     no     1
    1457     wp_get_attachment_thumb_url         filter     no     1
    1458     wp_get_attachment_url         filter     no     1
    1459     wp_get_current_commenter         filter     no     1
    1460     wp_get_nav_menus         filter     no     1
    1461     wp_get_nav_menu_items         filter     no     1
    1462     wp_get_object_terms         filter     no     1
    1463     wp_get_update_data         filter     no     1
    1464     wp_handle_upload         filter     no     3
    1465     wp_handle_upload_prefilter         filter     no     1
    1466     wp_head         action     no     1
    1467     wp_headers         filter     no     1
    1468     wp_header_image_attachment_metadata         filter     YES     1
    1469     wp_http_accept_encoding         filter     no     1
    1470     wp_http_cookie_value         filter     no     1
    1471     wp_image_editors         filter     no     1
    1472     wp_image_editor_before_change         filter     no     1
    1473     wp_insert_attachment_data         filter     YES     1
    1474     wp_insert_comment         action     no     1
    1475     wp_insert_post         action     no     2
    1476     wp_insert_post_data         filter     no     1
    1477     wp_insert_post_empty_content         filter     no     1
    1478     wp_insert_post_parent         filter     no     1
    1479     wp_install         action     YES     1
    1480     wp_is_large_network         filter     no     2
    1481     wp_kses_allowed_html         filter     no     6
    1482     wp_link_pages         filter     no     1
    1483     wp_link_pages_args         filter     no     1
    1484     wp_link_pages_link         filter     no     3
    1485     wp_link_query         filter     no     1
    1486     wp_link_query_args         filter     no     1
    1487     wp_list_bookmarks         filter     no     1
    1488     wp_list_categories         filter     no     1
    1489     wp_list_pages         filter     no     1
    1490     wp_list_pages_excludes         filter     no     1
    1491     wp_loaded         action     no     1
    1492     wp_login         action     no     1
    1493     wp_login_errors         filter     no     1
    1494     wp_login_failed         action     no     1
    1495     wp_logout         action     no     1
    1496     wp_mail         filter     no     1
    1497     wp_mail_charset         filter     no     1
    1498     wp_mail_content_type         filter     no     1
    1499     wp_mail_from         filter     no     1
    1500     wp_mail_from_name         filter     no     1
    1501     wp_mail_original_content         filter     no     1
    1502     wp_maybe_auto_update         action     YES     1
    1503     wp_mce_translation         filter     YES     1
    1504     wp_mediaelement_fallback         filter     no     1
    1505     wp_meta         action     no     1
    1506     wp_mime_type_icon         filter     no     1
    1507     wp_nav_locations_listed_per_menu         filter     no     1
    1508     wp_nav_menu         filter     no     1
    1509     wp_nav_menu_args         filter     no     1
    1510     wp_nav_menu_container_allowedtags         filter     no     1
    1511     wp_nav_menu_items         filter     no     1
    1512     wp_nav_menu_objects         filter     no     1
    1513     wp_nav_menu_{$menu->slug}_items     note     filter     no     1
    1514     wp_network_dashboard_setup         action     no     1
    1515     wp_network_dashboard_widgets         filter     no     1
    1516     wp_page_menu         filter     no     1
    1517     wp_page_menu_args         filter     no     1
    1518     wp_parse_str         filter     no     1
    1519     wp_playlist_scripts         action     YES     1
    1520     wp_prepare_attachment_for_js         filter     no     1
    1521     wp_prepare_themes_for_js         filter     no     1
    1522     wp_print_footer_scripts         action     no     1
    1523     wp_print_scripts         action     no     3
    1524     wp_print_styles         action     no     1
    1525     wp_read_image_metadata         filter     no     1
    1526     wp_read_image_metadata_types         filter     no     1
    1527     wp_redirect         filter     no     1
    1528     wp_redirect_status         filter     no     1
    1529     wp_register_sidebar_widget         action     no     1
    1530     wp_restore_post_revision         action     no     1
    1531     wp_revisions_to_keep         filter     no     1
    1532     wp_save_image_editor_file         filter     no     1
    1533     wp_save_image_file         filter     no     1
    1534     wp_save_post_revision_check_for_changes         filter     no     1
    1535     wp_search_stopwords         filter     no     1
    1536     wp_setup_nav_menu_item         filter     no     1
    1537     wp_set_comment_status         action     no     2
    1538     wp_signup_location         filter     no     3
    1539     wp_sprintf         filter     no     1
    1540     wp_sprintf_l         filter     no     1
    1541     wp_tag_cloud         filter     no     1
    1542     wp_terms_checklist_args         filter     no     1
    1543     wp_tiny_mce_init         action     YES     1
    1544     wp_title         filter     no     1
    1545     wp_title_rss         filter     no     1
    1546     wp_trash_post         action     no     1
    1547     wp_trim_excerpt         filter     no     1
    1548     wp_trim_words         filter     no     1
    1549     wp_unique_post_slug         filter     no     1
    1550     wp_unique_post_slug_is_bad_attachment_slug         filter     no     1
    1551     wp_unique_post_slug_is_bad_flat_slug         filter     no     1
    1552     wp_unique_post_slug_is_bad_hierarchical_slug         filter     no     1
    1553     wp_unregister_sidebar_widget         action     no     1
    1554     wp_update_attachment_metadata         filter     no     1
    1555     wp_update_comment_count         action     no     1
    1556     wp_update_nav_menu         action     no     2
    1557     wp_update_nav_menu_item         action     no     1
    1558     wp_update_term_parent         filter     no     1
    1559     wp_upgrade         action     YES     1
    1560     wp_upload_bits         filter     no     1
    1561     wp_user_dashboard_setup         action     no     1
    1562     wp_user_dashboard_widgets         filter     no     1
    1563     wp_video_embed_handler         filter     no     1
    1564     wp_video_extensions         filter     no     1
    1565     wp_video_shortcode         filter     no     1
    1566     wp_video_shortcode_class         filter     no     1
    1567     wp_video_shortcode_library         filter     no     1
    1568     wp_video_shortcode_override         filter     no     1
    1569     wp_xmlrpc_server_class         filter     no     1
    1570     wxr_export_skip_postmeta         filter     no     1
    1571     xmlrpc_allow_anonymous_comments         filter     no     1
    1572     xmlrpc_blog_options         filter     no     1
    1573     xmlrpc_call         action     no     67
    1574     xmlrpc_call_success_blogger_deletePost         action     no     1
    1575     xmlrpc_call_success_blogger_editPost         action     no     1
    1576     xmlrpc_call_success_blogger_newPost         action     no     1
    1577     xmlrpc_call_success_mw_editPost         action     no     1
    1578     xmlrpc_call_success_mw_newMediaObject         action     no     1
    1579     xmlrpc_call_success_mw_newPost         action     no     1
    1580     xmlrpc_call_success_wp_deleteCategory         action     no     1
    1581     xmlrpc_call_success_wp_deleteComment         action     no     1
    1582     xmlrpc_call_success_wp_deletePage         action     no     1
    1583     xmlrpc_call_success_wp_editComment         action     no     1
    1584     xmlrpc_call_success_wp_newCategory         action     no     1
    1585     xmlrpc_call_success_wp_newComment         action     no     1
    1586     xmlrpc_default_posttype_fields         filter     no     2
    1587     xmlrpc_default_post_fields         filter     no     2
    1588     xmlrpc_default_revision_fields         filter     no     1
    1589     xmlrpc_default_taxonomy_fields         filter     no     2
    1590     xmlrpc_default_user_fields         filter     no     3
    1591     xmlrpc_enabled         filter     no     1
    1592     xmlrpc_login_error         filter     no     1
    1593     xmlrpc_methods         filter     no     1
    1594     xmlrpc_pingback_error         filter     no     1
    1595     xmlrpc_prepare_comment         filter     no     1
    1596     xmlrpc_prepare_media_item         filter     no     1
    1597     xmlrpc_prepare_page         filter     no     1
    1598     xmlrpc_prepare_post         filter     no     1
    1599     xmlrpc_prepare_post_type         filter     no     1
    1600     xmlrpc_prepare_taxonomy         filter     no     1
    1601     xmlrpc_prepare_term         filter     no     1
    1602     xmlrpc_prepare_user         filter     no     1
    1603     xmlrpc_publish_post         action     no     1
    1604     xmlrpc_rsd_apis         action     no     1
    1605     xmlrpc_text_filters         filter     no     1
    1606     xmlrpc_wp_insert_post_data         filter     no     1
    1607     year_link         filter     no     1
    1608     _admin_menu         action     no     1
    1609     _core_updated_successfully         action     no     1
    1610     _get_page_link         filter     no     1
    1611     _network_admin_menu         action     no     1
    1612     _user_admin_menu         action     no     1
    1613     _wp_post_revision_fields         filter     no     1
    1614     _wp_post_revision_field_{$field}     note     filter     no     2
    1615     _wp_put_post_revision         action     no     1
    1616     _wp_relative_upload_path         filter     no     1
    1617     {$action}     note     action     no     1
    1618     {$adjacent}_image_link     note     filter     no     1
    1619     {$adjacent}_post_link     note     filter     no     1
    1620     {$adjacent}_post_rel_link     note     filter     no     1
    1621     {$boundary}_post_rel_link     note     filter     no     1
    1622     {$field_no_prefix}_edit_pre     note     filter     no     1
    1623     {$field_no_prefix}_save_pre     note     filter     no     1
    1624     {$field}     note     filter     no     3
    1625     {$field}_pre     note     filter     no     1
    1626     {$hook}     note     action     no     2
    1627     {$new_status}_{$post->post_type}     note     action     no     1
    1628     {$old_status}_to_{$new_status}     note     action     no     1
    1629     {$option}     note     filter     no     2
    1630     {$page_hook}     note     action     no     1
    1631     {$permastructname}_rewrite_rules     note     filter     no     1
    1632     {$per_page}     note     filter     no     1
    1633     {$prefix}plugin_action_links     note     filter     no     1
    1634     {$prefix}plugin_action_links_{$plugin_file}     note     filter     no     1
    1635     {$tag}     note     action     no     2
    1636     {$tag}     note     filter     no     2
    1637     {$taxonomy}_add_form     note     action     no     1
    1638     {$taxonomy}_add_form_fields     note     action     no     1
    1639     {$taxonomy}_edit_form     note     action     no     1
    1640     {$taxonomy}_edit_form_fields     note     action     no     1
    1641     {$taxonomy}_pre_add_form     note     action     no     1
    1642     {$taxonomy}_pre_edit_form     note     action     no     1
    1643     {$taxonomy}_row_actions     note     filter     no     1
    1644     {$taxonomy}_term_edit_form_tag     note     action     no     1
    1645     {$taxonomy}_term_new_form_tag     note     action     no     1
    1646     {$taxonomy}_{$field}     note     filter     no     1
    1647     {$taxonomy}_{$field}_rss     note     filter     no     1
    1648     {$type}_send_to_editor_url     note     filter     no     2
    1649     {$type}_template     note     filter     no     1
    1650     {$type}_upload_iframe_src     note     filter     no     1
    Important warning about variable hooks
    Some hooks have variables in their names. For example, pre_${taxonomy}_$field and admin_head- both have variable names. In general, any hook that ends (or begins) with - or _, or contains a $, has a variable name. Since the syntax with which these variables are defined may change from version to version, this page may think that a hook is deprecated (or new) even if it is not. You can usually catch this sort of thing by comparing this hook to the list of "related hooks" below.
    You are viewing the regular version of this page. Switch to mobile version.
    Hi. My name is Adam Brown. How to contact me. I am on the BYU political science faculty. My PhD is from the University of California, San Diego (UCSD). All content and code ©2005-2014 by Adam R Brown unless noted. Do not republish any material from this site anywhere else without permission. Featuring glorious hand-coded PHP and valid XHTML/CSS. This page last updated October 8th, 2013.
    You're browsing the WordPress hooks database, which contains information about action hooks and filter hooks in WordPress's code. The hooks in WordPress make it the most flexible blogging software available. Plugin authors and theme developers rely on WordPress hooks to interact with the blog platform's PHP code. More information about this database is at WordPress Hooks Database (home). You may also be interested in my easy PHP tutorial for WordPress users. Note that my website is not a WordPress support forum, though; you should ask you WP questions over at the WordPress support forums.
    <end node> 5P9i0s8y19Z
    dt=
    <node>SESSIONS
    2
    Though this would work, it is not the most efficient way to start a session in WordPress. WordPress provides an Actions Api that we are able to attach custom functions to. That is the method we will be using in this example. We are going to add all the following code to the very top of our themes functions.php file.
    1: We will use the init action provided by WordPress to handle starting a PHP session. First, we add the action that will call a function called start_session like this when WordPress first initiates.
    add_action('init', 'start_session', 1);
    2: Second we will create the start_session function. Notice the function is first checking to see if a session is already active before setting a new one using a function called session_id.
    function start_session() {
    if(!session_id()) {
    session_start();
    }
    }
    Ending A PHP Session
    PHP provides a built-in function called session_destroy, that will handle clearing out all session data. However, when to call this function can be tricky to handle depending on the application. WordPress also provides a few ways for us to do just that in the Actions Api.
    1: In WordPress we are going to need to clear out the session once a user has logged out or a new user has logged into the website. We will use two provided actions, wp_logout and wp_login, to call a function we will create called end_session();
    add_action(‘wp_logout’, ‘end_session’);
    add_action(‘wp_login’, ‘end_session’);
    2: Second we will create the end_session function like this:
    function end_session() {
    session_destroy ();
    }
    Forcing A Session To End
    We can use a custom hook to end a session anywhere within the theme by using the do_action function provided by WordPress to call the end_session function we created above.
    1: In the functions.php file we would add the following.
    add_action('end_session_action', 'end_session');
    2: Add the following anywhere in the application you want to end the session.
    do_action('end_session_action');

    If done correctly your functions.php file should now look like this at the top.
    add_action('init', 'start_session', 1);
    function start_session() {
    if(!session_id()) {
    session_start();
    }
    add_action(‘wp_logout’, ‘end_session’);
    add_action(‘wp_login’, ‘end_session’);
    add_action(‘end_session_action’, ‘end_session’);
    function end_session() {
    session_destroy ();
    }
    You can now add data to the global $_SESSION variable that will be accessible at any point within the application during a user session by accessing the $_SESSION variable. The variable is an array; below is an example of adding data to the session array.
    $foo = ‘Foo Data’;
    $_SESSION[‘foo’] = $foo;
    Something to think about:
    If you are building a scalable or load balanced website, you may not want to use sessions. HTTP is Stateless and PHP SESSIONS are State driven. Sessions are stored and handled by the server. Routing each session to the proper server requires more complex configuration and creates a single point of failure for the users who’s sessions are stored on that server. When possible, it is best to store session information in the client’s browser. Though it may not be extremely expensive to the server resources to query session objects, it is always wise to reduce overhead whenever possible.
    Thank you for reading. I hope you find this article helpful and please comment below with any questions. Happy coding! ??
    <end node> 5P9i0s8y19Z
    dt=
    <node>html5
    1
    <input  required min='' max='' placeholder='' >
    <input type="number" min="0" max="100" step="5">
    accept     audio/*
    video/*
    image/*
    MIME_type     Specifies the types of files that the server accepts (only for type="file")
    align     left
    right
    top
    middle
    bottom     Not supported in HTML5. Deprecated in HTML 4.01. Specifies the alignment of an image input (only for type="image")
    alt     text     Specifies an alternate text for images (only for type="image")
    autocompleteNew     on
    off     Specifies whether an <input> element should have autocomplete enabled
    autofocusNew     autofocus     Specifies that an <input> element should automatically get focus when the page loads
    checked     checked     Specifies that an <input> element should be pre-selected when the page loads (for type="checkbox" or type="radio")
    disabled     disabled     Specifies that an <input> element should be disabled
    formNew     form_id     Specifies one or more forms the <input> element belongs to
    formactionNew     URL     Specifies the URL of the file that will process the input control when the form is submitted (for type="submit" and type="image")
    formenctypeNew     application/x-www-form-urlencoded
    multipart/form-data
    text/plain     Specifies how the form-data should be encoded when submitting it to the server (for type="submit" and type="image")
    formmethodNew     get
    post     Defines the HTTP method for sending data to the action URL (for type="submit" and type="image")
    formnovalidateNew     formnovalidate     Defines that form elements should not be validated when submitted
    formtargetNew     _blank
    _self
    _parent
    _top
    framename     Specifies where to display the response that is received after submitting the form (for type="submit" and type="image")
    heightNew     pixels     Specifies the height of an <input> element (only for type="image")
    listNew     datalist_id     Refers to a <datalist> element that contains pre-defined options for an <input> element
    max        New     number
    date     Specifies the maximum value for an <input> element
    maxlength     number     Specifies the maximum number of characters allowed in an <input> element
    min New     number
    date     Specifies a minimum value for an <input> element
    multiple      New     multiple     Specifies that a user can enter more than one value in an <input> element
    name     text     Specifies the name of an <input> element
    patternNew     regexp     Specifies a regular expression that an <input> element's value is checked against
    placeholder New     text     Specifies a short hint that describes the expected value of an <input> element
    readonly     readonly     Specifies that an input field is read-only
    required    New     required     Specifies that an input field must be filled out before submitting the form
    size     number     Specifies the width, in characters, of an <input> element
    src     URL     Specifies the URL of the image to use as a submit button (only for type="image")
    stepNew     number     Specifies the legal number intervals for an input field
    HTML5 Input Types
    checkbox
    color
    date
    datetime
    datetime-local
    email
    file
    hidden
    image
    month
    number
    password
    radio
    range
    reset
    search
    submit
    tel
    text
    time
    url
    week     Specifies the type <input> element to display
    value     text     Specifies the value of an <input> element

    width      New     pixels     Specifies the width of an <input> element (only for type="image")
    <end node> 5P9i0s8y19Z
    dt=
    <node>reserved words
    1
    List of reserved names in $_POST and $_REQUEST used by WordPress 3.5
    _ajax_nonce
    _page
    _per_page
    _signup_form
    _total
    _url
    _wp_http_referer
    _wp_original_http_referer
    _wp_unfiltered_html_comment
    _wpnonce
    _wpnonce-custom-header-upload
    aa
    action
    action2
    active_post_lock
    add_new
    add_new_users
    addmeta
    admin_bar_front
    admin_color
    admin_email
    admin_password
    admin_password2
    ajax
    align
    allblogs
    allusers
    alt
    approve_parent
    approved
    attachment
    attachment_id
    attachments
    auth_cookie
    author
    author_name
    autocomplete_type
    auto_draft
    auto-add-pages
    autosave
    background-attachment
    background-color
    background-position-x
    background-repeat
    banned_email_domains
    blog
    blog_name
    blog_public
    blog_upload_space
    blogname
    bulk_edit
    c
    calendar
    cat
    category_base
    category_name
    catslist
    changeit
    changes
    charset
    checkbox
    checked
    clear-recent-list
    closed
    comment
    comment_approved
    comment_author
    comment_author_email
    comment_author_url
    comment_content
    comment_date
    comment_ID
    comment_parent
    comment_post_ID
    comment_shortcuts
    comment_status
    comments_listing
    comments_popup
    confirmdelete
    connection_type
    content
    context
    cpage
    create-new-attachment
    createuser
    customize_messenger_channel
    customized
    customlink-tab
    date
    date_format
    date_format_custom
    day
    default-header
    delete
    delete_all
    delete_all2
    delete_comments
    delete_option
    delete_tags
    delete_widget
    deletebookmarks
    deletecomment
    deleted
    deletemeta
    deletepost
    description
    detached
    dismiss
    display_name
    do
    edit_date
    email
    error
    exact
    excerpt
    features
    feed
    fetch
    fheight
    file
    fileupload_maxk
    filter
    find_detached
    first_comment
    first_comment_author
    first_comment_url
    first_name
    first_page
    first_post
    found_post_id
    fwidth
    global_terms_enabled
    GLOBALS
    gmt_offset
    guid
    height
    hh
    hidden
    hidden_aa
    hidden_jj
    hidden_mm
    hidden_mn
    hidden_hh
    history
    hostname
    hour
    html-upload
    id
    ID
    ids
    id_base
    illegal_names
    insert-gallery
    insertonlybutton
    interim-login
    item-object
    item-type
    jj
    json
    json_data
    key
    last_name
    limited_email_domains
    link_id
    link_image
    link_name
    link_rss
    link_url
    link_visible
    linkcheck
    locale
    locked
    log
    logged_in_cookie
    m
    media
    media_type
    menu
    menu_items
    menu-item
    menu-item-attr-title
    menu-item-classes
    menu-item-db-id
    menu-item-description
    menu-item-object
    menu-item-object-id
    menu-item-parent-id
    menu-item-position
    menu-item-target
    menu-item-title
    menu-item-type
    menu-item-url
    menu-item-xfn
    menu-locations
    menu-name
    message
    meta
    metakeyinput
    metakeyselect
    metavalue
    minute
    mm
    mn
    mode
    monthnum
    more
    move
    multi_number
    name
    nav-menu-locations
    new
    new_role
    new_slug
    new_title
    newcat
    newcomment_author
    newcomment_author_email
    newcomment_author_url
    newcontent
    newuser
    nickname
    no_placeholder
    noapi
    noconfirmation
    noredir
    number
    offset
    oitar
    option
    option_page
    order
    orderby
    p
    pb
    page
    page_columns
    page_id
    page_options
    paged
    pagegen_timestamp
    pagename
    parent_id
    pass1
    pass2
    password
    permalink_structure
    photo_description
    photo_src
    phperror
    ping_status
    plugin
    plugin_status
    pointer
    position
    post
    post_category
    post_data
    post_format
    post_ID
    post_id
    post_mime_type
    post_password
    post_status
    post_title
    post_type
    post_view
    postid
    posts
    preview
    primary_blog
    private_key
    ps
    public_key
    publish
    pwd
    query
    reassign_user
    reauth
    redirect
    redirect_to
    ref
    referredby
    registration
    registrationnotification
    rememberme
    remove-background
    removeheader
    removewidget
    reset-background
    resetheader
    review
    rich_editing
    robots
    role
    s
    same
    save
    savewidget
    savewidgets
    screen
    scrollto
    search
    second
    section
    selectall
    selection
    send
    send_password
    sentence
    short
    show_sticky
    sidebar
    sidebars
    signup_for
    signup_form_id
    site_id
    site_name
    sitename
    size
    skip-cropping
    spam
    spammed
    src
    ss
    stage
    start
    static
    status
    sticky
    subdomain_install
    submit
    subpost
    subpost_id
    super_admin
    tab
    tag
    tag_ID
    tag-name
    tag_base
    tags_input
    tax
    tax_input
    tag-name
    target
    taxonomy
    tb
    term
    text-color
    the-widget-id
    theme
    theme_status
    thumb
    timezone_string
    time_format
    time_format_custom
    title
    thumbnail_id
    trash
    trashed
    type
    undismiss
    unspam
    unspammed
    untrash
    untrashed
    url
    update_home_url
    updated
    upgrade
    upload_filetypes
    upload_space_check_disabled
    use_ssl
    user
    user_id
    user_login
    user_name
    username
    users
    verify-delete
    version
    visibility
    visible
    w
    weblog_title
    welcome_email
    welcome_user_email
    widget_id
    widget_number
    widget-id
    widget-recent-comments
    widget-rss
    width
    withcomments
    withoutcomments
    wp_customize
    wp_http_referer
    wp_screen_options
    wp-preview
    WPLANG
    x1
    y1
    year
    <end node> 5P9i0s8y19Z
    dt=
    <node>Settings
    1
    wp_options in the database table
    <end node> 5P9i0s8y19Z
    dt=
    <node>Upgrades
    1
    http://codex.wordpress.org/Files_Automatically_Replaced_by_Core_Upgrade
    When using the core upgrade function, introduced with Version 2.7, some old files, which are no longer included with the latest release, will be deleted. The list of files to be deleted is in the wp-admin/includes/update-core.php file.
    In addition to the files to be deleted, all other core files are replaced with the newer versions. If you have made modifications to any core files, including the WordPress Default theme files, you'll need to insure they are backed up before attempting the core upgrade. After the upgrade, you'll have to retrofit the modifications to the new core files again. Simply re-using the old modified files is NOT recommended.
    Files Set For Deletion
    $_old_files = array(
    // 2.0
    'wp-admin/import-b2.php',
    'wp-admin/import-blogger.php',
    'wp-admin/import-greymatter.php',
    'wp-admin/import-livejournal.php',
    'wp-admin/import-mt.php',
    'wp-admin/import-rss.php',
    'wp-admin/import-textpattern.php',
    'wp-admin/quicktags.js',
    'wp-images/fade-butt.png',
    'wp-images/get-firefox.png',
    'wp-images/header-shadow.png',
    'wp-images/smilies',
    'wp-images/wp-small.png',
    'wp-images/wpminilogo.png',
    'wp.php',
    // 2.0.8
    'wp-includes/js/tinymce/plugins/inlinepopups/readme.txt',
    // 2.1
    'wp-admin/edit-form-ajax-cat.php',
    'wp-admin/execute-pings.php',
    'wp-admin/inline-uploading.php',
    'wp-admin/link-categories.php',
    'wp-admin/list-manipulation.js',
    'wp-admin/list-manipulation.php',
    'wp-includes/comment-functions.php',
    'wp-includes/feed-functions.php',
    'wp-includes/functions-compat.php',
    'wp-includes/functions-formatting.php',
    'wp-includes/functions-post.php',
    'wp-includes/js/dbx-key.js',
    'wp-includes/js/tinymce/plugins/autosave/langs/cs.js',
    'wp-includes/js/tinymce/plugins/autosave/langs/sv.js',
    'wp-includes/links.php',
    'wp-includes/pluggable-functions.php',
    'wp-includes/template-functions-author.php',
    'wp-includes/template-functions-category.php',
    'wp-includes/template-functions-general.php',
    'wp-includes/template-functions-links.php',
    'wp-includes/template-functions-post.php',
    'wp-includes/wp-l10n.php',
    // 2.2
    'wp-admin/cat-js.php',
    'wp-admin/import/b2.php',
    'wp-includes/js/autosave-js.php',
    'wp-includes/js/list-manipulation-js.php',
    'wp-includes/js/wp-ajax-js.php',
    // 2.3
    'wp-admin/admin-db.php',
    'wp-admin/cat.js',
    'wp-admin/categories.js',
    'wp-admin/custom-fields.js',
    'wp-admin/dbx-admin-key.js',
    'wp-admin/edit-comments.js',
    'wp-admin/install-rtl.css',
    'wp-admin/install.css',
    'wp-admin/upgrade-schema.php',
    'wp-admin/upload-functions.php',
    'wp-admin/upload-rtl.css',
    'wp-admin/upload.css',
    'wp-admin/upload.js',
    'wp-admin/users.js',
    'wp-admin/widgets-rtl.css',
    'wp-admin/widgets.css',
    'wp-admin/xfn.js',
    'wp-includes/js/tinymce/license.html',
    // 2.5
    'wp-admin/css/upload.css',
    'wp-admin/images/box-bg-left.gif',
    'wp-admin/images/box-bg-right.gif',
    'wp-admin/images/box-bg.gif',
    'wp-admin/images/box-butt-left.gif',
    'wp-admin/images/box-butt-right.gif',
    'wp-admin/images/box-butt.gif',
    'wp-admin/images/box-head-left.gif',
    'wp-admin/images/box-head-right.gif',
    'wp-admin/images/box-head.gif',
    'wp-admin/images/heading-bg.gif',
    'wp-admin/images/login-bkg-bottom.gif',
    'wp-admin/images/login-bkg-tile.gif',
    'wp-admin/images/notice.gif',
    'wp-admin/images/toggle.gif',
    'wp-admin/includes/upload.php',
    'wp-admin/js/dbx-admin-key.js',
    'wp-admin/js/link-cat.js',
    'wp-admin/profile-update.php',
    'wp-admin/templates.php',
    'wp-includes/images/wlw/WpComments.png',
    'wp-includes/images/wlw/WpIcon.png',
    'wp-includes/images/wlw/WpWatermark.png',
    'wp-includes/js/dbx.js',
    'wp-includes/js/fat.js',
    'wp-includes/js/list-manipulation.js',
    'wp-includes/js/tinymce/langs/en.js',
    'wp-includes/js/tinymce/plugins/autosave/editor_plugin_src.js',
    'wp-includes/js/tinymce/plugins/autosave/langs',
    'wp-includes/js/tinymce/plugins/directionality/images',
    'wp-includes/js/tinymce/plugins/directionality/langs',
    'wp-includes/js/tinymce/plugins/inlinepopups/css',
    'wp-includes/js/tinymce/plugins/inlinepopups/images',
    'wp-includes/js/tinymce/plugins/inlinepopups/jscripts',
    'wp-includes/js/tinymce/plugins/paste/images',
    'wp-includes/js/tinymce/plugins/paste/jscripts',
    'wp-includes/js/tinymce/plugins/paste/langs',
    'wp-includes/js/tinymce/plugins/spellchecker/classes/HttpClient.class.php',
    'wp-includes/js/tinymce/plugins/spellchecker/classes/TinyGoogleSpell.class.php',
    'wp-includes/js/tinymce/plugins/spellchecker/classes/TinyPspell.class.php',
    'wp-includes/js/tinymce/plugins/spellchecker/classes/TinyPspellShell.class.php',
    'wp-includes/js/tinymce/plugins/spellchecker/css/spellchecker.css',
    'wp-includes/js/tinymce/plugins/spellchecker/images',
    'wp-includes/js/tinymce/plugins/spellchecker/langs',
    'wp-includes/js/tinymce/plugins/spellchecker/tinyspell.php',
    'wp-includes/js/tinymce/plugins/wordpress/images',
    'wp-includes/js/tinymce/plugins/wordpress/langs',
    'wp-includes/js/tinymce/plugins/wordpress/wordpress.css',
    'wp-includes/js/tinymce/plugins/wphelp',
    'wp-includes/js/tinymce/themes/advanced/css',
    'wp-includes/js/tinymce/themes/advanced/images',
    'wp-includes/js/tinymce/themes/advanced/jscripts',
    'wp-includes/js/tinymce/themes/advanced/langs',
    // 2.5.1
    'wp-includes/js/tinymce/tiny_mce_gzip.php',
    // 2.6
    'wp-admin/bookmarklet.php',
    'wp-includes/js/jquery/jquery.dimensions.min.js',
    'wp-includes/js/tinymce/plugins/wordpress/popups.css',
    'wp-includes/js/wp-ajax.js',
    // 2.7
    'wp-admin/css/press-this-ie-rtl.css',
    'wp-admin/css/press-this-ie.css',
    'wp-admin/css/upload-rtl.css',
    'wp-admin/edit-form.php',
    'wp-admin/images/comment-pill.gif',
    'wp-admin/images/comment-stalk-classic.gif',
    'wp-admin/images/comment-stalk-fresh.gif',
    'wp-admin/images/comment-stalk-rtl.gif',
    'wp-admin/images/del.png',
    'wp-admin/images/gear.png',
    'wp-admin/images/media-button-gallery.gif',
    'wp-admin/images/media-buttons.gif',
    'wp-admin/images/postbox-bg.gif',
    'wp-admin/images/tab.png',
    'wp-admin/images/tail.gif',
    'wp-admin/js/forms.js',
    'wp-admin/js/upload.js',
    'wp-admin/link-import.php',
    'wp-includes/images/audio.png',
    'wp-includes/images/css.png',
    'wp-includes/images/default.png',
    'wp-includes/images/doc.png',
    'wp-includes/images/exe.png',
    'wp-includes/images/html.png',
    'wp-includes/images/js.png',
    'wp-includes/images/pdf.png',
    'wp-includes/images/swf.png',
    'wp-includes/images/tar.png',
    'wp-includes/images/text.png',
    'wp-includes/images/video.png',
    'wp-includes/images/zip.png',
    'wp-includes/js/tinymce/tiny_mce_config.php',
    'wp-includes/js/tinymce/tiny_mce_ext.js',
    // 2.8
    'wp-admin/js/users.js',
    'wp-includes/js/swfupload/plugins/swfupload.documentready.js',
    'wp-includes/js/swfupload/plugins/swfupload.graceful_degradation.js',
    'wp-includes/js/swfupload/swfupload_f9.swf',
    'wp-includes/js/tinymce/plugins/autosave',
    'wp-includes/js/tinymce/plugins/paste/css',
    'wp-includes/js/tinymce/utils/mclayer.js',
    'wp-includes/js/tinymce/wordpress.css',
    // 2.8.5
    'wp-admin/import/btt.php',
    'wp-admin/import/jkw.php',
    // 2.9
    'wp-admin/js/page.dev.js',
    'wp-admin/js/page.js',
    'wp-admin/js/set-post-thumbnail-handler.dev.js',
    'wp-admin/js/set-post-thumbnail-handler.js',
    'wp-admin/js/slug.dev.js',
    'wp-admin/js/slug.js',
    'wp-includes/gettext.php',
    'wp-includes/js/tinymce/plugins/wordpress/js',
    'wp-includes/streams.php',
    // MU
    'README.txt',
    'htaccess.dist',
    'index-install.php',
    'wp-admin/css/mu-rtl.css',
    'wp-admin/css/mu.css',
    'wp-admin/images/site-admin.png',
    'wp-admin/includes/mu.php',
    'wp-admin/wpmu-admin.php',
    'wp-admin/wpmu-blogs.php',
    'wp-admin/wpmu-edit.php',
    'wp-admin/wpmu-options.php',
    'wp-admin/wpmu-themes.php',
    'wp-admin/wpmu-upgrade-site.php',
    'wp-admin/wpmu-users.php',
    'wp-includes/images/wordpress-mu.png',
    'wp-includes/wpmu-default-filters.php',
    'wp-includes/wpmu-functions.php',
    'wpmu-settings.php',
    // 3.0
    'wp-admin/categories.php',
    'wp-admin/edit-category-form.php',
    'wp-admin/edit-page-form.php',
    'wp-admin/edit-pages.php',
    'wp-admin/images/admin-header-footer.png',
    'wp-admin/images/browse-happy.gif',
    'wp-admin/images/ico-add.png',
    'wp-admin/images/ico-close.png',
    'wp-admin/images/ico-edit.png',
    'wp-admin/images/ico-viewpage.png',
    'wp-admin/images/fav-top.png',
    'wp-admin/images/screen-options-left.gif',
    'wp-admin/images/wp-logo-vs.gif',
    'wp-admin/images/wp-logo.gif',
    'wp-admin/import',
    'wp-admin/js/wp-gears.dev.js',
    'wp-admin/js/wp-gears.js',
    'wp-admin/options-misc.php',
    'wp-admin/page-new.php',
    'wp-admin/page.php',
    'wp-admin/rtl.css',
    'wp-admin/rtl.dev.css',
    'wp-admin/update-links.php',
    'wp-admin/wp-admin.css',
    'wp-admin/wp-admin.dev.css',
    'wp-includes/js/codepress',
    'wp-includes/js/codepress/engines/khtml.js',
    'wp-includes/js/codepress/engines/older.js',
    'wp-includes/js/jquery/autocomplete.dev.js',
    'wp-includes/js/jquery/autocomplete.js',
    'wp-includes/js/jquery/interface.js',
    'wp-includes/js/scriptaculous/prototype.js',
    'wp-includes/js/tinymce/wp-tinymce.js',
    // 3.1
    'wp-admin/edit-attachment-rows.php',
    'wp-admin/edit-link-categories.php',
    'wp-admin/edit-link-category-form.php',
    'wp-admin/edit-post-rows.php',
    'wp-admin/images/button-grad-active-vs.png',
    'wp-admin/images/button-grad-vs.png',
    'wp-admin/images/fav-arrow-vs-rtl.gif',
    'wp-admin/images/fav-arrow-vs.gif',
    'wp-admin/images/fav-top-vs.gif',
    'wp-admin/images/list-vs.png',
    'wp-admin/images/screen-options-right-up.gif',
    'wp-admin/images/screen-options-right.gif',
    'wp-admin/images/visit-site-button-grad-vs.gif',
    'wp-admin/images/visit-site-button-grad.gif',
    'wp-admin/link-category.php',
    'wp-admin/sidebar.php',
    'wp-includes/classes.php',
    'wp-includes/js/tinymce/blank.htm',
    'wp-includes/js/tinymce/plugins/media/css/content.css',
    'wp-includes/js/tinymce/plugins/media/img',
    'wp-includes/js/tinymce/plugins/safari',
    // 3.2
    'wp-admin/images/logo-login.gif',
    'wp-admin/images/star.gif',
    'wp-admin/js/list-table.dev.js',
    'wp-admin/js/list-table.js',
    'wp-includes/default-embeds.php',
    'wp-includes/js/tinymce/plugins/wordpress/img/help.gif',
    'wp-includes/js/tinymce/plugins/wordpress/img/more.gif',
    'wp-includes/js/tinymce/plugins/wordpress/img/toolbars.gif',
    'wp-includes/js/tinymce/themes/advanced/img/fm.gif',
    'wp-includes/js/tinymce/themes/advanced/img/sflogo.png',
    // 3.3
    'wp-admin/css/colors-classic-rtl.css',
    'wp-admin/css/colors-classic-rtl.dev.css',
    'wp-admin/css/colors-fresh-rtl.css',
    'wp-admin/css/colors-fresh-rtl.dev.css',
    'wp-admin/css/dashboard-rtl.dev.css',
    'wp-admin/css/dashboard.dev.css',
    'wp-admin/css/global-rtl.css',
    'wp-admin/css/global-rtl.dev.css',
    'wp-admin/css/global.css',
    'wp-admin/css/global.dev.css',
    'wp-admin/css/install-rtl.dev.css',
    'wp-admin/css/login-rtl.dev.css',
    'wp-admin/css/login.dev.css',
    'wp-admin/css/ms.css',
    'wp-admin/css/ms.dev.css',
    'wp-admin/css/nav-menu-rtl.css',
    'wp-admin/css/nav-menu-rtl.dev.css',
    'wp-admin/css/nav-menu.css',
    'wp-admin/css/nav-menu.dev.css',
    'wp-admin/css/plugin-install-rtl.css',
    'wp-admin/css/plugin-install-rtl.dev.css',
    'wp-admin/css/plugin-install.css',
    'wp-admin/css/plugin-install.dev.css',
    'wp-admin/css/press-this-rtl.dev.css',
    'wp-admin/css/press-this.dev.css',
    'wp-admin/css/theme-editor-rtl.css',
    'wp-admin/css/theme-editor-rtl.dev.css',
    'wp-admin/css/theme-editor.css',
    'wp-admin/css/theme-editor.dev.css',
    'wp-admin/css/theme-install-rtl.css',
    'wp-admin/css/theme-install-rtl.dev.css',
    'wp-admin/css/theme-install.css',
    'wp-admin/css/theme-install.dev.css',
    'wp-admin/css/widgets-rtl.dev.css',
    'wp-admin/css/widgets.dev.css',
    'wp-admin/includes/internal-linking.php',
    'wp-includes/images/admin-bar-sprite-rtl.png',
    'wp-includes/js/jquery/ui.button.js',
    'wp-includes/js/jquery/ui.core.js',
    'wp-includes/js/jquery/ui.dialog.js',
    'wp-includes/js/jquery/ui.draggable.js',
    'wp-includes/js/jquery/ui.droppable.js',
    'wp-includes/js/jquery/ui.mouse.js',
    'wp-includes/js/jquery/ui.position.js',
    'wp-includes/js/jquery/ui.resizable.js',
    'wp-includes/js/jquery/ui.selectable.js',
    'wp-includes/js/jquery/ui.sortable.js',
    'wp-includes/js/jquery/ui.tabs.js',
    'wp-includes/js/jquery/ui.widget.js',
    'wp-includes/js/l10n.dev.js',
    'wp-includes/js/l10n.js',
    'wp-includes/js/tinymce/plugins/wplink/css',
    'wp-includes/js/tinymce/plugins/wplink/img',
    'wp-includes/js/tinymce/plugins/wplink/js',
    'wp-includes/js/tinymce/themes/advanced/img/wpicons.png',
    'wp-includes/js/tinymce/themes/advanced/skins/wp_theme/img/butt2.png',
    'wp-includes/js/tinymce/themes/advanced/skins/wp_theme/img/button_bg.png',
    'wp-includes/js/tinymce/themes/advanced/skins/wp_theme/img/down_arrow.gif',
    'wp-includes/js/tinymce/themes/advanced/skins/wp_theme/img/fade-butt.png',
    'wp-includes/js/tinymce/themes/advanced/skins/wp_theme/img/separator.gif',
    // Don't delete, yet: 'wp-rss.php',
    // Don't delete, yet: 'wp-rdf.php',
    // Don't delete, yet: 'wp-rss2.php',
    // Don't delete, yet: 'wp-commentsrss2.php',
    // Don't delete, yet: 'wp-atom.php',
    // Don't delete, yet: 'wp-feed.php',
    // 3.4
    'wp-admin/images/gray-star.png',
    'wp-admin/images/logo-login.png',
    'wp-admin/images/star.png',
    'wp-admin/index-extra.php',
    'wp-admin/network/index-extra.php',
    'wp-admin/user/index-extra.php',
    'wp-admin/images/screenshots/admin-flyouts.png',
    'wp-admin/images/screenshots/coediting.png',
    'wp-admin/images/screenshots/drag-and-drop.png',
    'wp-admin/images/screenshots/help-screen.png',
    'wp-admin/images/screenshots/media-icon.png',
    'wp-admin/images/screenshots/new-feature-pointer.png',
    'wp-admin/images/screenshots/welcome-screen.png',
    'wp-includes/css/editor-buttons.css',
    'wp-includes/css/editor-buttons.dev.css',
    'wp-includes/js/tinymce/plugins/paste/blank.htm',
    'wp-includes/js/tinymce/plugins/wordpress/css',
    'wp-includes/js/tinymce/plugins/wordpress/editor_plugin.dev.js',
    'wp-includes/js/tinymce/plugins/wordpress/img/embedded.png',
    'wp-includes/js/tinymce/plugins/wordpress/img/more_bug.gif',
    'wp-includes/js/tinymce/plugins/wordpress/img/page_bug.gif',
    'wp-includes/js/tinymce/plugins/wpdialogs/editor_plugin.dev.js',
    'wp-includes/js/tinymce/plugins/wpeditimage/css/editimage-rtl.css',
    'wp-includes/js/tinymce/plugins/wpeditimage/editor_plugin.dev.js',
    'wp-includes/js/tinymce/plugins/wpfullscreen/editor_plugin.dev.js',
    'wp-includes/js/tinymce/plugins/wpgallery/editor_plugin.dev.js',
    'wp-includes/js/tinymce/plugins/wpgallery/img/gallery.png',
    'wp-includes/js/tinymce/plugins/wplink/editor_plugin.dev.js',
    // Don't delete, yet: 'wp-pass.php',
    // Don't delete, yet: 'wp-register.php',
    // 3.5
    'wp-admin/gears-manifest.php',
    'wp-admin/includes/manifest.php',
    'wp-admin/images/archive-link.png',
    'wp-admin/images/blue-grad.png',
    'wp-admin/images/button-grad-active.png',
    'wp-admin/images/button-grad.png',
    'wp-admin/images/ed-bg-vs.gif',
    'wp-admin/images/ed-bg.gif',
    'wp-admin/images/fade-butt.png',
    'wp-admin/images/fav-arrow-rtl.gif',
    'wp-admin/images/fav-arrow.gif',
    'wp-admin/images/fav-vs.png',
    'wp-admin/images/fav.png',
    'wp-admin/images/gray-grad.png',
    'wp-admin/images/loading-publish.gif',
    'wp-admin/images/logo-ghost.png',
    'wp-admin/images/logo.gif',
    'wp-admin/images/menu-arrow-frame-rtl.png',
    'wp-admin/images/menu-arrow-frame.png',
    'wp-admin/images/menu-arrows.gif',
    'wp-admin/images/menu-bits-rtl-vs.gif',
    'wp-admin/images/menu-bits-rtl.gif',
    'wp-admin/images/menu-bits-vs.gif',
    'wp-admin/images/menu-bits.gif',
    'wp-admin/images/menu-dark-rtl-vs.gif',
    'wp-admin/images/menu-dark-rtl.gif',
    'wp-admin/images/menu-dark-vs.gif',
    'wp-admin/images/menu-dark.gif',
    'wp-admin/images/required.gif',
    'wp-admin/images/screen-options-toggle-vs.gif',
    'wp-admin/images/screen-options-toggle.gif',
    'wp-admin/images/toggle-arrow-rtl.gif',
    'wp-admin/images/toggle-arrow.gif',
    'wp-admin/images/upload-classic.png',
    'wp-admin/images/upload-fresh.png',
    'wp-admin/images/white-grad-active.png',
    'wp-admin/images/white-grad.png',
    'wp-admin/images/widgets-arrow-vs.gif',
    'wp-admin/images/widgets-arrow.gif',
    'wp-admin/images/wpspin_dark.gif',
    'wp-includes/images/upload.png',
    'wp-includes/js/prototype.js',
    'wp-includes/js/scriptaculous',
    'wp-admin/css/wp-admin-rtl.dev.css',
    'wp-admin/css/wp-admin.dev.css',
    'wp-admin/css/media-rtl.dev.css',
    'wp-admin/css/media.dev.css',
    'wp-admin/css/colors-classic.dev.css',
    'wp-admin/css/customize-controls-rtl.dev.css',
    'wp-admin/css/customize-controls.dev.css',
    'wp-admin/css/ie-rtl.dev.css',
    'wp-admin/css/ie.dev.css',
    'wp-admin/css/install.dev.css',
    'wp-admin/css/colors-fresh.dev.css',
    'wp-includes/js/customize-base.dev.js',
    'wp-includes/js/json2.dev.js',
    'wp-includes/js/comment-reply.dev.js',
    'wp-includes/js/customize-preview.dev.js',
    'wp-includes/js/wplink.dev.js',
    'wp-includes/js/tw-sack.dev.js',
    'wp-includes/js/wp-list-revisions.dev.js',
    'wp-includes/js/autosave.dev.js',
    'wp-includes/js/admin-bar.dev.js',
    'wp-includes/js/quicktags.dev.js',
    'wp-includes/js/wp-ajax-response.dev.js',
    'wp-includes/js/wp-pointer.dev.js',
    'wp-includes/js/hoverIntent.dev.js',
    'wp-includes/js/colorpicker.dev.js',
    'wp-includes/js/wp-lists.dev.js',
    'wp-includes/js/customize-loader.dev.js',
    'wp-includes/js/jquery/jquery.table-hotkeys.dev.js',
    'wp-includes/js/jquery/jquery.color.dev.js',
    'wp-includes/js/jquery/jquery.color.js',
    'wp-includes/js/jquery/jquery.hotkeys.dev.js',
    'wp-includes/js/jquery/jquery.form.dev.js',
    'wp-includes/js/jquery/suggest.dev.js',
    'wp-admin/js/xfn.dev.js',
    'wp-admin/js/set-post-thumbnail.dev.js',
    'wp-admin/js/comment.dev.js',
    'wp-admin/js/theme.dev.js',
    'wp-admin/js/cat.dev.js',
    'wp-admin/js/password-strength-meter.dev.js',
    'wp-admin/js/user-profile.dev.js',
    'wp-admin/js/theme-preview.dev.js',
    'wp-admin/js/post.dev.js',
    'wp-admin/js/media-upload.dev.js',
    'wp-admin/js/word-count.dev.js',
    'wp-admin/js/plugin-install.dev.js',
    'wp-admin/js/edit-comments.dev.js',
    'wp-admin/js/media-gallery.dev.js',
    'wp-admin/js/custom-fields.dev.js',
    'wp-admin/js/custom-background.dev.js',
    'wp-admin/js/common.dev.js',
    'wp-admin/js/inline-edit-tax.dev.js',
    'wp-admin/js/gallery.dev.js',
    'wp-admin/js/utils.dev.js',
    'wp-admin/js/widgets.dev.js',
    'wp-admin/js/wp-fullscreen.dev.js',
    'wp-admin/js/nav-menu.dev.js',
    'wp-admin/js/dashboard.dev.js',
    'wp-admin/js/link.dev.js',
    'wp-admin/js/user-suggest.dev.js',
    'wp-admin/js/postbox.dev.js',
    'wp-admin/js/tags.dev.js',
    'wp-admin/js/image-edit.dev.js',
    'wp-admin/js/media.dev.js',
    'wp-admin/js/customize-controls.dev.js',
    'wp-admin/js/inline-edit-post.dev.js',
    'wp-admin/js/categories.dev.js',
    'wp-admin/js/editor.dev.js',
    'wp-includes/js/tinymce/plugins/wpeditimage/js/editimage.dev.js',
    'wp-includes/js/tinymce/plugins/wpdialogs/js/popup.dev.js',
    'wp-includes/js/tinymce/plugins/wpdialogs/js/wpdialog.dev.js',
    'wp-includes/js/plupload/handlers.dev.js',
    'wp-includes/js/plupload/wp-plupload.dev.js',
    'wp-includes/js/swfupload/handlers.dev.js',
    'wp-includes/js/jcrop/jquery.Jcrop.dev.js',
    'wp-includes/js/jcrop/jquery.Jcrop.js',
    'wp-includes/js/jcrop/jquery.Jcrop.css',
    'wp-includes/js/imgareaselect/jquery.imgareaselect.dev.js',
    'wp-includes/css/wp-pointer.dev.css',
    'wp-includes/css/editor.dev.css',
    'wp-includes/css/jquery-ui-dialog.dev.css',
    'wp-includes/css/admin-bar-rtl.dev.css',
    'wp-includes/css/admin-bar.dev.css',
    'wp-includes/js/jquery/ui/jquery.effects.clip.min.js',
    'wp-includes/js/jquery/ui/jquery.effects.scale.min.js',
    'wp-includes/js/jquery/ui/jquery.effects.blind.min.js',
    'wp-includes/js/jquery/ui/jquery.effects.core.min.js',
    'wp-includes/js/jquery/ui/jquery.effects.shake.min.js',
    'wp-includes/js/jquery/ui/jquery.effects.fade.min.js',
    'wp-includes/js/jquery/ui/jquery.effects.explode.min.js',
    'wp-includes/js/jquery/ui/jquery.effects.slide.min.js',
    'wp-includes/js/jquery/ui/jquery.effects.drop.min.js',
    'wp-includes/js/jquery/ui/jquery.effects.highlight.min.js',
    'wp-includes/js/jquery/ui/jquery.effects.bounce.min.js',
    'wp-includes/js/jquery/ui/jquery.effects.pulsate.min.js',
    'wp-includes/js/jquery/ui/jquery.effects.transfer.min.js',
    'wp-includes/js/jquery/ui/jquery.effects.fold.min.js',
    'wp-admin/images/screenshots/captions-1.png',
    'wp-admin/images/screenshots/captions-2.png',
    'wp-admin/images/screenshots/flex-header-1.png',
    'wp-admin/images/screenshots/flex-header-2.png',
    'wp-admin/images/screenshots/flex-header-3.png',
    'wp-admin/images/screenshots/flex-header-media-library.png',
    'wp-admin/images/screenshots/theme-customizer.png',
    'wp-admin/images/screenshots/twitter-embed-1.png',
    'wp-admin/images/screenshots/twitter-embed-2.png',
    'wp-admin/js/utils.js',
    'wp-admin/options-privacy.php',
    'wp-app.php',
    'wp-includes/class-wp-atom-server.php',
    'wp-includes/js/tinymce/themes/advanced/skins/wp_theme/ui.css',
    // 3.5.2
    'wp-includes/js/swfupload/swfupload-all.js',
    // 3.6
    'wp-admin/js/revisions-js.php',
    'wp-admin/images/screenshots',
    'wp-admin/js/categories.js',
    'wp-admin/js/categories.min.js',
    'wp-admin/js/custom-fields.js',
    'wp-admin/js/custom-fields.min.js',
    // 3.7
    'wp-admin/js/cat.js',
    'wp-admin/js/cat.min.js',
    'wp-includes/js/tinymce/plugins/wpeditimage/js/editimage.min.js',
    // 3.8
    'wp-includes/js/tinymce/themes/advanced/skins/wp_theme/img/page_bug.gif',
    'wp-includes/js/tinymce/themes/advanced/skins/wp_theme/img/more_bug.gif',
    'wp-includes/js/thickbox/tb-close-2x.png',
    'wp-includes/js/thickbox/tb-close.png',
    'wp-includes/images/wpmini-blue-2x.png',
    'wp-includes/images/wpmini-blue.png',
    'wp-admin/css/colors-fresh.css',
    'wp-admin/css/colors-classic.css',
    'wp-admin/css/colors-fresh.min.css',
    'wp-admin/css/colors-classic.min.css',
    'wp-admin/js/about.min.js',
    'wp-admin/js/about.js',
    'wp-admin/images/arrows-dark-vs-2x.png',
    'wp-admin/images/wp-logo-vs.png',
    'wp-admin/images/arrows-dark-vs.png',
    'wp-admin/images/wp-logo.png',
    'wp-admin/images/arrows-pr.png',
    'wp-admin/images/arrows-dark.png',
    'wp-admin/images/press-this.png',
    'wp-admin/images/press-this-2x.png',
    'wp-admin/images/arrows-vs-2x.png',
    'wp-admin/images/welcome-icons.png',
    'wp-admin/images/wp-logo-2x.png',
    'wp-admin/images/stars-rtl-2x.png',
    'wp-admin/images/arrows-dark-2x.png',
    'wp-admin/images/arrows-pr-2x.png',
    'wp-admin/images/menu-shadow-rtl.png',
    'wp-admin/images/arrows-vs.png',
    'wp-admin/images/about-search-2x.png',
    'wp-admin/images/bubble_bg-rtl-2x.gif',
    'wp-admin/images/wp-badge-2x.png',
    'wp-admin/images/wordpress-logo-2x.png',
    'wp-admin/images/bubble_bg-rtl.gif',
    'wp-admin/images/wp-badge.png',
    'wp-admin/images/menu-shadow.png',
    'wp-admin/images/about-globe-2x.png',
    'wp-admin/images/welcome-icons-2x.png',
    'wp-admin/images/stars-rtl.png',
    'wp-admin/images/wp-logo-vs-2x.png',
    'wp-admin/images/about-updates-2x.png',
    // 3.9
    'wp-admin/css/colors.css',
    'wp-admin/css/colors.min.css',
    'wp-admin/css/colors-rtl.css',
    'wp-admin/css/colors-rtl.min.css',
    'wp-admin/css/media-rtl.min.css',
    'wp-admin/css/media.min.css',
    'wp-admin/css/farbtastic-rtl.min.css',
    'wp-admin/images/lock-2x.png',
    'wp-admin/images/lock.png',
    'wp-admin/js/theme-preview.js',
    'wp-admin/js/theme-install.min.js',
    'wp-admin/js/theme-install.js',
    'wp-admin/js/theme-preview.min.js',
    'wp-includes/js/plupload/plupload.html4.js',
    'wp-includes/js/plupload/plupload.html5.js',
    'wp-includes/js/plupload/changelog.txt',
    'wp-includes/js/plupload/plupload.silverlight.js',
    'wp-includes/js/plupload/plupload.flash.js',
    'wp-includes/js/plupload/plupload.js',
    'wp-includes/js/tinymce/plugins/spellchecker',
    'wp-includes/js/tinymce/plugins/inlinepopups',
    'wp-includes/js/tinymce/plugins/media/js',
    'wp-includes/js/tinymce/plugins/media/css',
    'wp-includes/js/tinymce/plugins/wordpress/img',
    'wp-includes/js/tinymce/plugins/wpdialogs/js',
    'wp-includes/js/tinymce/plugins/wpeditimage/img',
    'wp-includes/js/tinymce/plugins/wpeditimage/js',
    'wp-includes/js/tinymce/plugins/wpeditimage/css',
    'wp-includes/js/tinymce/plugins/wpgallery/img',
    'wp-includes/js/tinymce/plugins/wpfullscreen/css',
    'wp-includes/js/tinymce/plugins/paste/js',
    'wp-includes/js/tinymce/themes/advanced',
    'wp-includes/js/tinymce/tiny_mce.js',
    'wp-includes/js/tinymce/mark_loaded_src.js',
    'wp-includes/js/tinymce/wp-tinymce-schema.js',
    'wp-includes/js/tinymce/plugins/media/editor_plugin.js',
    'wp-includes/js/tinymce/plugins/media/editor_plugin_src.js',
    'wp-includes/js/tinymce/plugins/media/media.htm',
    'wp-includes/js/tinymce/plugins/wpview/editor_plugin_src.js',
    'wp-includes/js/tinymce/plugins/wpview/editor_plugin.js',
    'wp-includes/js/tinymce/plugins/directionality/editor_plugin.js',
    'wp-includes/js/tinymce/plugins/directionality/editor_plugin_src.js',
    'wp-includes/js/tinymce/plugins/wordpress/editor_plugin.js',
    'wp-includes/js/tinymce/plugins/wordpress/editor_plugin_src.js',
    'wp-includes/js/tinymce/plugins/wpdialogs/editor_plugin_src.js',
    'wp-includes/js/tinymce/plugins/wpdialogs/editor_plugin.js',
    'wp-includes/js/tinymce/plugins/wpeditimage/editimage.html',
    'wp-includes/js/tinymce/plugins/wpeditimage/editor_plugin.js',
    'wp-includes/js/tinymce/plugins/wpeditimage/editor_plugin_src.js',
    'wp-includes/js/tinymce/plugins/fullscreen/editor_plugin_src.js',
    'wp-includes/js/tinymce/plugins/fullscreen/fullscreen.htm',
    'wp-includes/js/tinymce/plugins/fullscreen/editor_plugin.js',
    'wp-includes/js/tinymce/plugins/wplink/editor_plugin_src.js',
    'wp-includes/js/tinymce/plugins/wplink/editor_plugin.js',
    'wp-includes/js/tinymce/plugins/wpgallery/editor_plugin_src.js',
    'wp-includes/js/tinymce/plugins/wpgallery/editor_plugin.js',
    'wp-includes/js/tinymce/plugins/tabfocus/editor_plugin.js',
    'wp-includes/js/tinymce/plugins/tabfocus/editor_plugin_src.js',
    'wp-includes/js/tinymce/plugins/wpfullscreen/editor_plugin.js',
    'wp-includes/js/tinymce/plugins/wpfullscreen/editor_plugin_src.js',
    'wp-includes/js/tinymce/plugins/paste/editor_plugin.js',
    'wp-includes/js/tinymce/plugins/paste/pasteword.htm',
    'wp-includes/js/tinymce/plugins/paste/editor_plugin_src.js',
    'wp-includes/js/tinymce/plugins/paste/pastetext.htm',
    'wp-includes/js/tinymce/langs/wp-langs.php',
    // 4.1
    'wp-includes/js/jquery/ui/jquery.ui.accordion.min.js',
    'wp-includes/js/jquery/ui/jquery.ui.autocomplete.min.js',
    'wp-includes/js/jquery/ui/jquery.ui.button.min.js',
    'wp-includes/js/jquery/ui/jquery.ui.core.min.js',
    'wp-includes/js/jquery/ui/jquery.ui.datepicker.min.js',
    'wp-includes/js/jquery/ui/jquery.ui.dialog.min.js',
    'wp-includes/js/jquery/ui/jquery.ui.draggable.min.js',
    'wp-includes/js/jquery/ui/jquery.ui.droppable.min.js',
    'wp-includes/js/jquery/ui/jquery.ui.effect-blind.min.js',
    'wp-includes/js/jquery/ui/jquery.ui.effect-bounce.min.js',
    'wp-includes/js/jquery/ui/jquery.ui.effect-clip.min.js',
    'wp-includes/js/jquery/ui/jquery.ui.effect-drop.min.js',
    'wp-includes/js/jquery/ui/jquery.ui.effect-explode.min.js',
    'wp-includes/js/jquery/ui/jquery.ui.effect-fade.min.js',
    'wp-includes/js/jquery/ui/jquery.ui.effect-fold.min.js',
    'wp-includes/js/jquery/ui/jquery.ui.effect-highlight.min.js',
    'wp-includes/js/jquery/ui/jquery.ui.effect-pulsate.min.js',
    'wp-includes/js/jquery/ui/jquery.ui.effect-scale.min.js',
    'wp-includes/js/jquery/ui/jquery.ui.effect-shake.min.js',
    'wp-includes/js/jquery/ui/jquery.ui.effect-slide.min.js',
    'wp-includes/js/jquery/ui/jquery.ui.effect-transfer.min.js',
    'wp-includes/js/jquery/ui/jquery.ui.effect.min.js',
    'wp-includes/js/jquery/ui/jquery.ui.menu.min.js',
    'wp-includes/js/jquery/ui/jquery.ui.mouse.min.js',
    'wp-includes/js/jquery/ui/jquery.ui.position.min.js',
    'wp-includes/js/jquery/ui/jquery.ui.progressbar.min.js',
    'wp-includes/js/jquery/ui/jquery.ui.resizable.min.js',
    'wp-includes/js/jquery/ui/jquery.ui.selectable.min.js',
    'wp-includes/js/jquery/ui/jquery.ui.slider.min.js',
    'wp-includes/js/jquery/ui/jquery.ui.sortable.min.js',
    'wp-includes/js/jquery/ui/jquery.ui.spinner.min.js',
    'wp-includes/js/jquery/ui/jquery.ui.tabs.min.js',
    'wp-includes/js/jquery/ui/jquery.ui.tooltip.min.js',
    'wp-includes/js/jquery/ui/jquery.ui.widget.min.js',
    );
    <end node> 5P9i0s8y19Z
    dt=
    <node>uploads
    1
    wpconfig.php file
    define( 'UPLOADS', 'uploads/' );
    <end node> 5P9i0s8y19Z
    dt=
    <node>urls
    1
    https://wordpress.org/plugins/bulletproof-security/installation/
    http://clicknathan.com/web-design/include-wordpress-page/
    How to Include a WordPress Page on Another WP Page or Part of Your Theme (without using a Plugin)
    Dec052012
    So you have some content from one WordPress post or page and you want to include it elsewhere in your theme. Perhaps you have a “Store Hours” page that you’d like to be able to only update once and have it show in various spots of your website, not just on that particular page.
    The following snippet of code shows you how to tell PHP to grab a particular page via get_pages, and then sets two variables depending on that page’s content and title.
    The last line shows you how to output the content.
    $include = get_pages('include=4177');
    $content = apply_filters('the_content',$include[0]->post_content);
    $title = apply_filters('the_title',$include[0]->post_title); echo '<h1>'.$title.'</h1>'; echo $content;
    Remember to change the 4177 to whatever the ID of your particular page is, and note that you don’t need to keep the last “echo” line in there, you could use that elsewhere in your template.
    <end node> 5P9i0s8y19Z
    dt=
    <node>How to Include a WordPress Page
    2
    <h1>How to Include a WordPress Page on Another WP Page or Part of Your Theme (without using a Plugin)</h1>
    <?php
        $pages = get_pages('include=144');
        $count = 0;
        foreach($pages as $page)
        {
            $content = $page->post_content;
            if(!$content)
                continue;
            if($count >= 2)
                break;
            $count++;
            $content = apply_filters('the_content', $content);
        ?>
            <div class=\\"entry\\"><?php echo $content ?></div>
        <?php
        }
    ?>
                    
                        <time datetime="2012-12-05"><span>Dec</span><span>05</span><span>2012</span></time>
                        
                                            
                                            
                    </header>
                        
                    <p>So you have some content from one WordPress post or page and you want to include it elsewhere in your theme. Perhaps you have a “Store Hours” page that you’d like to be able to only update once and have it show in various spots of your website, not just on that particular page.</p>
    <p>The following snippet of code shows you how to tell PHP to grab a particular page via <code>get_pages</code>, and then sets two variables depending on that page’s content and title. </p>
    <p>The last line shows you how to output the content.</p>
    <div class="code-snippet">
    <code>$include = get_pages('include=4177');<br>
    $content = apply_filters('the_content',$include[0]->post_content);<br>
    $title = apply_filters('the_title',$include[0]->post_title);<br>
    echo '<h1>'.$title.'</h1>'; echo $content;    </code>
    </div>
    <p><strong>Remember to change the <code>4177</code> to whatever the ID of your particular page is</strong>, and note that you don’t need to keep the last “echo” line in there, you could use that elsewhere in your template.</p>
    <end node> 5P9i0s8y19Z
    dt=
    <node>Stupid WordPress Tricks
    2
    http://perishablepress.com/stupid-wordpress-tricks/
    Perishable Press
    WordPress, Web Design, Code & Tutorials
        Tutorials
        Plugins
        Archives
        Demos
        Tools
    New book on WordPress Theme Development: WordPress Themes In Depth
    x
    « Getting Serious with a New Design
    The New Clearfix Method »
    Stupid WordPress Tricks
    [ WordPress ]
    One of the most popular articles here at Perishable Press is my January 2005 post, Stupid htaccess Tricks. In that article, I bring together an extensive collection of awesome copy-&-paste HTAccess code snippets. Four years later, people continue to tell me how much they enjoy and use the content as a bookmarked reference for many of their HTAccess needs. The article was even published in a book on Joomla! Security.
    This is very inspiring to me, so I have decided to create a similar post for all of the useful WordPress code snippets, tips and tricks that I have collected while working on Digging into WordPress, the new book by co-author Chris Coyier and myself that really “digs in” to all of the awesome ways to get the most out of WordPress. While writing the DiW book, I collected hundreds of incredibly useful WordPress tips and tricks. After packing the book with as many of these techniques as possible, I decided to share the “best of the rest” here at Perishable Press.
    If you are one of the millions of people who use WordPress, this article will help you improve the appearance, functionality, and performance of your WordPress-powered websites. Each of these “stupid WordPress tricks” is presented as clearly and succinctly as possible, including as many notes, instructions, and pointers as needed for successful implementation. Of course, keep in mind that we are only scratching the surface here. For a much more complete resource that is packed with tons of tasty techniques, you need to get Digging into WordPress.
    So now, without further ado, here is my personal collection of easy-to-use, copy-&-paste WordPress tricks. Enjoy! :)
    Table of Contents
        WordPress Shortcodes
        WordPress Permalinks Outside of the Loop
        Custom Message to Returning Visitors
        Recently Updated Posts and Pages
        Custom Content to Search Engine Visitors
        Last Modified Time and Date for Posts
        Display Total Number of Trackbacks and Pingbacks
        Display Recently Registered Users
        List all of Your Site’s Posts
        List WordPress User Information
        Display List of Scheduled Posts
        Display Private Posts to Logged-in Users
        Display Posts from Exactly One Year Ago
        Custom CSS Styles for Recent Posts
        New WordPress-2.7 Comments Loop
        Backwards-Compatible Comment Templates
        Disable WordPress Post Revisions
        Limit WordPress Post Revisions
        Remove WordPress Post Revisions from the Database
        Reduce Comment Spam by Blocking No-Referrer Requests
        Prevent Google Analytics from Tracking Admin Pages
        Meta Descriptions without a Plugin
        Differentiate Between Posts Depending on Presence of Excerpt
        Modify the wp_options Table via the WordPress Admin
        Alternate Comment Styles
        Automatically Remove Code Mistakes in Posts
        Automatically Disable Comments and Trackbacks in Old Posts
        Access Post Data Outside the Loop
        Display Posts for a Specified Time Period
        Unique Single Post Templates for Different Categories
        Display Performance Statistics for WordPress Pages
        Custom Post Thumbnails in Two Steps
        Highlight Author Comments
        Easy Random Posts
        Display Dates for Groups of Posts
        Display a Sticky Post in the Sidebar
        Display Latest Comments without a Plugin
        Display Most Commented Posts without a Plugin
        Change Permalinks from Date-Based to Post-Date Only
        Test for Sub-Pages
        Multiple Widgetizable Sidebars
        Remove Fancy Quotes from Comments
        Display a List of All Untagged Posts
        Easy Display of Custom Headers, Footers, and Sidebars
        A Better Way for Users to Logout
        Display a Custom Message on a Specific Date
        Display Three Columns of Posts
        Disable WordPress Search Functionality
        Display Posts with Specific Custom Fields
        How to Number Your Comments, Pingbacks, & Trackbacks in 2.7+
        How to Number Your Comments Using the Classic Loop
        Invite Readers to Comment via Feed
        Display the Total Number of Users for Your Blog
        Automatically Insert Content into Your WordPress Post Editor
        How to Prevent Duplicate Content
        Conditionally Display Full Posts or Excerpts
        Display Related Posts without a Plugin
        Drop-Dead Easy Styles for Author Comments
        Display Posts Upcoming Scheduled Posts
        Display Automatic TinyURLs for Your Posts
        Implement a Site-Maintenance Page for Your Blog
        Display the First Image from Each of Your Posts
        Display Most Popular Posts without a Plugin
        Automatically Highlight Search Terms
        Automatically Disable Widgets
        Display All Images from Your Post Content
        Display Category List in Two Columns
        Show Ads or Other Content Only in the First Three Posts
        A Better Way to Display Recent Comments without a Plugin
        Selectively Disable Automatic Post Formatting
        Browser Detection via WordPress’ body_class Function
        Get Post or Page Contents as a PHP Variable
        Simple Example of How to Use WordPress Cron
        Add More Default Avatar Choices to the WordPress Admin
        Add a Private Page to Your Navigation Menu
        How to Add Additional Links to wp_list_pages
    WordPress Shortcodes ?
    Save time by replacing your most commonly typed words and phrases with WordPress shortcodes. For example, if you are frequently typing your blog’s URL, you could place the following code your theme’s functions.php file:
    function shortURL() {
        return 'http://perishablepress.com/';
    }
    add_shortcode('myurl', 'shortURL');
    Now whenever I write a post via “HTML-mode”, all I need to include my blog’s URL is type “[myurl]”. Works great in WordPress 2.5 or better.
    Shortcodes with Attributes
    To create a shortcode for links, we need to include the href attribute information as well as the anchor text for the link itself. We can do this by placing this function in your theme’s functions.php file:
    function shortLink($atts, $content = null) {
        extract(shortcode_atts(array(
            "href" => 'http://' // default URL
        ), $atts));
        return '<a href="'.$href.'">'.$content.'</a>';
    }
    add_shortcode('link', 'shortLink');
    Then, when creating a post, emulate the following format to include any links you wish:
    [link href="http://perishablepress.com/"]Perishable Press[/link]
    ..which will output the following code:
    <a href="http://perishablepress.com/">Perishable Press</a>
    When the href attribute is removed from the shortcode, the default URL will be used. You may specify the default URL in the third line of the funtion (see comment).
    Source: Digging into WordPress
    Display WordPress Permalinks Outside of the Loop ?
    Normally, permalink display via the_permalink() requires the loop. To display permalinks outside of the loop, we may use either of the following methods:
    <!-- external permalink via post ID -->
    <a href="<?php echo get_permalink(33); ?>" >Permalink</a>
    <!-- external permalink via global $post variable -->
    <a href="<?php echo get_permalink($post->ID); ?>" >Permalink</a>
    Source: Julien Chauvin (404 link removed 2013/06/27)
    Display Custom Message to Returning Visitors ?
    We can greet returning commentators with a custom message by extracting their information from the comment cookie left on their machine. Place the following code into the desired location in your theme and customize the message and markup to whatever you wish:
    <?php if(isset($_COOKIE['comment_author_'.COOKIEHASH])) {
        $lastCommenter = $_COOKIE['comment_author_'.COOKIEHASH];
        echo "Welcome Back ". $lastCommenter ."!";
        } else {
        echo "Welcome, Guest!";
    } ?>
    Source: ifohdesigns (404 link removed 2012/09/14)
    Display Recently Updated Posts and Pages ?
    Easily display a list of recently updated posts by placing the following code into the desired location in your theme:
    <?php
    $today  = current_time('mysql', 1);
    $number = 5; // number of posts
    if($recentposts = $wpdb->get_results("SELECT ID, post_title FROM $wpdb->posts WHERE post_status = 'publish' AND post_modified_gmt < '$today' ORDER BY post_modified_gmt DESC LIMIT $number")):
    ?>
    <h2><?php _e("Recently Updated"); ?></h2>
    <ul>
    <?php
    foreach($recentposts as $post) {
        if($post->post_title == '') $post->post_title = sprintf(__('Post #%s'), $post->ID);
        echo '<li><a href="'.get_permalink($post->ID).'">'.the_title().'</a></li>';
    } ?>
    </ul>
    <?php endif; ?>
    Of course, customize the details as necessary and remember to set the number of posts via the “$howMany” variable.
    Source: Corey (404 link removed 2014/06/08)
    Display Custom Content to Search Engine Visitors ?
    Display custom content to your search-engine traffic by placing the following code into your theme’s functions.php file:
    <?php function scratch99_fromasearchengine() {
        $ref = $_SERVER['HTTP_REFERER'];
        $SE  = array('/search?', 'images.google.', 'web.info.com', 'search.', 'del.icio.us/search', 'soso.com', '/search/', '.yahoo.');
        
        foreach($SE as $source) {
            if(strpos($ref, $source) !== false) return true;
        }
        return false;
    } ?>
    After checking and editing the $SE array with the search-engine referrer information of your choice, place this next chunk of code into the desired display location in your theme file(s):
    <?php if(function_exists('scratch99_fromasearchengine')) {
        if (scratch99_fromasearchengine()) {
            // INSERT YOUR CODE HERE
        }
    } ?>
    Add whatever content or code you wish to the specified area and enjoy targeted delivery to search-engine visitors only.
    Source: Stephen Cronin
    Display Last Modified Time and Date for Posts ?
    Display the “last-modified” time for your posts by placing this code anywhere within the loop:
    Posted on <?php the_time('F jS, Y') ?>
    <?php $u_time = get_the_time('U');
    $u_modified_time = get_the_modified_time('U');
    if($u_modified_time != $u_time) {
        echo "and last modified on ";
        the_modified_time('F jS, Y');
        echo ". ";
    } ?>
    Source: Kyle Eslick
    Display Total Number of Trackbacks and Pingbacks ?
    Display the trackback/pingback count for each of your posts by first placing this code into your theme’s functions.php file:
    function comment_count() {
        global $wpdb;
        $count = "SELECT COUNT(*) FROM $wpdb->comments WHERE comment_type = 'pingback' OR comment_type = 'trackback'";
        echo $wpdb->get_var($count);
    }
    And then call the number for display anywhere in your theme by adding this code to the desired location:
    <?php comment_count(); ?>
    Alternately, in WordPress 2.7, you may display the total number of comments by inserting this code directly into your comments.php template:
    <?php if(!empty($comments_by_type['comment'])) :
        $count = count($comments_by_type['comment']);
        ($count !== 1) ? $txt = "Comments" : $txt = "Comment";
    ?>
    <h3><?php echo $count . " " . $txt; ?></h3>
    Edit the markup as desired. Will display “” or “”, depending on the number of comments.
    Source: WPengineer.com
    Display Recently Registered Users ?
    Quick and easy method for displaying a list of recently registered users. Place the following code directly into your theme, wherever you would like to display the list:
    <ul>
        <?php $usernames = $wpdb->get_results("SELECT user_nicename, user_url FROM $wpdb->users ORDER BY ID DESC LIMIT 5");
            foreach ($usernames as $username) {
                    echo '<li><a href="'.$username->user_url.'">'.$username->user_nicename."</a></li>";
            }
        ?>
    </ul>
    As-is, this code will spit out the five most recent registered users. This is easily changed to whatever number you wish by simply editing the number “5” in the first line.
    Source: WPRecipes.com
    List all of Your Site’s Posts ?
    If the default wp_get_archives(type=postbypost&limit=) function doesn’t provide enough flexibility to meet your needs, here is another way to list all of your site’s posts:
    <?php while(have_posts()) : the_post(); ?>
    <ul>
        <?php $allposts = get_posts('numberposts=-1&offset=0'); foreach($allposts as $post) : ?>
        <li><?php the_time('d/m/y'); ?>: <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
        <?php endforeach; ?>
    </ul>
    <?php endwhile; ?>
    In place, that code will display a list of all of your blog’s posts. As a bonus, you may use any of the applicable parameters available to the get_posts() function to do just about anything you need with your posts list.
    Source: WPRecipes.com
    List WordPress User Information ?
    Here is an easy way to display flexible lists of your blog’s registered users’ information. In this example, we will list the first and last name of each user registered in the database:
    <ul>
    <?php $szSort = "user_nicename";  
    $aUsersID = $wpdb->get_col($wpdb->prepare("SELECT $wpdb->users.ID FROM $wpdb->users ORDER BY %s ASC", $szSort));
        foreach($aUsersID as $iUserID) :
            $user = get_userdata($iUserID);
            echo '<li>'.ucwords(strtolower($user->first_name.' '.$user->last_name)).'</li>';
        endforeach;
    ?>
    </ul>
    The following variables may be used to display different types of user information and also to specify the sort order of the output list:
        ID - User ID number
        user_login - User Login name
        user_nicename - nice version of login name
        user_email - User Email Address
        user_url - User Website URL
        user_registered - User Registration date
    To display any of these different types of user information, call it with $user->name_of_the_column anywhere within the function’s foreach() loop. To change the display order of the output, use any of the above as the value of the $szSort variable in the first line of the function. Note that strtolower and ucwords are used to ensure proper capitalization of the user names.
    Source: Matt Varone
    Display List of Scheduled Posts ?
    Got scheduled posts? Cool. Here’s how to display them to your readers:
    <ul>
    <?php $my_query = new WP_Query('post_status=future&order=DESC&showposts=5');
    if ($my_query->have_posts()) {
        while ($my_query->have_posts()) : $my_query->the_post(); $do_not_duplicate = $post->ID; ?>
            <li><?php the_title(); ?></li>
        <?php endwhile; } ?>
    </ul>
    Place that code in the desired location of your WordPress template and display a list of scheduled posts to your readers. To change the total number of displayed posts, edit the showposts=5 parameter to any number you wish. You may also use other parameters available to the WP_Query() function to further customize the output.
    Source: Pascal Birchler
    Display Private Posts to Logged-in Users ?
    To display private posts to your logged-in users, you will need to add a custom field called “private” for each private post and give it a value of “true”. Then, replace your default WordPress loop with the following:
    <?php if (have_posts()) : while (have_posts()) : the_post();
        $private = get_post_custom_values("private");
        if (isset($private[0]) && $private == "true") {
            if (is_user_logged_in()) {
                // Display private post to logged user
            }
        } else {
            // Display public post to everyone
        }
    endwhile; endif; ?>
    This custom loop will check each post for the presence of a custom-field value of true. For each post that has this value, the loop will then check to see if the user is logged into your site. If the user is in fact logged in, the loop will display the private post(s). Public posts will be displayed as usual and regardless of whether the user is logged in or not.
    Source: Digging into WordPress
    Display Posts from Exactly One Year Ago ?
    Use this code to display posts that are exactly one year old:
    <?php
    $current_day = date('j');
    $last_year   = date('Y')-1;
    ?>
    <?php query_posts('day='.$current_day.'&year='.$last_year);
        if (have_posts()): while (have_posts()) : the_post(); ?>
        <h1><?php the_title(); ?></h1>
        <?php the_excerpt(); ?>
    <?php endwhile; endif; ?>
    To display posts from different days or different years, edit the two variables in the beginning of the method.
    Custom CSS Styles for Recent Posts ?
    Use some custom CSS styles to highlight your recent posts. To do this, replace your existing loop with the following:
    <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
        $currentdate = date('Y-m-d',mktime(0,0,0,date('m'),date('d'),date('Y')));
        $postdate = get_the_time('Y-m-d');
        if ($postdate == $currentdate) {
            echo '<div class="post new">';
        } else {
            echo '<div class="post">';
        } ?>
            <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
        </div>
    <?php endwhile; endif; ?>
    This new loop will check the date of each post and include a CSS class of “new” to any post published within the previous 24-hour time period. Once the new post class is included, you may style it with some custom CSS such as the following:
    .post{
        /* styles for all posts */
        }
    .post.new {
        /* styles for new posts */
        }
    Source: Fred jaillet [via] WPRecipes.com
    New WordPress-2.7 Comments Loop ?
    Due to the changes made to comment-related functions in WordPress 2.7, you will need to upgrade your comments template in order accomodate for the new functionality. The major changes are the new wp_list_comments() function and the next/previous_comments_link() functions. Here is an example comments.php loop to get you started:
    <?php if (have_comments()) : ?>
        <h4><?php comments_number('No Comments', 'One Comment', '% Comments' );?></h4>
        <ul class="commentlist">
            <?php wp_list_comments(); ?>
        </ul>
        <div class="navigation">
            <div class="alignleft"><?php previous_comments_link(); ?></div>
            <div class="alignright"><?php next_comments_link(); ?></div>
        </div>
    <?php else : // if there are no comments so far ?>
        <?php if ('open' == $post->comment_status) : ?>
            <p>Comments are open, but there are no comments.</p>
        <?php else : ?>
            <p>Comments are closed, and there are no comments.</p>
        <?php endif; ?>
    <?php endif; ?>
    As you can see, we are now using the wp_list_comments() function as the method by which our individual comments are displayed. This function wraps each comment with a set of <li> elements, but this may be changed via customized parameters. We are also using the next/previous_comments_link() functions to accommodate the new built-in paged comments feature.
    Source: Digging into WordPress
    Backwards-Compatible Comment Templates ?
    The easiest way to accommodate for both old (pre-2.7) and new (2.7+) WordPress comment loops is to create two different versions of the comments template and then use some conditional logic to process the correct file. Place the 2.7-compatible code from the previous section into your default comments.php file, and then place your existing (pre-2.7) comments code into a file called legacy-comments.php. Once you have both of these files setup and included among your theme files, place the following function in your theme’s functions.php file:
    <?php add_filter('comments_template', 'legacy_comments');
    function legacy_comments($file) {
        if(!function_exists('wp_list_comments')) : // WP 2.7-only check
            $file = TEMPLATEPATH.'/legacy-comments.php';
        endif;
        return $file;
    } ?>
    This code will then check for the presence of the new wp_list_comments() function. If it exists, then the version of WordPress is at least 2.7, and the default comments.php file will be used. If the new function doesn’t exist, we have a dinosaur on our hands and so the legacy comments file will be used instead.
    Source: Justin Tadlock
    Disable WordPress Post Revisions ?
    One of the new features rolled out in WordPress 2.6 involved post revisions. Revisions are a way for users to keep a working collection of each different version of a post and then revert back to it in the future if necessary. Some people think this is the greatest thing since lightsabers, others (such as myself) find it to be a royal pain in the database. It convolutes the Admin area, gobbles up disk space, and usually doesn’t work as intended. Fortunately, we can disable this amazing new “feature” (which should NOT have been included in the core) by adding the following line to the wp-config.php file:
    /* disable post-revisioning nonsense */
    define('WP_POST_REVISIONS', FALSE);
    Just place that line above the “Happy blogging” comment and say goodbye to needless revisioning bloat.
    Source: Digging into WordPress
    Limit WordPress Post Revisions ?
    If you like the idea of WordPress-2.6’s new post-revisioning feature, but don’t want thousands of extra records bloating up your database, here is an easy way to limit the total number of revisions that WordPress is allowed to keep. This code will instruct WordPress to keep only the most recent “x” number of revisions:
    /* limit number of post revisions */
    define('WP_POST_REVISIONS', 3);
    Place that line above the “Happy blogging” comment in the wp-config.php file and enjoy conserved disk space and less Admin clutter. Change the number “3” to any number you wish. Works a treat.
    Source: Digging into WordPress
    Remove WordPress Post Revisions from the Database ?
    In line with the previous two sections, here we will remove all existing post revisions from the WordPress database. This is useful if you have disabled the post-revisioning feature or perhaps even reduced the total number of allowed revisions. The easiest way to do this is to run the following SQL command via your favorite database interface (such as my personal favorite, phpMyAdmin):
    DELETE a,b,c FROM wp_posts a LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id) LEFT JOIN wp_postmeta c ON (a.ID = c.post_id) WHERE a.post_type = 'revision';
    Note that if you have changed the default WordPress database table prefix to something other than “wp_”, you will want to edit the command to reflect the correct prefix information. This information is available in your site’s wp-config.php file. Also note that you should backup your database before casting any SQL spells on it.
    Upon successful execution of the above command, all data associated with post revisions will be removed the database. This includes the post revisions themselves and all the meta data associated with each revision.
    Credit: Andrei Neculau
    Reduce Comment Spam by Blocking No-Referrer Requests ?
    As explained in my article, denying access to no-referrer requests, you can greatly reduce the number of spam comments by eliminating all direct requests for your blog’s comments-post.php file. This will block automated spam scripts from bypassing your comments form by hitting the comment processing script directly. Here are two ways to block no-referrer comment requests, one uses HTAccess and the other uses PHP. Here is the HTAccess method:
    RewriteEngine On
    RewriteCond %{REQUEST_METHOD} POST
    RewriteCond %{REQUEST_URI} .wp-comments-post.php
    RewriteCond %{HTTP_REFERER} !domain.tld [OR]
    RewriteCond %{HTTP_USER_AGENT} ^$
    RewriteRule (.*) http://%{REMOTE_ADDR}/$ [R=301,L]
    Place that code in your site’s root HTAccess file and edit the “domain.tld” to match your own domain. Once in place, this code will redirect any request for your blog’s comments-post.php file that didn’t originate from your site back to the URL from whence it came.
    This may also be accomplished via PHP. Place the following function in your theme’s functions.php file:
    function check_referrer() {
        if (!isset($_SERVER['HTTP_REFERER']) || $_SERVER['HTTP_REFERER'] == '') {
            wp_die(__('Please do not access this file directly.'));
        }
    }
    add_action('check_comment_flood', 'check_referrer');
    Source: Perishable Press
    Prevent Google Analytics from Tracking Admin Pages ?
    This handy snippet will prevent Google Analytics from tracking your Admin pages or anything else that you wish. Replace your default Google Analytics code with the following:
    <?php if (!current_user_can('level_10')) { ?>
        /* Google Analytics Code */
    <?php } ?>
    This code will then include your Google Analytics code only on non-Admin pages. This in turn will prevent Google Analytics from gathering statistics about your Admin pages. Note that the basic functionality of this method is great for restricting just about anything - scripts, markup, content - to logged-in administrators.
    Meta Descriptions without a Plugin ?
    We don’t need no stinkin’ plugin for custom meta descriptions. All you need is a custom field named “metadescription” with the desired meta description for each post. Once you have that going, include the following function to your theme’s header.php file (within the <head> section:
    <meta name="description" content="
    <?php if ((is_home()) || (is_front_page())) {
        echo ('Your main description goes here');
    } elseif(is_category()) {
        echo category_description();
    } elseif(is_tag()) {
        echo 'Tag archive page for this blog - ' . single_tag_title();
    } elseif(is_month()) {
        echo 'Archive page for this blog - ' . the_time('F, Y');
    } else {
        echo get_post_meta($post->ID, 'metadescription', true);
    } ?>" />
    This function enables you to customize the descriptions for various types of pages, such as the home page, category pages, tag archives, and so on. For single post-view pages, this function will display the value of the metadescription custom field.
    Source: Malcolm Coles (404 link removed)
    Differentiate Between Posts Depending on Presence of Excerpt ?
    Here is a quick conditional snippet that displays different content depending on the presence of an excerpt:
    <?php if(!empty($post->post_excerpt)) {
        // this post has an excerpt, so display it:
        the_excerpt();
    } else {
        // this post has no excerpt, so display something else instead:
        the_content();
    } ?>
    Placed inside the loop, this code will check each post for an excerpt. If one is found, the excerpt is displayed; otherwise, the code specified in the else condition is displayed.
    Modify the wp_options Table via the WordPress Admin ?
    As you probably know, the wp_options table stores a great deal of useful information, including everything from custom-field values, plugin settings, blog information, and much more. If any table in the WordPress database needs its own friendly user-interface, this would be it.
    Normally, you would access the wp_options table using a database interface such as phpMyAdmin. This certainly works, but there is a much easier way to work with the options table, especially if you are already logged into WordPress. Once logged in to the Admin area, navigate to the following URL:
    http://domain.tld/wp-admin/options.php
    This will open a “secret” Admin page that provides editable options fields for every record in the wp_options table. Bookmark this page, and save yourself a trip to phpMyAdmin!
    Source: Digging into WordPress
    Alternate Comment Styles ?
    Alternating comments for old versions of WordPress (pre-2.7)
    This is one of the oldest tricks in the book, but it is still a favorite. Alternating comment styles is a great way to enhance usability and add some stylistic flair to your comments display. The trick is to add an alternating set of classes - odd or even - to the containing element of each comment. While there are many ways to do this, here is one of the easiest. Open your comments.php and modify the comments loop as follows:
    <ul>
        <?php $i = 0; ?>
        <?php foreach ($comments as $comment) : ?>
        <?php $i++; ?>
        <li id="comment-<?php comment_ID(); ?>" <?php if($i&1) { echo 'class="odd"'; } else { echo 'class="even"'; } ?>>
            <?php comment_text(); ?>
        </li>
        <php endforeach; ?>
    </ul>
    With that code in place, your comments will now have alternating CSS classes with which to apply custom styles to your oddly and evenly numbered comments:
    .odd {
        background: white;
        color: black;
        }
    .even {
        background: black;
        color: white;
        }
    Alternating comments for old versions of WordPress (pre-2.7)
    In WordPress 2.7 and better, comments automagically include “odd” and “even” classes for oddly and evenly numbered comments, respectively. This makes it a snap to throw down your own custom CSS styles for each of these classes.
    Credit: WordPress Garage
    Automatically Remove Code Mistakes in Posts ?
    Here is a handy trick that will automatically remove basic mistakes in XHTML markup, such as empty paragraphs, inline font styles, and more. Place this function in your functions.php file:
    function clean_bad_content($bPrint = false) {
        global $post;
        $szPostContent  = $post->post_content;
        $szRemoveFilter = array("~<p[^>]*>\\s?</p>~", "~<a[^>]*>\\s?</a>~", "~<font[^>]*>~", "~<\\/font>~", "~style\\=\\"[^\\"]*\\"~", "~<span[^>]*>\\s?</span>~");
        $szPostContent  = preg_replace($szRemoveFilter, '', $szPostContent);
        $szPostContent  = apply_filters('the_content', $szPostContent);
        if ($bPrint == false) return $szPostContent;
        else echo $szPostContent;
    }
    Once in place, use the following function call to display your “cleaned” content in the loop:
    <?php if (function_exists('clean_bad_content')) clean_bad_content(true); ?>
    Note that the clean_bad_content() accepts a boolean argument (true or false) specifying whether or not to print the function output.
    Credit: Matt Varone
    Automatically Disable Comments and Trackbacks in Old Posts ?
    Here is yet another method for auto-disabling comments and trackbacks on old posts. This function automatically closes comments and trackbacks after the specified number of days. Add the following to your functions.php file:
    <?php function autoclose_comments() {
        global $wpdb, $tableposts;
        if (!isset($tableposts))
            $tableposts = $wpdb->posts;
            $age = '21 DAY';

            $date = $wpdb->get_var("SELECT DATE_ADD(DATE_SUB(CURDATE(), INTERVAL $age), INTERVAL 1 DAY)");
            $wpdb->query("UPDATE $tableposts SET comment_status = 'closed' WHERE comment_status = 'open' AND post_status = 'publish' AND post_date < '$date'");
    }
    function autoclose_trackback() {
        global $wpdb, $tableposts;
        if (!isset($tableposts))
            $tableposts = $wpdb->posts;
            $age = '21 DAY';

            $date = $wpdb->get_var("SELECT DATE_ADD(DATE_SUB(CURDATE(), INTERVAL $age), INTERVAL 1 DAY)");
            $wpdb->query("UPDATE $tableposts SET ping_status = 'closed' WHERE comment_status = 'open' AND post_status = 'publish' AND post_date < '$date'");
    }
    add_action('publish_post',   'autoclose_trackback', 7);
    add_action('edit_post',      'autoclose_trackback', 7);
    add_action('delete_post',    'autoclose_trackback', 7);
    add_action('comment_post',   'autoclose_trackback', 7);
    add_action('trackback_post', 'autoclose_trackback', 7);
    add_action('pingback_post',  'autoclose_trackback', 7);
    add_action('edit_comment',   'autoclose_trackback', 7);
    add_action('delete_comment', 'autoclose_trackback', 7);
    add_action('template_save',  'autoclose_trackback', 7);

    add_action('publish_post',   'autoclose_comments', 7);
    add_action('edit_post',      'autoclose_comments', 7);
    add_action('delete_post',    'autoclose_comments', 7);
    add_action('comment_post',   'autoclose_comments', 7);
    add_action('trackback_post', 'autoclose_comments', 7);
    add_action('pingback_post',  'autoclose_comments', 7);
    add_action('edit_comment',   'autoclose_comments', 7);
    add_action('delete_comment', 'autoclose_comments', 7);
    add_action('template_save',  'autoclose_comments', 7);
    ?>
    Once in place, you may change the number of days allowed for comments and trackbacks to stay open by editing the two instances of the $age variable to whatever you wish. No other editing or code is required for this function to operate effectively. The function is executed automatically upon various posting actions. Note that this function is included in newer versions of WordPress (2.7 or better), and is therefore only required for older versions.
    Source: WP EngineerPlugin: Autoclose
    Access Post Data Outside the Loop ?
    The easiest way to access and display post data outside of the loop is to use the built-in WordPress core function get_post(); however, for more control over the process, check out this nifty little function from WP Recipes:
    function get_post_data($postId) {
        global $wpdb;
        return $wpdb->get_row("SELECT * FROM $wpdb->posts WHERE ID=$postId");
    }
    Place this function in your functions.php and then add this code to the desired location outside of the loop:
    <?php $data = get_post_data(77);
        echo $data->post_date;     // post date
        echo $data->post_title;    // post title
        echo $data->post_content;  // post content
        echo $data->comment_count; // comments number
    ?>
    For the argument of the function, specify the post ID for which you would like to display data. The function will return an array containing all of the available fields for the specified post (post_title, date, content, author_id, post_id, etc).
    Display Posts for a Specified Time Period ?
    Here is an easy way to create posts that will only be displayed for the duration of a specified time period. Replace your current loop with the following:
    <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
        $expirationtime = get_post_custom_values('expiration');
        if (is_array($expirationtime)) {
            $expirestring = implode($expirationtime);
        }
        $secondsbetween = strtotime($expirestring)-time();
        if ($secondsbetween > 0) { ?>
            <h1><?php the_title(); ?></h1>
            <?php the_excerpt(); ?>
    <?php } endwhile; endif; ?>
    And then add a custom field named “expiration” to any post that needs an expiration date. For the value of the expiration key, specify the date/time in the following format: mm/dd/yyyy 00:00:00. Each post that contains such a custom field will expire after the specified date and time and will no longer appear in the loop.
    Unique Single Post Templates for Different Categories ?
    Here is an easy way to display custom post styles depending on the post’s category. With the following code, each single-view post will be displayed according to a template that is specific to the post’s category:
    <?php $post = $wp_query->post;
    if (in_category('1')) {
        include(TEMPLATEPATH.'/single-01.php');
    } elseif (in_category('2')) {
        include(TEMPLATEPATH.'/single-02.php');
    } else {
        include(TEMPLATEPATH.'/single-default.php');
    } ?>
    This code should be placed in your theme’s single.php file. As written, this code will display posts from the first category with the single template, “single-01.php”; also, posts from the second category will be displayed with a single template named “single-02.php”; finally, all other posts will be displayed via the default single template, “single-default.php”. Of course, you will want to customize the category IDs according to your own needs, and also you will want to create the customized single files as they are called. That’s all there is to it.
    Having said that, here is an alternate version of the custom-post-template script:
    <?php add_filter('single_template', create_function('$t', 'foreach((array) get_the_category() as $cat) { if (file_exists(TEMPLATEPATH . "/single-{$cat->term_id}.php")) return TEMPLATEPATH . "/single-{$cat->term_id}.php"; } return $t;')); ?>
    Placed in your theme’s functions.php file, this alternate script checks all categories for the presence of a custom single template. Any category with a custom single-post template will then have its posts displayed with that template. If a post’s category does not feature a custom template, the default single.php template will be used. Note that this code will use the template for the first listed category of each post. Even so, you should only create custom post templates for categories that will always be mutually exclusive. That is, make sure that your posts aren’t in more than one custom-templated category.
    Source: Austin Matzko
    Display Performance Statistics for WordPress Pages ?
    Everyone is familair with the following information:
    <!-- 33 queries in 0.333 seconds -->
    These statistics are usually seen in the footer area of individual pages and serve as a general indicator of performance. The “queries” refer to the number of times WordPress requested information from the database, while the number of seconds indicates the amount of time required for Apache to generate the page. This information is generated by including the following code in your footer template file (or wherever you would like):
    <!-- <?php echo get_num_queries(); ?> queries in <?php timer_stop(3); ?> seconds -->
    Or, if you don’t like the idea of sharing this information with the entire world, you can limit its display to logged-in administrators only:
    <?php if (current_user_can('level_10')) {
        echo '<!-- ' . get_num_queries() . ' queries in ' . timer_stop(3) . ' seconds -->';
    } ?>
    Easy breezy beautiful!
    Source: Digging into WordPress
    Custom Post Thumbnails in Two Steps ?
    Alright, kids. Time for the ‘ol three-step custom-field tutorial. This time we’re going to implement post thumbnails. You know, representative images for each of your posts that may be displayed anywhere you wish, including outside of the flow of post content, and even outside of the loop. This is a great trick for advanced page layouts. Ready? Sharpen your keystrokes!
    Step 1:
    Open your write panel and create a key called “thumbnail”. Then, for the value of the “thumbnail” key, enter the URL of the thumbnail image for that particular post. Write the post and then publish it as normal. Wash, rinse, repeat to get a nice collection of posts with thumbnails. Or, go back to exisiting posts and add a thumbnail as we have just described.
    Step 2:
    Open your theme template file containing the loop and add the following code to the location where you would like the post thumbnail images to appear:
    <?php $thumbnail = get_post_meta($post->ID, 'image', true); if ($thumbnail) { ?>
    <img src="<?php echo $thumbnail; ?>" alt="" width="100" height="100" />
    <?php } ?>
    That’s it! Don’t forget to edit the width and height attributes of the <img> element to account for the proper image size.
    Source: Perishable Press
    Highlight Author Comments ?
    Make your author comments look fabulous darling! Newer versions of WordPress come equipped with a specific “author” class that may be targeted with the CSS of your choice. For older versions of WordPress, however, you will need to add the custom class attribute with a little PHP magic.
    First, open your theme’s comments.php template and add the following code snippet in the (X)HTML element that contains the comment information:
    <div<?php if ($comment->comment_author_email == "email@domain.tld") echo ' class="author"'; ?> id="comment-<?php comment_ID(); ?>">
    .
    .
    .
    </div>
    After changing the email address to that of your own (i.e., the one used for your WP Admin user profile), style it up with a little CSS:
    .author {
        background: red !important;
        color: yellow   !important;
        }
    You probably don’t want your author comments to appear with yellow text on a red background, but you get the idea. Anything is possible.
    For blogs with multiple authors, you can style each of their comments differently as well by using something like this:
    <div<?php if ($comment->comment_author_email == "email-01@domain.tld") echo ' class="author-01"'; elseif ($comment->comment_author_email == "email-02@domain.tld") echo ' class="author-02"'; elseif ($comment->comment_author_email == "email-03@domain.tld") echo ' class="author-03"'; ?> id="comment-<?php comment_ID(); ?>">
    .
    .
    .
    </div>
    Replace each of the email addresses with those of the various authors. Style to taste.
    Credit: Nyssa Brown (404 link removed)
    Easy Random Posts ?
    Newer versions of WordPress enable easy randomizing of posts by using the (relatively) new “orderby=rand” parameter in any query_posts loop:
    <?php query_posts('orderby=rand"); ?>
    But for older versions of WordPress, this randomizing functionality must be added manually. Here is a quick and painless plugin that will enable you to randomize post queries in older versions:
    <?php
    /*
    Plugin Name: Random Posts Query
    */
    function query_random_posts($query) {
        return query_posts($query . '&random=true');
    }
    class RandomPosts {
        function orderby($orderby) {
            if (get_query_var('random') == 'true')
                return "RAND()";
            else
                return $orderby;
        }
        function register_query_var($vars) {
            $vars[] = 'random';
            return $vars;
        }
    }
    add_filter( 'posts_orderby', array('RandomPosts', 'orderby') );
    add_filter( 'query_vars', array('RandomPosts', 'register_query_var') );
    ?>
    Once activated, invoke the randomness by adding the “random=true” parameter in your query_posts loop:
    <?php query_posts('cat=11&showposts=11&random=true'); ?>
    Here, we are specifying “cat=11” for the category and “showposts=11” for the number of posts to display. There are many other parameters available as well, so knock yourself out.
    Credit: rembem
    Display Dates for Groups of Posts ?
    In order to display the date that a post was published, you have two options:
        <?php the_time(); ?> - displays the date for each and every post
        <?php the_date(); ?> - displays the date only once for each group of posts published on a certain day
    So, if you want to list the post date next to each post, use the the_time(). If, on the other hand, you have multiple posts on any given day, use the_date() to list the post date only once for each days’ posts. Something like this:
    // the_time();
        Jan 01, 2009 - Post #1
        Jan 01, 2009 - Post #2
        Jan 01, 2009 - Post #3
        Jan 02, 2009 - Post #4
        Jan 02, 2009 - Post #5
        Jan 02, 2009 - Post #6
        Jan 03, 2009 - Post #7
        Jan 03, 2009 - Post #8
        Jan 03, 2009 - Post #9
    // the_date();
        Jan 01, 2009
            Post #1
            Post #2
            Post #3
        Jan 02, 2009
            Post #4
            Post #5
            Post #6
        Jan 03, 2009
            Post #7
            Post #8
            Post #9
    See the difference? Good, because I’m not going to explain the concept any further. Instead, I will move on by showing you how to use either template tag in your loop. This really doesn’t need explaining either, but for the sake of completeness, here it is. First, the_time() tag:
    <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
        <h1><?php the_title(); ?></h1>
        <p><?php the_time(); ?><p>
        <?php the_content(); ?>
    <?php endwhile; ?>
    <?php else : ?>
    <?php endif; ?>
    This loop will output the post title, date, and content for every post. Alternately, here is how to use the_date tag:
    <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
        <?php the_date('','<p>','</p><hr />'); ?>
        <h1><?php the_title(); ?></h1>
        <?php the_content(); ?>

    <?php endwhile; ?>
    <?php else : ?>
    <?php endif; ?>
    This loop will output the post title and content for every post, and also output the date for each group of posts published on any given day, as explained above. Notice we are adding the paragraph elements for the post date based on whether or not the date is actually output. If it is, then the date will be wrapped in <p> elements; if it’s not, no <p> elements will be output, thereby preventing repetitive sets of empty paragraph elements. Make sense? Good. Here are the available parameters for the nifty the_date() template tag:
    <?php the_date('date format', 'before the date', 'after the date'); ?>
    Display a Sticky Post in the Sidebar ?
    Here is a juicy little nugget that displays a “sticky” post in the sidebar of your theme:
    <?php
    // initialize new query of one post from category 11
    $my_query = new WP_Query('cat=11&showposts=1');
    // loop through the database to find related information
    while ($my_query->have_posts()) : $my_query->the_post();
    // set expiration time of two days
    $goAwayDate = time() - (60 * 60 * 24 * 2);
    // get date of sticky post
    $postDate = get_the_time('U');
    // if post is too old, do nothing
    if ($postDate < $goAwayDate) {
    // else show the post
    } else { ?>
        <h1><?php the_title(); ?></h1>
        <?php the_excerpt(); ?>
    <?php } endwhile; ?>
    This method employs a second loop to display the sticky post, so it may be placed just about anywhere in your theme’s template files. You can also change the number of days that the post will remain sticky by editing the expiration variable with a number other than "2". For example, to set a duration period of seven days, you would use this:
    $goAwayDate = time() - (60 * 60 * 24 * 7);
    Credit: The Closet Entrepreneur
    Display Latest Comments without a Plugin ?
    Good rule of thumb when working with WordPress: don’t use a plugin if you can acheive the same functionality without one. Case in point: displaying latest comments on your blog. Sure, you could always install a plugin to do it for you, but you really don’t need to. In fact, it’s actually easier to display recent comments without a plugin. SImply add the following code to the desired location within your theme’s template files:
    <?php global $wpdb;
    $sql = "SELECT DISTINCT ID, post_title, post_password, comment_ID,
    comment_post_ID, comment_author, comment_date_gmt, comment_approved,
    comment_type,comment_author_url,
    SUBSTRING(comment_content,1,50) // NUMBER OF CHARACTERS
    AS com_excerpt FROM $wpdb->comments
    LEFT OUTER JOIN $wpdb->posts
    ON ($wpdb->comments.comment_post_ID = $wpdb->posts.ID)
    WHERE comment_approved = '1'
    AND comment_type = ''
    AND post_password = ''
    ORDER BY comment_date_gmt
    DESC LIMIT 5"; // NUMBER OF COMMENTS
    $comments = $wpdb->get_results($sql);
    $output   = $pre_HTML;
    $output  .= "\\n<ul>";
    foreach ($comments as $comment) {
        $output .= "\\n<li>"."<a href=\\"" . get_permalink($comment->ID) .
        "#comment-" . $comment->comment_ID . "\\" title=\\"on " .
        $comment->post_title . "\\">" .strip_tags($comment->comment_author)
        .":<br/><div>" . strip_tags($comment->com_excerpt)
        ."</div></a></li>";
    }
    $output .= "\\n</ul>";
    $output .= $post_HTML;
    echo $output;
    ?>
    This code will display the 5 most recent comments in the following (X)HTML output format:
    <ul>
        <li>
            <a href="http://domain.tld/post#comment-01" title="on Post Title">Comment Author:<br />
            <div>This is the first 50 characters of the first most recent comment</div></a>
        </li>
        <li>
            <a href="http://domain.tld/post#comment-01" title="on Post Title">Comment Author:<br />
            <div>This is the first 50 characters of the first most recent comment</div></a>
        </li>
        <li>
            <a href="http://domain.tld/post#comment-01" title="on Post Title">Comment Author:<br />
            <div>This is the first 50 characters of the first most recent comment</div></a>
        </li>
        <li>
            <a href="http://domain.tld/post#comment-01" title="on Post Title">Comment Author:<br />
            <div>This is the first 50 characters of the first most recent comment</div></a>
        </li>
        <li>
            <a href="http://domain.tld/post#comment-01" title="on Post Title">Comment Author:<br />
            <div>This is the first 50 characters of the first most recent comment</div></a>
        </li>
    </ul>
    By editing the commented lines in the PHP script, you may specify alternate number of comments and characters.
    Source: StylizedWeb
    Display Most Commented Posts without a Plugin ?
    Here is another trick that will enable you avoid yet another needless plugin. This code results in the display of your most-commented posts in list format:
    <ul>
    <?php
    $result = $wpdb->get_results("SELECT comment_count, ID, post_title FROM $wpdb->posts ORDER BY comment_count DESC LIMIT 0 , 10"); // NUMBER OF POSTS
    foreach ($result as $topten) {
        $postid = $topten->ID;
        $title = $topten->post_title;
        $commentcount = $topten->comment_count;
        if ($commentcount != 0) {
    ?>
    <li><a href="<?php echo get_permalink($postid); ?>"><?php echo $title ?></a></li>
    <?php } } ?>
    </ul>
    This code may be modified to display any number of posts by changing the LIMIT from “10” to whatever you wish. You may also change the display order from DESC (descending order) to ASC (ascending order).
    Once in place, this code will display a list of the 10 most-commented posts in the following (X)HTML output format:
    <ul>
    <li><a href="http://domain.tld/post-01/">Post Title 01</a></li>
    <li><a href="http://domain.tld/post-02/">Post Title 02</a></li>
    <li><a href="http://domain.tld/post-03/">Post Title 03</a></li>
    .
    .
    .
    </ul>
    Source: StylizedWeb
    Change Permalinks from Date-Based to Post-Date Only ?
    Here is an HTAccess method for switching your permalinks from the lengthy date-based format (i.e., http://domain.tld/2009/03/03/post-name/) to the concise post-name format (i.e., http://domain.tld/post-name/).
    To do so, first login to the WordPress Admin and switch your permalink structure from this:
    /%year%/%monthnum%/%day%/%postname%/
    ..to this:
    /%postname%/
    This change will ensure that all future posts are located at the new post-name-only URL, but we still need to redirect all requests for existing posts via the old date-based URL format. This is easily accomplished with a single directive in your site’s root HTAccess file:
    RedirectMatch 301 /([0-9]+)/([0-9]+)/([0-9]+)/(.*)$ http://domain.tld/$4
    And that’s all there is to it! Remember to test vigorously to convince yourself that everything is working properly.
    Source: Perishable Press
    Test for Sub-Pages ?
    Until WordPress includes an is_subpage() function, here is a manual method of testing for sub-pages:
    <?php global $post;
    if ( is_page() && $post->post_parent ) {
        // subpage content goes here
    } else {
        // non-subpage content goes here
    } ?>
    Further, here are some other ways to use this method to test for different combinations of pages and sub-pages:
    <?php if (is_page('about') || $post->post_parent == '1') {
        $banner = 'business.png';
    } elseif (is_page('archives') || $post->post_parent == '2') {    
        $banner = 'pleasure.png';
    } elseif (is_page('contact') || $post->post_parent == '3') {
        $banner = 'personal.png';
    } else {
        $banner = 'default.png';
    } ?>
    Note that the numbers “1”, “2”, and “3” represent the IDs of the target parent pages.
    Multiple Widgetizable Sidebars ?
    Instead of using multiple “if” statements to include multiple widgetizable areas, WPEngineer shows us how to do it a better way:
    <?php // multiple widgetizable sidebars
    if (function_exists('register_sidebar')) {
        $sidebars = array('Home Sidebar', 'Post Sidebar', 'Page Sidebar');
        foreach($sidebars as $name) {
            register_sidebar(array('name'=> $name,
                'before_widget' => '<div id="%1$s" class="widget %2$s">',
                'after_widget' => '</div>',
                'before_title' => '<h3 class="widgetTitle">',
                'after_title' => '</h3>',
            ));
        }
    }
    ?>
    Source: wpengineer
    Remove Fancy Quotes from Comments ?
    Prevent invalid markup and sloppy code by disabling WordPress’ automatic generation of “fancy” or “curly” quotes where they fail the most: your comments area.
    Only one simple line of code is required, placed into your theme’s functions.php file:
    remove_filter(‘comment_text’, ‘wptexturize’);
    Source: WPRecipes.com
    Display a List of All Untagged Posts ?
    Here is an easy way to display a list of all untagged posts. All that’s required is a custom loop and a quick check of the get_the_tags variable. Here is the code to make it work:
    <?php query_posts('orderby=title&order=asc&showposts=-1'); ?>
    <?php if (have_posts()) : ?>
        <ul>
        <?php while (have_posts()) : the_post(); ?>
        <?php $tag = get_the_tags(); if (!$tag) { ?>
            <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
            <?php edit_post_link('Edit', ' ',''); ?></li>
        <?php } ?>
        <?php endwhile; ?>
        </ul>
    <?php endif; ?>
    Place that snippet into the theme file of your choice and navigate to that page in a browser to see a permlink-linked list of all posts that have not yet been tagged. Even better, next to each post title will be a an easy-access “Edit” link that will make it easy to quickly edit each of your untagged posts and add some tags, if necessary. Nothing on this planet could be easier. Almost.
    Easy Display of Custom Headers, Footers, and Sidebars ?
    WordPress 2.7 includes new functionality that makes it super-easy to include custom headers, footers, and sidebars into your theme. Normally, you include the default files with the following tags:
    <?php get_header(); ?>
    <?php get_sidebar(); ?>
    <?php get_footer(); ?>
    These will include the files named “header.php”, “sidebar.php”, and “footer.php”, respectively.
    Now, to include alternate versions of these files, simply include the name of the file as a parameter in its associated tag. Here is an example that should illustrate the idea:
    <?php get_header('custom-header'); ?>
    <?php get_sidebar('custom-sidebar'); ?>
    <?php get_footer('custom-footer'); ?>
    These will include the files named “custom-header.php”, “custom-sidebar.php”, and “custom-footer.php”, respectively.
    We can now use this new functionality to get fine-grained with includes. For example, if we wanted to display a custom footer for the “Bananaz” category, we could use the following code:
    <?php if is_category('Bananaz') {
        get_footer('Bananaz');
    } else {
        get_footer();
    } ?>
    Source: WordPress Codex
    A Better Way for Users to Logout ?
    The old way of displaying a “Logout” link for your users looks like this:
    <a href="<?php echo get_option('siteurl'); ?>/wp-login.php?action=logout">Logout</a>
    Now, since WordPress 2.7, we can simplify this hodgepodge with a sleeker, cleaner, built-in template tag:
    <a href="<?php echo wp_logout_url(); ?>">Logout</a>
    Sweetness.
    Display a Custom Message on a Specific Date ?
    Using a snippet of PHP, we can display a custom message (or any code, markup, or content) on a specific date:
    <?php
    if ((date('m') == 4) && (date('d') == 9)) { ?>
        <p>Today is <a href="http://naked.dustindiaz.com/">CSS Naked Day</a>!</p>
    <?php } ?>
    You could even use this technique to join in on CSS Naked Day by removing your stylesheet on that day. Simply wrap your CSS <link> as follows:
    <?php // strip for CSS Naked Day
    if ((date('m') !== 4) && (date('d') !== 9)) { ?>
    <link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); ?>" type="text/css" media="screen" />
    <?php } ?>
    The possibilities are endless!
    Display Three Columns of Posts ?
    Displaying content in multiple columns is a much sought-after WordPress technique. There are some good tutorials around explaining various ways of doing the job, but this one is perhaps the easiest.
    To display your posts in three columns, begin by segmenting your post with some HTML comments:
    Lorem ipsum blah blah. This content appears before the three columns.
    <!--column-->
    This content will appear in the first column.
    <!--column-->
    This content will appear in the second column.
    <!--column-->
    This content will appear in the third column.
    The next step is to create columns based on the markup comments. Open your theme file and include the following code within the loop:
    <?php // multiple columns
    $page_columns = explode("<--column-->", $post->post_content);
    echo $page_columns[0]; // before columns
    echo '<div class="first column">'.$page_columns[1].'</div>'; // first column
    echo '<div class="second column">'.$page_columns[2].'</div>'; // second column
    echo '<div class="third column">'.$page_columns[3].'</div>'; // third column
    ?>
    That’s essentially all there is to it. To get the columns to actually look like columns, add something similar to the following in your CSS file:
    /* column structure */
    .column {
        margin-right: 10px;
        float: left;
        width: 33%;
        }
    /* column styles */
    column.first, column.second, column.third {}
    The cool thing about this method is that you have full control over the layout of each particular post. Each column may contain as much or as little content as desired, and adding or removing columns is straightforward. Even better is that you can easily remove the column functionality and display your content in a single column by simply removing the custom code from the loop. The post markup consists of HTML comments, so they will be ignored if not acted upon from within the loop.
    Source: Enhanced version of krimsly’s technique (via the WP Codex)
    Disable WordPress Search Functionality ?
    Disabling the WordPress search functionality is as simple as adding the following code to your functions.php file:
    function fb_filter_query($query, $error = true) {

        if (is_search()) {
            $query->is_search = false;
            $query->query_vars[s] = false;
            $query->query[s] = false;

            // to error
            if ($error == true)
                $query->is_404 = true;
        }
    }
    if (!is_admin()) {
        add_action('parse_query', 'fb_filter_query');
        add_filter('get_search_form', create_function('$a', "return null;"));
    }
    In place, this code will disable the search form for your theme while leaving search functionality intact for the Admin area. As is, the $error variable is set to TRUE, which causes the function to display the theme’s error page. Setting this variable to FALSE will prevent the error message and keep the user on the same page.
    Source: WPengineer
    Display Posts with Specific Custom Fields ?
    Displaying posts that are associated with a certain custom field is as easy as adding an “if” condition to your loop. Here is an example that checks for the presence of a custom field called “name-of-custom-field”. If such a custom field is associated with the post, the entire post is displayed; otherwise, only the excerpt is displayed.
    <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
    <?php $custom_field = get_post_custom_values("name-of-custom-field"); ?>
        <?php if (isset($custom_field[0])) { ?>
            <h1><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h1>
            <?php the_content(); ?>
        <?php } else { ?>
            <h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
            <?php the_excerpt(); ?>
        <?php } ?>
    <?php endwhile; endif; ?>
    To get more specific and display only posts associated with a custom-field that is set to a certain value, we simply add an additional parameter to the “if” condition:
    <?php if ((isset($custom_field[0])) && ($custom_field[0] == "name-of-value")) { ?>
    Using that line of code, we modify our previous loop as follows:
    <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
    <?php $custom_field = get_post_custom_values("name-of-custom-field"); ?>
        <?php if ((isset($custom_field[0])) && ($custom_field[0] == "name-of-value")) { ?>
            <h1><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h1>
            <?php the_content(); ?>
        <?php } else { ?>
            <h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
            <?php the_excerpt(); ?>
        <?php } ?>
    <?php endwhile; endif; ?>
    With this code, any post with a custom-field of “name-of-custom-field” that has a specific value of “name-of-value” will be displayed in its entirety. All other posts will be displayed as an excerpt.
    Source: Perishable Press
    How to Number Your Comments, Pingbacks, and Trackbacks in 2.7+ ?
    Numbering comments, pingbacks, and trackbacks in WordPress versions 2.7 and greater requires two steps. First, you need to add a couple of parameters to your comments_template tag, which is used to display your comments template and normally located in your single.php file. Edit this tag so that it looks like this:
    <?php comments_template('/comments.php',true); ?>
    Once this is in place, you can display the number of your comments, pingbacks, trackbacks, and both using the following tags:
    echo count($wp_query->comments_by_type['comment']); // display comment count
    echo count($wp_query->comments_by_type['pingback']); // display pingback count
    echo count($wp_query->comments_by_type['trackback']); // display trackback count
    echo count($wp_query->comments_by_type['pings']); // display pingback and trackback count
    comments_number('No Responses', 'One Response', '% Responses' ); // display total response count
    These tags can be placed anywhere in your comments loop. For more information on how to implement this, check out our in-depth article at Digging into WordPress.
    How to Number Your Comments Using the Classic Loop ?
    Before, WordPress added the new comments API in version 2.7, the “classic” comment-loop mechanism was used. This loop still works in any version of WordPress, and is useful for extreme formatting of the comment display area. Numbering your comments in the classic loop is as easy as it is in the new-fangled loop. Here’s how:
    In your comments.php file, add a counter variable ( <?php $i = 0; ?> ) just above the loop’s foreach statement, like so:
    <?php $i = 0; ?>
    <?php foreach ($comments as $comment) : ?>
    Then, to increment the counter variable with each iteration of the loop, we add another snippet just below the foreach line, like so:
    <?php $i = 0; ?>
    <?php foreach ($comments as $comment) : ?>
    <?php $i++; ?>
    Everything is now set. To display the number of comments, simply echo the value of the counter variable anywhere within your comment loop. Here is an example:
    There are comments so far!
    Source: Digging into WordPress
    Invite Readers to Comment via Feed ?
    Nice little snippet showing how to invite your readers to leave a comment by clicking on a link within your feed. Just add the following code to your theme’s functions.php file:
    // comment invite feed link
    function rss_comment_footer($content) {
        if (is_feed()) {
            if (comments_open()) {
                $content .= 'Comments are open! <a href="'.get_permalink().'">Add yours!</a>';
            }
        }
        return $content;
    }
    In place, this function will output a link that says, “Comments are open! Add yours!” This message will be displayed at the end of each post for which comments are open. If comments are closed, no invite message is displayed.
    Source: Hendry Lee
    Display the Total Number of Users for Your Blog ?
    Here is a tasty little snippet from WPRecipes that will enable you to display the total number of users for your WordPress-powered blog. All you need to do is place the following code in your theme file(s) where you would like to display your total number of users:
    $users = $wpdb->get_var("SELECT COUNT(ID) FROM $wpdb->users");
    echo $users." registered users.";
    Source: WPRecipes.com
    Automatically Insert Content into Your WordPress Post Editor ?
    Here is a nice way to automatically insert some custom content into your post editor. This makes it easy to add repetitive content to your posts while retaining the ability to make changes before publishing. To try it out, add the following code to your functions.php file:
    <?php // auto-insert content to post editor
    function my_editor_content($content) {
        $content = "<h5>Thank you for your generous attention!</h5>.";
        return $content;
    }
    add_filter('default_content', 'my_editor_content');
    ?>
    This code will display a message thanking people for their generous attention, but you can easily edit the message to display whatever content (text/markup) that you wish. After configuring your message, open your WordPress text editor to see the automatically inserted content.
    Source: Justin Tadlock
    How to Prevent Duplicate Content ?
    Unless you’re using excerpts for non-single page views, your post content is being displayed in your single pages, date-based archives, category archive, tags archives, author archives, and so on. From an SEO perspective, this “duplicate” content may be detrimental to your search-engine rankings.
    To prevent duplicate content, we can conditionally display one of two <meta> tags depending on the type of page being displayed. Pages that we want to have indexed in the search engines will display a “meta-index” tag, while duplicate pages will display a “meta-noindex” tag.
    To do this, simply add the following code to the <head> section of your theme’s header.php file:
    <?php if ((is_home() && ($paged < 2 )) || is_single() || is_page() || is_category()) {
        echo '<meta name="robots" content="index,archive,follow" />';
    } else {
        echo '<meta name="robots" content="noindex,noarchive,follow" />';
    }
    Once in place, this code effectively stops search engines from indexing all types of pages except for single-post, page-page, category-archive, and the first two index pages. These are considered by many to be the most effective pages to have indexed, but feel free to add or remove anything you see fit to customize the technique.
    Source: Perishable Press
    Conditionally Display Full Posts or Excerpts ?
    By default, you can either display full-posts or excerpts when displaying your posts. This may be fine for common blogging purposes, but specialized blogs may find it beneficial to exercise control over which type of post format is displayed. Here’s how to conditionally display either full-post or excerpt based on the presence of a custom field named “full-post-display”.
    To implement this technique, setup the following loop in your theme file(s):
    <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
    <?php $customdisplay = get_post_custom_values("full-post-display"); ?>
        <?php if (isset($customdisplay[0])) { ?>
                  
            <h1><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h1>
            <?php the_content(); ?>
        <?php } else { ?>
            <h1><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h1>
            <?php the_excerpt(); ?>
        <?php } ?>
    <?php endwhile; endif; ?>
    Then, for any post that you would like to display with full-post formatting, simply add a custom-field of “full-post-display” and give it a value of “true”.
    Display Related Posts without a Plugin ?
    We don’t need no stinking plugins to display related posts! Here’s how to do the job using tags as the associative criteria.
    Place the following code in your loop and take a nap or something:
    <?php // related posts based on first tag of current post
    $tags = wp_get_post_tags($post->ID);
    if ($tags) {
        echo '<h3>Related Posts</h3>';
        $first_tag = $tags[0]->term_id;
        $args = array(
                'tag__in' => array($first_tag),
                'post__not_in' => array($post->ID),
                'showposts' => 7, // how many posts?
                'caller_get_posts' => 1
                );
        $my_query = new WP_Query($args);
          if ($my_query->have_posts()) { ?>
            <ul>
            <?php while ($my_query->have_posts()) : $my_query->the_post(); ?>
                <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
            <?php endwhile; ?>
            </ul>
        <?php } ?>
    <?php } ?>
    Customize as needed. To change the number of posts, edit the line that says, “how many posts?”
    Source: Enhanced version of the code provided by MichaelH (via WP Codex)
    Drop-Dead Easy Styles for Author Comments ?
    This is almost too easy. To make your Author comments stand out from the crowd in WordPress 2.7 or better, use this code to apply some custom CSS stylez:
    li.bypostauthor {
        background: red;
        color: white;
        }
    li.byuser {
        background: white;
        color: black;
        }
    Display Upcoming Scheduled Posts ?
    Here’s an easy way to display a list of posts that are scheduled to be published at some point in the future. Create a page called “Upcoming Posts” (or whatever), and use this code for the loop:
    <?php query_posts('showposts=7&post_status=future'); ?>
    <?php if (have_posts()) : ?>
        <h3>Upcoming Scheduled Posts</h3>
        <ul>
        <?php while (have_posts()) : the_post(); ?>
            <li><?php the_title(); ?> — <?php the_time('l, F j, Y'); ?></li>
        <?php endwhile; ?>
        </ul>
    <?php else: ?>
        <p>Nothing new in queue!</p>
    <?php endif; ?>
    In place, this code will output a list of all posts that exist within the database that have a post_status of “future”. I.e., anything that you have setup in draft mode that is set to auto-publish at a certain point in the future.
    Display Automatic TinyURLs for Your Posts ?
    Make it super-easy for your visitors to share the URL of your posts with their favorite social-media service. Providing an alternate “short” version of your URLs is possible using the free TinyURL service and a couple snippets of code.
    To display short URLs at the end of your posts, place this code into your theme’s functions.php file:
    function getTinyUrl($url) {
        $tinyurl = file_get_contents("http://tinyurl.com/api-create.php?url=".$url);
        return $tinyurl;
    }
    Then, call the function and display the URL by placing this code into your single.php file in the desired location within the loop:
    <?php $turl = getTinyUrl(get_permalink($post->ID));
    echo 'TinyURL for this post: <a href="'.$turl.'">'.$turl.'</a>'; ?>
    That’s it! Your posts now feature super-short URLs for all of your tweet-hungry visitors. Tuper Tweet Tude!
    Source: Perishable Press
    Implement a Site-Maintenance Page for Your Blog ?
    Ever do maintenance on your site? Certainly, we all do. Here’s an easy way to display a “site-maintenance” page that will display whatever content you desire. The key here is setting up your HTAccess file to handle the redirect properly.
    First, you need to create your maintenance page. This can be as simple or as advanced as you would like. At minimum, you could include something like this into a file named “maintenance.html”:
    <h1>Site Maintenance</h1>
    <p>Please check back in 15 minutes</p>
    Then, add this bit of voodoo to your site’s root htaccess file:
    # SITE MAINTENANCE PAGE
    RewriteEngine on
    RewriteCond %{REQUEST_URI} !/maintenance.html$
    RewriteCond %{REMOTE_ADDR} !^111\\.222\\.333\\.444
    RewriteRule $/maintenance.html [R=302,L]
    Once that’s in place, replace the example IP address with that of your own. Upload to your site and check it out. What you will see is that you have full access to your site, but all other visitors will see the maintenance page.
    Once maintenance is complete, simply comment out the code in your htaccess file to allow visitors back into the site.
    Source: Catswhocode
    Display the First Image from Each of Your Posts ?
    If your posts include an image that you would like to display as a thumbnail elsewhere on your blog, here is an easy way to do it with no custom fields required. Place the following code into your theme’s functions.php file:
    function catch_that_image() {
        global $post, $posts;
        $first_img = '';
        ob_start();
        ob_end_clean();
        $output = preg_match_all('/<img.+src=[\\'"]([^\\'"]+)[\\'"].*>/i', $post->post_content, $matches);
        $first_img = $matches [1] [0];
        if(empty($first_img)){
            $first_img = "/images/default.jpg"; // default image
        }  
        return $first_img;
    }
    Then, to call the function and display the images as thumbnails, place the following code into the desired location within your loop:
    <?php echo catch_that_image(); ?>
    That’s all there is to it. If you would like to display a default image for posts that may not have one, specify its path in the code (on the line that says “default image).
    Source: WPRecipes
    Display Most Popular Posts without a Plugin ?
    Simple but effective method of displaying your blog’s most popular posts based on comment count. This code snippet may be placed anywhere within your theme’s files (i.e., no loop required). Check it out:
    <h3>Popular Posts</h3>
    <ul>
    <?php $result = $wpdb->get_results("
        SELECT comment_count, ID, post_title
        FROM $wpdb->posts ORDER BY comment_count DESC LIMIT 0 , 7
        ");
    foreach ($result as $post) {
        setup_postdata($post);
        $postid = $post->ID;
        $title = $post->post_title;
        $commentcount = $post->comment_count;
        if ($commentcount != 0) { ?>
        <li><a href="<?php echo get_permalink($postid); ?>">
        <?php echo $title; ?></a> [<?php echo $commentcount ?>]</li>
        <?php } ?>
    <?php } ?>
    </ul>
    Once in place, this code will display the seven most popular posts along with their associated comment count in unordered list format. Customize according to your needs.
    Source: ProBlogDesign (404 link removed 2013/09/15)
    Automatically Highlight Search Terms ?
    Make things easy for people who are searching your site by applying some custom styling to the search terms that are displayed in the search results. A common way to display search terms is with a yellow background so that users can easily identify locations of the text that may apply to their query. It’s all about about usability, and improving the way search results are displayed on your site. Here’s how to do it:
    First, replace the the_title() tag in your search.php file with the following:
    <?php // highlight search terms in title
        $title = get_the_title();
        $keys  = explode(" ", $s);
        $title = preg_replace('/('.implode('|',$keys).')/iu','<span class="search-terms">\\0</span>',$title);
        echo $title;
    ?>
    This will setup styling for search terms located in the title of each result. Then, for the content, replace the the_excerpt() tag in your search.php file with the following:
    <?php // highlight search terms in content
        $excerpt = get_the_excerpt();
        $keys  = explode(" ", $s);
        $excerpt = preg_replace('/('.implode('|',$keys).')/iu','<span class="search-terms">\\0</span>',$excerpt);
        echo $excerpt;
    ?>
    Finally, open your theme’s CSS file and add some custom styles for the search terms. A great way to highlight each term is to display it in bold text with yellow highlighting. Something like this:
    span.search-terms {
        background: yellow;
        font-weight: bold;
        }
    That’s all there is to it! Go run a few searches to see it in action.
    Source: Enhanced version of code provided by Yoast.com
    Automatically Disable Widgets ?
    Quick tip to disable all widget functionality from your theme. Add the following to your functions.php file and call it done:
    <?php // disable all widgets
    function disable_all_widgets($sidebars_widgets) {
        $sidebars_widgets = array(false);
        return $sidebars_widgets;
    }
    add_filter('sidebars_widgets', 'disable_all_widgets');
    ?>
    Source: Justin Tadlock
    Display All Images from Your Post Content ?
    Want to display all of the images from each of your posts somewhere on your blog? Easy. Check out this code snippet from Matt Varone:
    <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
    <?php
    $szPostContent = $post->post_content;
    $szSearchPattern = '~<img [^\\>]*\\ />~';
    // Run preg_match_all to grab all the images and save the results in $aPics
    preg_match_all($szSearchPattern, $szPostContent, $aPics);
    // Check to see if we have at least 1 image
    $iNumberOfPics = count($aPics[0]);
    if ($iNumberOfPics > 0) {
        // now here you would do whatever you need to do with the images
        // for this example the images are just displayed
        for ( $i=0; $i < $iNumberOfPics ; $i++ ) {
            echo $aPics[0][$i];
        };
    };
    endwhile;
    endif;
    ?>
    Just customize the output in the second part of the code (see code comments) and paste the function wherever you would like to display the images. Sweetness.
    Source: Matt Varone
    Display Category List in Two Columns ?
    Tired of that boring, single-column category display? Spice things up with a spiffy two-column category list that will get your visitors’ hearts pumping. Let’s deface a WordPress tag, shall we?
    See this bad boy:
    <?php wp_list_categories(); ?>
    We’re going to blow it up, divide its contents into two pieces, and spit it all back out as two unordered lists. Impossible, you say? Nah, just a little PHP to make it all go.
    Wherever you would like to display your categories in two columns, throw down the following code snippet:
    <?php // display categories in columns
    $cats = explode("<br />",wp_list_categories('title_li=&echo=0&depth=1&style=none'));
    $cat_n = count($cats) - 1;
    for ($i=0;$i<$cat_n;$i++) :
        if ($i<$cat_n/2) :
            $cat_left = $cat_left.'<li>'.$cats[$i].'</li>';
        elseif ($i>=$cat_n/2):
            $cat_right = $cat_right.'<li>'.$cats[$i].'</li>';
        endif;
    endfor; ?>
    <ul class="left">
        <?php echo $cat_left;?>
    </ul>
    <ul class="right">
        <?php echo $cat_right;?>
    </ul>
    Completely awesome. Now let’s add some style to make the columns work:
    .right {
        float: left;
        width: 140px;
        }
    .left {
        float: left;
        width: 140px;
        }
    You are all set. You should probably fine-tune this business until it’s all good. You know.
    Source: Blog Oh Blog (404 link removed 2013/06/24)
    Show Ads or Other Content Only in the First Three Posts ?
    Advertising may require you to limit the number of advertisements on your page to three. For some, this is three too many. For others, it’s far too few. Still others feel that it’s just the right amount.
    Regardless of your feelings, here is a trick that will enable you to limit the number of posts that displays some specific content - ads, images, scripts, whatever you want. Check out the three indented lines in the following loop:
    <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
        <?php if ($wp_query->current_post < 3) { ?>
        <!-- any content here will be displayed only in first three posts -->
        <?php } ?>
    <?php endwhile; else: ?>
    <?php endif; ?>
    See what’s happening here. We’ve got a loop, see. In this loop, we specify a condition that says, “if this is one of the first three posts, display this content.” And that’s the magic. Of course, you can use whatever content you would like, and there is nothing special about the number “3” either.
    Source: Blog Oh Blog (404 link removed 2013/06/24)
    A Better Way to Display Recent Comments without a Plugin ?
    Here is a better way to display your recent comments without a plugin. Instead of slapping a bunch of gnarly code into our index.php or sidebar.php file, we are going to slap it right where it belongs: in your theme’s functions.php file.
    Here is the code, all exploded for your viewing and analytical pleasure (well, for mine anyway). For a more minified version of this snippet, be sure to check out the source link.
    <?php // display recent comments without a plugin
    function recent_comments($src_count=10, $src_length=60, $pre_HTML='<ul>', $post_HTML='</ul>') {
    global $wpdb;
    $sql = "
        SELECT DISTINCT
            ID,
            post_title,
            post_password,
            comment_ID,
            comment_post_ID,
            comment_author,
            comment_date_gmt,
            comment_approved,
            comment_type,
        SUBSTRING(
            comment_content, 1, $src_length
            )
        AS com_excerpt
        FROM $wpdb->comments
        LEFT OUTER JOIN $wpdb->posts
        ON (
            $wpdb->comments.comment_post_ID = $wpdb->posts.ID
            )
        WHERE comment_approved = '1'
        AND comment_type = ''
        AND post_password = ''
        ORDER BY comment_date_gmt
        DESC
        LIMIT $src_count
    ";
    $comments = $wpdb->get_results($sql);
    $output = $pre_HTML;
    foreach ($comments as $comment) {
        $output .= '<li><a href="'.get_permalink($comment->ID).'#comment-'.$comment->comment_ID.'" title="on '.$comment->post_title.'">'.strip_tags($comment->com_excerpt).'...</a></li>';
    }
    $output .= $post_HTML;
    echo $output;
    } ?>
    Ah, it’s a thing of beauty. Once you have that code in place, rock it out anywhere in your theme with this charming little tag:
    <?php recent_comments(); ?>
    see also: Display Latest Comments without a PluginSource: Blog Oh Blog (404 link removed 2013/06/24)
    Selectively Disable Automatic Post Formatting ?
    This trick is by far my favorite “stupid WordPress trick.” You know how WordPress likes to mangle HTML comments, empty elements, blockquotes, curly quotes, and other miscellaneous markup elements? Here is a tight little method that will enable you to selectively disable WordPress’ automatic post formatting.
    Do this: Place the following code into your theme’s functions.php file:
    // disable auto-formatting
    function my_formatter($content) {
        $new_content = '';
        $pattern_full = '{(\\[raw\\].*?\\[/raw\\])}is';
        $pattern_contents = '{\\[raw\\](.*?)\\[/raw\\]}is';
        $pieces = preg_split($pattern_full, $content, -1, PREG_SPLIT_DELIM_CAPTURE);
        foreach ($pieces as $piece) {
            if (preg_match($pattern_contents, $piece, $matches)) {
                $new_content .= $matches[1];
            } else {
                $new_content .= wptexturize(wpautop($piece));
            }
        }
        return $new_content;
    }
    remove_filter('the_content', 'wpautop');
    remove_filter('the_content', 'wptexturize');
    add_filter('the_content', 'my_formatter', 99);
    Then do this: Use the [raw] shortcode wherever you would like to disable auto-formatting in your post content. For example, if you wanted to prevent the following sentence from being formatted, you would write this:
    [raw]This text will not be automatically formatted.[/raw]
    Absolutely brilliant.
    Source: WPRecipes
    Browser Detection via WordPress’ body_class Function ?
    WordPress makes it possible to detect a handful of different browsers using a variety of built-in global variables. WordPress also provides a body_class tag that outputs a variety of class attributes depending on various page properties. Why not combine these two techniques so that the user’s detected browser is added to the list of output classes for the body tag? Here’s the code that will do it via functions.php:
    // browser detection via body_class
    function browser_body_class($classes) {
        global $is_lynx, $is_gecko, $is_IE, $is_opera, $is_NS4, $is_safari, $is_chrome, $is_iphone;
        if($is_lynx)       $classes[] = 'lynx';
        elseif($is_gecko)  $classes[] = 'gecko';
        elseif($is_opera)  $classes[] = 'opera';
        elseif($is_NS4)    $classes[] = 'ns4';
        elseif($is_safari) $classes[] = 'safari';
        elseif($is_chrome) $classes[] = 'chrome';
        elseif($is_IE)     $classes[] = 'ie';
        else               $classes[] = 'unknown';
        if($is_iphone) $classes[] = 'iphone';
        return $classes;
    }
    add_filter('body_class','browser_body_class');
    This code will output the detected browser along with the other body_class tags. Here is an example:
    <body class="home blog logged-in safari">
    Hooked.
    Sources: Nathan Rice
    Get Post or Page Contents as a PHP Variable ?
    Here is a quick snippet for placing all post or page content into a variable. We’re talking the entire page contents here, not just the content of the post. Place this code into your theme’s functions.php file:
    // post contents as variable
    function callback($buffer) {
        return $buffer;
        }
    function buffer_start() {
        ob_start("callback");
        }
    function buffer_end() {
        ob_end_flush();
        }
    add_action('wp_head', 'buffer_start');
    add_action('wp_footer', 'buffer_end');
    Once in place, this function will capture the entire page contents into a variable called “$buffer”. You may then do whatever you wish to this variable. Filter it, match it, slap it around a little and show it who’s boss. That sort of thing.
    Source: Dagon DesignSee also: Digging into WordPress
    Simple Example of How to Use WordPress Cron ?
    I have been meaning to get into WordPress’ wp-cron functionality, and this looks like a good way to get started with it. This code snippet uses wp-cron to schedule an automatic email that will be sent every hour.
    // send automatic scheduled email
    if (!wp_next_scheduled('my_task_hook')) {
        wp_schedule_event(time(), 'hourly', 'my_task_hook');
    }
    add_action('my_task_hook', 'my_task_function');
    function my_task_function() {
        wp_mail('you@yoursite.com', 'Automatic email', 'Hello, this is an automatically scheduled email from WordPress.');
    }
    Of course, this is meant only as an example. The key here is to schedule and event and then hook into it with some specific function.
    Source: slaven.net (404 link removed 2013/02/04)
    Add More Default Avatar Choices to the WordPress Admin ?
    Here is a quick and easy way to add more default avatars to the list of available gravatars in the Settings area of the WordPress Admin. Here is the functions.php code to make it happen:
    // add more default avatars to options
    if (!function_exists('fb_addgravatar')) {
        function fb_addgravatar($avatar_defaults) {
            $myavatar1 = get_bloginfo('template_directory').'/images/avatar-01.png';
            $avatar_defaults[$myavatar1] = 'dude';

            $myavatar2 = get_bloginfo('template_directory').'/images/avatar-02.png';
            $avatar_defaults[$myavatar2] = 'geek';

            $myavatar3 = get_bloginfo('template_directory').'/images/avatar-03.png';
            $avatar_defaults[$myavatar3] = 'cool';
            return $avatar_defaults;
        }
        add_filter('avatar_defaults', 'fb_addgravatar');
    }
    See the innermost indented lines of code? There we are specifying three additional default avatars. To use this code, you will need to edit these lines to match your image paths and the name for each avatar. Hopefully the process of editing, adding, or removing avatars is clear. If not, don’t hesistate to speak up in the comments and someone will help you out.
    Source: WPEngineer
    Add a Private Page to Your Navigation Menu ?
    By default, any pages that you classify as “Private” are not displayed in the menu generated by the wp_list_pages function. In general this is a good idea, but it might be helpful to include the link if the logged in user is able to read private pages. Fortunately, WordPress has a function that will enable us to do exactly that:
    <ul>
    <?php // add a private page to your navigation menu
    wp_list_pages('depth=1&title_li=0&sort_column=menu_order');
    if(current_user_can('read_private_pages')) : ?>
        <li><a href="<?php echo get_permalink(10); ?>">For Authors only</a></li>
    <?php endif; ?>
    </ul>
    Place this code where you would normally include the wp_list_pages tag and enjoy private-page links displayed in your navigation menus only for those users who are logged in and priviledged enough to see them. The private link will not be displayed for the “ordinary” folk.
    Make sure you replace the number “10” in the middle line to match the ID of the private page you would like to include.
    Source: WPEngineer
    How to Add Additional Links to wp_list_pages ?
    Here is a nice way to include additional links to the output of the wp_list_pages tag. All that’s needed is the following function in your functions.php file:
    // include additional links
    function add_bookmarks_to_menu($output) {
        $bookmarks = (array) get_bookmarks('hide_invisible=0&category_name=wp_list_pages');
        foreach ($bookmarks as $bookmark) {
            $output .= "<li><a href='{$bookmark->link_url}'  title='{$bookmark->link_name}'>{$bookmark->link_name}</a></li>\\n";        
        }
        return $output;
    }
    add_filter('wp_list_pages', 'add_bookmarks_to_menu');
    Here we are taking advantage of WordPress’ built-in Links/Bookmarks functionality to assign new links to the output of the wp_list_pages tag. Once this code is in place, login to your WordPress Admin and follow these steps for each link that you would like to add to the page list:
        In the Admin, go to Links > Add New
        Enter a name and URL for your link
        Add the link to a new category called “wp_list_pages”
        select “Keep this link private”
        Click “Add Link”
        Done.
    Using the “wp_list_pages” category for any/all of our extra links will enable us to include only links from that category. Further, selecting the “Keep this link private” option will prevent the links from being displayed elsewhere in your site (for example, in the Links/Blogroll/Bookmark sections).
    Source: sivel.net
    “I’ve got blisters on my fingers!”
    ..as the man once said.
    Instant karma
    inShare4
    Share with others
    About this post
        Author: Jeff Starr
        Archived: December 01, 2009
        Updated: Jun 8th, 2014
        Category: PHP, WordPress
        Tags: tips, tricks, tutorials
    Check the sidebar for related posts »
    Check it out
    The Tao of WordPress
    Comments
    « Previous 1 … 3 4 5
        Patrix January 5, 2010 at 8:54 pm    
        Awesome post.
        My theme lacks a functions.php file. When I created one and uploaded it, it was populated by some functions that I did not recognize. When I added one of the codes you mentioned above, I got an error saying, Headers Already Sent or something like that.
        Actu-Rock January 6, 2010 at 2:04 pm    
        Really useful! Thanks
        Lee Peterson January 11, 2010 at 5:13 pm    
        4 hours later….
        Finally reached the end. Thanks for the awesome roundup!!
        Maxence January 22, 2010 at 6:50 am    
        Best wordpress tricks page! Kind of link that everyone should Bookmark thanks you very much for sharing this, this is gonna save my life!
        Steve G. January 24, 2010 at 1:39 pm    
        This collection of WordPress Tricks is very useful. Thank you for sharing all this!
        shoaib hussain February 11, 2010 at 8:12 am    
        thnx a lot ,had 2 bookmark so that i could grab more fun later on
        Mark February 12, 2010 at 11:46 am    
        Very usefull article! Thanks!
    « Previous 1 … 3 4 5
    Comments are closed. Contact the author with questions or further information.
    « Getting Serious with a New Design
    The New Clearfix Method »
    RSS Feed Google+ Facebook LinkedIn Tumblr Twitter WordPress.org
    Create limitless wordpress design with only one themeWordPress Social Sharing Optimization (with SEO, Video, and eCommerce Integration)Canvas - a popular & hard-working WordPress themeWeb Hosting UK WordPress Hosting Advertise Here
    Related Posts
        Stupid Twitter Tricks
        WordPress Custom Fields, Part II: Tips and Tricks
        Display the Total Number of WordPress Posts, Comments, and Categories
        Stupid htaccess Tricks
        Stupid htaccess Tricks Redux
        Easily Adaptable WordPress Loop Templates
        Backwards-Compatible Spam and Delete Buttons for WordPress
    USP Pro The Tao of WordPress .htaccess made easy
    Popular Posts
        5G Blacklist 2013
        Blackhole for Bad Bots
        Stupid WordPress Tricks
        Stupid htaccess Tricks
        How to Block Tough Proxies
        Better Robots.txt for WordPress
        The Power of HTML5 and CSS3
    Premium WordPress Themes
    Recent Comments
        Graham: Your "Print Menu in a Theme File" is wrong: 'Main Menu', 'container_id' => 'cssmenu', 'walker' => new CSS_Menu_Walker() )); ?> Should read: 'Main...
        robert: how to change the size? now is full wide i want to make it smaller i tried by: #cssmenu { ...
        Bill Wynne: I am surely going to download it and give it a try. Some of my older blogs don't have menus...
        Isa: Very nice tutorial! But I think there is a little mistake in your code. I didn't download it. I used the...
        Selvam: Really handy CSS to add dropdown menu without plugin. Will it possible to add mega menu with Pure CSS?
        rajat gupta: very nice menus. i have downloaded the file. will use it and revert with feedback soon.
        Geoff Jackson: As for alternative recommendations for Dropbox, you may wish to check out Google Drive. Works in pretty much the same...
    Projects
        Monzilla Media
        Plugin Planet
        CSSresetr
        eChunks
        WP-Mix
        xyCSS
        Develop Secure WP Sites
    Books
        The Tao of WordPress
        Digging into WordPress
        .htaccess made easy
        WordPress Themes In Depth
    Links
        9rules Network
        DivineCSS
    Jeff Starr (aka Perishable) Jeff Starr (aka Perishable)
    About the site
    Perishable Press is the work of Jeff Starr, professional developer, designer, author, and publisher with over 10 years of experience. Check out some of Jeff's books and projects, follow on Twitter, or learn more »
    Fun fact: Perishable Press has been online since 2005, and now features over 700 articles and more than 11,000 comments. More stats »
        © 2005-2014 Perishable Press
        Sitemap
        Site Credits
        Web Design by Monzilla Media
    Latest Tweets USP Pro v1.8 now available! plugin-planet.com/usp-pro-vers… #wordpress    x
    <end node> 5P9i0s8y19Z
    dt=
    <node>Ten Things Every WordPress Plugin Developer Should Know
    2
    http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/
    Ten Things Every WordPress Plugin Developer Should Know
    <!DOCTYPE html>
    <html lang="en-US" prefix="og: http://ogp.me/ns#">
    <head>
        <title>Ten Things Every WordPress Plugin Developer Should Know | Smashing Magazine</title>
        <style type="text/css">article,body,div,figure,form,h1,h2,h3,h4,html,img,label,li,nav,p,span,strong,ul{font-size:100%;vertical-align:baseline;margin:0;padding:0;outline:0;border:0;background:0 0}html{overflow-y:scroll;overflow-x:hidden}body{overflow:hidden;line-height:1.46em;max-width:2000px;color:#333;background-image:url(http://www.smashingmagazine.com/wp-content/themes/smashing-magazine/images/smbg.png)}a{font-size:100%;text-decoration:none;vertical-align:baseline;margin:0;padding:0;background:0 0;color:#41b7d8}a:active{color:#fff;background-color:#e53b2c}.pap a,br+em a,figcaption a,li a,p a{border-bottom:.07em solid rgba(0,0,0,.1);padding-bottom:.07em}.pmd a,nav a{padding-bottom:0;border:0}img{max-width:100%;height:auto;border:0}.clearfix:after,.clearfix:before{content:"\\0020";height:0;visibility:hidden}svg:not(:root){overflow:hidden}ul{list-style:none}ol{list-style:decimal}article ul{list-style:disc}article li ol,article li ul{margin:0 1.5em}article ol,article ul{margin:.5em 1.5em}article li{padding:.25em 0}input{vertical-align:middle}button,input[type=submit],label{cursor:pointer}button,input{margin:0}button{font-size:1em;vertical-align:top;overflow:visible;outline:0;padding:.75em 2em;border:.07em solid #c73a11;color:#fff;background:-webkit-gradient(linear,left top,left bottom,from(#e85c33),to(#e53a2b));background:-webkit-linear-gradient(top,#e85c33 0,#e53a2b 100%);background:linear-gradient(to bottom,#e85c33 0,#e53a2b 100%);border-radius:.5em;-webkit-transition:border-color .3s;transition:border-color .3s}input[type=text]:placeholder{color:#999}input[type=text]{font-size:1em;line-height:1.5em;margin-bottom:1em;outline:0;padding:.5em;color:#777;border:.07em solid rgba(0,0,0,.1);background-color:#fff;border-radius:.5em 0 0 .5em;-webkit-transition:all .3s;transition:all .3s}@-ms-viewport{width:device-width}canvas{-ms-touch-action:double-tap-zoom}body,button,input,label{font-family:"Proxima Nova Regular","Segoe UI",Roboto,"Droid Sans","Helvetica Neue",Arial,sans-serif;font-style:normal;font-weight:400}.cahe,.cat h3,.category .cat h2,h4,strong{font-family:'Proxima Nova Bold',"Segoe UI",Roboto,"Droid Sans","Helvetica Neue",Arial,sans-serif;font-style:normal;font-weight:700}.ed+p,.pmd .a,.pmd+p{font-family:"Skolar Regular","Roboto Slab","Droid Serif",Cambria,Georgia,"Times New Roman",Times,serif;font-weight:400;font-style:normal}.ed+p em,.pmd+p em{font-family:'Skolar Italic',"Roboto Slab","Droid Serif",Cambria,Georgia,"Times New Roman",Times,serif;font-weight:400;font-style:italic}.ed+p strong,.pmd+p strong{font-family:'Skolar Bold',"Roboto Slab","Droid Serif",Cambria,Georgia,"Times New Roman",Times,serif;font-weight:700;font-style:normal}h2,h3{font-family:"Skolar Bold","Segoe UI Bold","Roboto Slab","Droid Serif",AvenirNext-Bold,"Avenir Bold",Georgia,"Times New Roman",Times,serif;font-weight:700;font-style:normal}.ch,.mise,.nw,.po,.sb,.short,.sn{display:none}.ad .declare,.cahe,.clearfix:after,.clearfix:before,.long,.mini a,.pmd li,article,figure,label,nav{display:block}.cat h3+p a,.lt a{display:inline-block}.clearfix:after{clear:both}.declare,.mini,.pt img,.sr{float:left}.awithus,.gra,.ntb,.stb{float:right}.awithus,.cat h3+p a,.pt img,button,div,form,li,ul{position:relative}.mnb,.pt{position:absolute}.cat h3+p a{border-radius:.25em}.avatar{border-radius:50%}.pt img{border-radius:.3125em}.cat h3+p a,.pt img{-webkit-transition:all .3;transition:all .3}.mini{padding:1.125em 0 1em 5.5%;z-index:8}.mini a{width:58%}.sr{font:0/0 a;height:0;visibility:hidden}.mnb{top:0;right:1em;padding-top:1.5em;z-index:9}.ntb,.stb{text-indent:100%;overflow:hidden;width:2.625em;height:2.25em;margin-right:.75em;-webkit-tap-highlight-color:transparent;border:.07em solid #c73a11;border-radius:.25em;-webkit-box-shadow:0 .07em .07em rgba(0,0,0,.25);box-shadow:0 .07em .07em rgba(0,0,0,.25)}.stb{background:url(http://www.smashingmagazine.com/wp-content/themes/smashing-magazine/images/search-icon.svg) no-repeat 50% 50%,#e95c33;background-size:1.875em auto;-webkit-background-size:auto auto}.ntb{background:url(http://www.smashingmagazine.com/wp-content/themes/smashing-magazine/images/nav-icon.svg) no-repeat 50% 50%,#e95c33;background-size:1.875em auto;-webkit-background-size:auto auto}.cc,.post{margin-bottom:2em}.fluid{padding-bottom:1.5em;border:.07em solid rgba(0,0,0,.1);background-color:#fff;-webkit-box-shadow:0 0 .625em .07em rgba(0,0,0,.05);box-shadow:0 0 .625em .07em rgba(0,0,0,.05)}.grid{margin-top:1.25em}.post{padding:.5em 5.5% 4em;border-bottom:.3125em solid #41b7d8}h2{font-size:2em;line-height:1.1em}h2 a{color:#333}.cahe{font-size:.45em;line-height:1.5em;letter-spacing:.07em;padding-bottom:.5em;color:#41b7d8}.archived h2,.author-page h2{width:92%}.ed+p,.pmd .a,.pmd+p{font-size:1.25em;line-height:1.35em;margin:0}h3{font-size:1.5em;line-height:1.3em}h4{letter-spacing:.125em}.cahe,h4{text-transform:uppercase}h3,h4{padding:1.5em 0 .5em}figure img,p,p img{padding:.5em 0}figure{margin:1.5em 0}br+em,figcaption{font-size:.875em;color:#a8a8a8}.pmd{padding-bottom:2em;margin:0}.pmd li{padding:1em 2em 0 1.5em;color:rgba(0,0,0,.3)}.pmd .a{padding:.5em .5em .5em 0;border-bottom:.07em solid #e5e5e5}.date{background:url(data:image/gif;base64,R0lGODlhEAAQAMQAAOZCM/GTi/KclepiVvfDvvnV0uxxZv719OhRROlaTepfU/a+uetlWfCOhe+JgPvf3P76+vzo5vOknva6tfSuqPnRzeU9Lu57cfjKxu+HfuxuY/Wzre11avvh3////+U7LCH5BAAAAAAALAAAAAAQABAAAAVkoCd6T6N8FiNE4wg1Xyx/gNB63Kx/zbjpIh3GEwEAPTrEQbIL6iaGJlKXSegUzplhcBVxZ5fLjuA5fGOBye6zKFtjFQhi3SbEGCI7PQoojChGawBkLQVnMhoPNyMFEg4OEh03IQA7) 0 1.2em no-repeat}.tags{background:url(data:image/gif;base64,R0lGODlhEAAQAMQAAP77+upeUeZCM/76+v74+Pa8t/zs5/jIw+dHOOtpRO+HfutpXvfDvvvh3+ZENudLPfOljva4svGTivzo5u6CY/nRxelcM+U7LP///wAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAAQABAAAAVKICaOZDleaIpiVkuqKuue8Npab33JOF3zud8tCAP6ikOfAJEyilIRRjP5vChEkhVk9gwQRIPFDkDpiRwN0uQhMiRIBdNhVDHZSyEAOw==) 0 1.2em no-repeat}.tags a:after{content:", "}.tags a:last-child:after{content:""}.comments{background:url(data:image/gif;base64,R0lGODlhEAAQAMQAAOZBMu+GfedKPOlXSutnW/jKxvSuqO+JgPa8t/rY1fWzrf/9/eU9LvSspvvh3+xuY/CMg/3t6+56cP729edNQPnV0vOjnPrc2vOnofnRzehQQv76+vKakvKel////+U7LCH5BAAAAAAALAAAAAAQABAAAAVOoCeOZGme52Q81PdpkrKVneDet9CMAe7fHI/lR/woBsUfAZD0DQhNnKQQdQEqHgOjCUCMLgGmDwBxmCIIzOHwABRQpMUgASdl6PXR4hQCADs=) 0 1.2em no-repeat}.cat{border-top:.625em solid;border-bottom:.08em solid;border-color:#e5e5e5;margin:2em 5.5% 3em;padding:1em 0 1.25em}.cat h2{margin-bottom:.5em}.cat h3{font-size:1.25em}.cat h3+p a{padding:.25em .5em;margin:0 .5em .5em 0;color:#fff;background:#a1a1a1}.gra{padding:1.25em .75em 1.25em 1.5em}.sf label{font-weight:400;padding:1.1em 0 .75em;color:rgba(0,0,0,.25)}.sf button{line-height:2.25em;left:-.3125em;width:23%;height:2.375em;padding:0 1%;border-left:0;border-radius:0 .5em .5em 0}.sf input[type=text]{width:73%;height:1.5em;padding:.375em 0 .375em 2%;margin-bottom:0;border-right:0}.declare{margin:.875em 0 .5em;color:rgba(0,0,0,.25)}.awithus{margin-top:.875em;z-index:9}.ad .declare{float:none;padding:1em 0 .5em;margin-top:0}#cad{width:18.75em;height:15.625em}.pt{top:0;right:-2em;z-index:9}.pt img{border:.1875em solid #fff;-webkit-box-shadow:0 .07em .1875em rgba(0,0,0,.3);box-shadow:0 .07em .1875em rgba(0,0,0,.3)}@media screen and (min-width:31.25em){.mini{width:75%}.pmd li{display:inline-block}.pmd .a{display:block}}@media screen and (min-width:38.125em){.mini{width:60%}.grid{clear:both;padding:.5em 0}}@media screen and (min-width:40.625em){body{font-size:1.1875em}.ad{float:right;margin:0 0 1em 2em;width:15em}#cad{width:15.78947em;height:13.1579em}article img,article object,figure{max-width:26.31579em;height:auto}}@media screen and (min-width:50em){body{font-size:1em;border-left:.625em solid transparent}.mini,.mnb{display:none}.ch,.mise,.nw,.nw a,.sn{display:block}.ch,.main{float:right}.cc,.ch li,.col,.nw,.nw li{float:left}.nw{width:79%;margin-bottom:-.07em}.nw li{border-right:.07em solid rgba(0,0,0,.05)}.nw li a{padding:2.5em 1em .5em;height:1.75em;color:rgba(0,0,0,.3);background-color:transparent;-webkit-transition:color .3s,background-color .3s;transition:color .3s,background-color .3s}.nw li.cody a{background-image:url(http://www.smashingmagazine.com/wp-content/themes/smashing-magazine/images/navilittlebook.png);background-repeat:no-repeat;background-position:right .125em}.nw .current{z-index:2;width:24%;border:.07em solid rgba(0,0,0,.1);border-top:0;border-bottom:0;background:#fff;-webkit-box-shadow:0 -.9375em .625em .07em rgba(0,0,0,.025);box-shadow:0 -.9375em .625em .07em rgba(0,0,0,.025)}.nw .current a{padding:1.5em 1em 0;height:3.3125em;-webkit-transition:none;transition:none}.nw .current a:hover{background-color:#fff}.nw .current img{position:relative;top:-.125em}.ch{margin:2.5em 4% 0 0;z-index:50}.ch li{margin-left:.625em}.ch li a{text-indent:100%;overflow:hidden;white-space:nowrap;display:block;width:1.4375em;height:1.4375em;background-image:url(http://www.smashingmagazine.com/wp-content/themes/smashing-magazine/images/channels.svg);-webkit-background-size:353% 600%;background-size:353% 600%;opacity:.45;-webkit-transition:all .3s;transition:all .3s}.rss a{background-position:76% 35.5%}.fb a{background-position:76% 62%}.tw a{background-position:76% 90%}.nl a{background-position:76% 9%}.cc{width:100%}.main{width:80%;padding:0;margin-top:1.5em}.author .main,.category .main,.tag .main{margin:0 0 1.5em}.mise form{margin:1em 0 2em 5.5%}.mise input[type=text]{height:1.125em;padding:1em 2.5%}.mise button{line-height:3.125em;width:17.5%;height:3.25em}.sn{width:20%}.sct{margin:2em 0}.sn ul{margin-left:-.07em}.sn li{border-left-width:.625em;border-left-style:solid;padding-bottom:2.25em;-webkit-transition:border-color .3s;transition:border-color .3s}.sn li a{font-family:'Proxima Nova Bold',"Segoe UI",Roboto,"Droid Sans","Helvetica Neue",Arial,sans-serif;font-style:normal;font-weight:700;text-transform:uppercase;letter-spacing:.175em;color:#333;padding:.25em .5em .25em 20%;display:block;border-bottom:.07em solid transparent;-webkit-transition:background-color .3s;transition:background-color .3s}.sn li li{border:0;margin-left:.07em;padding-bottom:.25em}.sn li li a{font-family:"Proxima Nova Regular","Segoe UI",Roboto,"Droid Sans","Helvetica Neue",Arial,sans-serif;font-style:normal;font-weight:400;letter-spacing:0;text-transform:none;color:#888;border:0;padding-left:20%;margin:0;-webkit-transition:color .3s,background-color .3s;transition:color .3s,background-color .3s}.menu-item-coding{border-left-color:#c9e9e5}.menu-item-design{border-left-color:#cdeeaa}.menu-item-mobile{border-left-color:#f9f0a8}.menu-item-graphics{border-left-color:#e0cfdf}.menu-item-uxdesign{border-left-color:#faced2}.menu-item-wordpress{border-left-color:#bcd8f0}.cat{padding-left:5.5%;padding-right:5.5%}.post{padding-left:11%}article img,figure{max-width:31.25em}.ad{width:18.75em}#cad{width:18.75em;height:15.625em}}@media screen and (min-width:63.75em){.mise{display:none}.nw .current{width:21%}.ch{margin-right:1em}.main{width:100%;margin-top:-.5em}.post{padding-left:5.5%}.sn{width:100%;margin-top:0;margin-bottom:0}.sct{margin-top:-.5em}.sn ul{margin:1em 0 0;padding:0 0 0 5.5%;border-bottom:.3125em solid rgba(0,0,0,.06)}.sn li{border-left-width:0;border-right:.07em solid #e5e5e5;border-bottom-width:.3125em;border-bottom-style:solid;margin-bottom:-.3125em;padding-bottom:0;float:left}.sn li:last-child{border-right:0}.sn li a{font-size:.75em;color:#333;border:0;padding:.75em .9em}.sn li ul{display:none}.menu-item-coding{border-bottom-color:#c9e9e5}.menu-item-design{border-bottom-color:#cdeeaa}.menu-item-mobile{border-bottom-color:#f9f0a8}.menu-item-graphics{border-bottom-color:#e0cfdf}.menu-item-uxdesign{border-bottom-color:#faced2}.menu-item-wordpress{border-bottom-color:#bcd8f0}h2{padding-top:.5em}.cc{margin-right:-28.125em}.fluid{margin-right:28.125em;border-radius:0 .625em .625em 0}.cat{padding-left:0;padding-right:0;margin-top:2em;margin-right:5.5%}.sb{display:block;z-index:3}.side{padding:0 0 0 1.25em;width:26.25em;top:-3.325em}.bw{margin:0 0 1.25em}.bw .awithus{margin-right:.5em}.faw{margin-top:1.5em}.bnnr-list{clear:both}.bnnr-list li{font-size:.75em;text-align:center;width:48%;display:inline-block;margin:0 2% 1em 0}.bnnr-list a{border-bottom:0}.bnnr-list .double{width:34.16667em}.wg{clear:both;margin:1.5em 0 1.5em -1.25em;padding:0 1.25em 2em;border:.07em solid rgba(0,0,0,.1);border-left:none;background:rgba(255,255,255,.55);border-radius:0 .625em .625em 0}.wg.sf{top:0}.wg.sf form{margin:.75em 0 1em}.wg.sf input[type=text]{width:66%}.wg.sf button{width:30%}.wg li{list-style:none;border-bottom:.07em solid rgba(0,0,0,.05);padding:1em 0}.wg h3{padding-left:2.5em;position:relative}.wg h3 a{position:relative}.wg h3 img{position:absolute;left:-2.5em}.so div{margin-top:.5em;border-bottom:.08em solid rgba(0,0,0,.05)}.so p{line-height:1.55em;padding-top:1.125em;overflow:hidden}.fir{padding:0 1.5em 1.75em 0}.sec{padding-bottom:1.75em}.so img{float:left;overflow:hidden;margin:1.5em 1.5em 0 0;border-radius:.5em}}@media screen and (min-width:76.25em){.nw{width:50%}.nw .current{width:29%}.nw .current img{top:-.4375em}.main{width:78%;margin-top:1.8%}.author .main,.category .main,.tag .main{margin-top:4%}.post{padding-top:0}.author .post,.category .post,.tag .post{padding-left:11%}.sn{width:22%;margin-top:4%}.sct{margin:0 0 1em -.07em;z-index:99}.sn ul{display:block;margin:0;padding:0 2.5% 0 0;border-bottom:none}.sn li{border-bottom:0;border-right:0;border-left-width:.625em;border-left-style:solid;float:none;margin-bottom:0;padding-bottom:2.25em}.sn li a{font-size:1em;width:auto!important;border:none;border-bottom:.07em solid transparent;display:block;padding:.25em .5em .25em 25%}.sn li ul{display:block;padding:0;margin-left:-.07em}.sn li ul li{padding-bottom:0;border:0}.sn li ul li a{margin-top:0;padding-left:25%;border:none}.menu-item-coding{border-left-color:#c9e9e5}.menu-item-design{border-left-color:#cdeeaa}.menu-item-mobile{border-left-color:#f9f0a8}.menu-item-graphics{border-left-color:#e0cfdf}.menu-item-uxdesign{border-left-color:#faced2}.menu-item-wordpress{border-left-color:#bcd8f0}.cat{margin-top:0;padding-left:5.5%;padding-right:5.5%}.ch{margin-right:28.125em}}@media screen and (min-width:90.625em){body{border:none}.sf{top:1.65em;padding-bottom:1em}.sf label{margin:1.5em 0 0;padding-top:0}.tn{float:left;width:10%}.nw{width:auto;float:none;margin-bottom:0}.nw li{float:none;border:none;border-bottom:.07em solid rgba(0,0,0,.1)}.nw li a{padding:1em 0 .625em 1.375em}.nw .current{border:.07em solid rgba(0,0,0,.1);border-right:.07em solid #fff;border-left:none;margin:.6em -.07em 0 0;width:auto}.nw .current a{padding:1.5em 0 1em 1.5em;height:auto}.nw .current img{top:0;left:-.5em}.ch{float:none;margin:1.25em 0 0 .875em}.ch li{margin-left:0;margin-right:.5em}.sct{margin-top:-.07em}.cc{width:90%;border-top:.625em solid transparent}.fluid{border-radius:0 .625em .625em}.grid{margin-top:2.3em}.side{top:0}}@media screen and (min-width:100em){body{font-size:1.15em}.post{padding-left:11%;padding-right:11%}.sn{margin-top:3.65%}.sn ul li ul{margin-left:-.07em}.ch{margin:1.5em 0 0 1.5em}.ad,.ch{font-size:.86957em}.wg{margin-left:-1.08696em}.cc{margin-right:-24.45652em}.fluid{margin-right:24.45652em}.side{width:22.82609em;padding-left:1.08696em}.bnnr-list .double{width:29.71015em}article p{padding:.75em 0}article li{padding:.5em 0}article img,figure{max-width:27.17391em}.cat{margin-left:5.5%}.pt{top:-.5em;right:-5em}}@media screen and (min-width:63.75em) and (max-width:70.3125em){.long{display:none}.short{display:block}}</style>
        
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta charset="UTF-8">
    <!-- Favicon -->
    <link rel="icon" type="image/x-icon" href="http://www.smashingmagazine.com/wp-content/themes/smashing-magazine/images/favicon.ico" /><link rel="shortcut icon" type="image/x-icon" href="http://www.smashingmagazine.com/wp-content/themes/smashing-magazine/images/favicon.ico" /><link type="image/x-icon" href="http://www.smashingmagazine.com/wp-content/themes/smashing-magazine/images/favicon.ico" />
    <!-- Windows 8 Tiles and Feed -->
    <meta name="application-name" content="Smashing Magazine"/>
    <meta name="msapplication-TileColor" content="#e53b2c"/>
    <meta name="msapplication-square70x70logo" content="http://www.smashingmagazine.com/wp-content/themes/smashing-magazine/images/smashing-windows-icon-70-70.png"/>
    <meta name="msapplication-square150x150logo" content="http://www.smashingmagazine.com/wp-content/themes/smashing-magazine/images/smashing-windows-icon-150-150.png"/>
    <meta name="msapplication-wide310x150logo" content="http://www.smashingmagazine.com/wp-content/themes/smashing-magazine/images/smashing-windows-icon-310-150.png"/>
    <meta name="msapplication-square310x310logo" content="http://www.smashingmagazine.com/wp-content/themes/smashing-magazine/images/smashing-windows-icon-310-310.png"/>
    <meta name="msapplication-notification" content="frequency=30;polling-uri=http://notifications.buildmypinnedsite.com/?feed=http://www.smashingmagazine.com/feed/&id=1;polling-uri2=http://notifications.buildmypinnedsite.com/?feed=http://www.smashingmagazine.com/feed/&id=2;polling-uri3=http://notifications.buildmypinnedsite.com/?feed=http://www.smashingmagazine.com/feed/&id=3;polling-uri4=http://notifications.buildmypinnedsite.com/?feed=http://www.smashingmagazine.com/feed/&id=4;polling-uri5=http://notifications.buildmypinnedsite.com/?feed=http://www.smashingmagazine.com/feed/&id=5; cycle=1"/>
    <!-- iOS Icons -->
    <link rel="apple-touch-icon-precomposed" href="http://www.smashingmagazine.com/wp-content/themes/smashing-magazine/images/apple-touch-icon-precomposed.png" />
    <link rel="apple-touch-icon-precomposed" sizes="57x57" href="http://www.smashingmagazine.com/wp-content/themes/smashing-magazine/images/apple-touch-icon-57x57-precomposed.png" />
    <link rel="apple-touch-icon-precomposed" sizes="72x72" href="http://www.smashingmagazine.com/wp-content/themes/smashing-magazine/images/apple-touch-icon-72x72-precomposed.png" />
    <link rel="apple-touch-icon-precomposed" sizes="114x114" href="http://www.smashingmagazine.com/wp-content/themes/smashing-magazine/images/apple-touch-icon-114x114-precomposed.png" />
    <link rel="apple-touch-icon-precomposed" sizes="144x144" href="http://www.smashingmagazine.com/wp-content/themes/smashing-magazine/images/apple-touch-icon-144x144-precomposed.png" />    
    <!-- This site is optimized with the Yoast WordPress SEO plugin v1.5.2.7 - https://yoast.com/wordpress/plugins/seo/ -->
    <meta name="description" content="Plugins are a major part of why WordPress powers millions of blogs and websites around the world. The ability to extend WordPress to meet just about any need is a powerful motivator for choosing WordPress over other alternatives."/>
    <link rel="canonical" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/" />
    <link rel="publisher" href="https://plus.google.com/+SmashingMagazine?"/>
    <meta property="og:locale" content="en_US" />
    <meta property="og:type" content="article" />
    <meta property="og:title" content="Ten Things Every WordPress Plugin Developer Should Know - Smashing Magazine" />
    <meta property="og:description" content="Plugins are a major part of why WordPress powers millions of blogs and websites around the world. The ability to extend WordPress to meet just about any need is a powerful motivator for choosing WordPress over other alternatives." />
    <meta property="og:url" content="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/" />
    <meta property="og:site_name" content="Smashing Magazine" />
    <meta property="article:publisher" content="https://www.facebook.com/smashmag" />
    <meta property="article:tag" content="Essentials" />
    <meta property="article:tag" content="PHP" />
    <meta property="article:tag" content="Plugins" />
    <meta property="article:tag" content="Techniques (WP)" />
    <meta property="article:section" content="WordPress" />
    <meta property="article:published_time" content="2011-03-08T05:35:31+01:00" />
    <meta property="article:modified_time" content="2014-04-25T13:28:41+02:00" />
    <meta property="og:updated_time" content="2014-04-25T13:28:41+02:00" />
    <meta property="og:image" content="http://www.smashingmagazine.com/wp-content/uploads/images/post-pictures/wordpress-blue-illu.jpg" />
    <meta property="og:image" content="http://www.smashingmagazine.com/wp-content/uploads/2011/03/wordpress_plugin.jpg" />
    <meta property="og:image" content="http://www.smashingmagazine.com/wp-content/uploads/2011/02/debug-bar-black1.jpg" />
    <meta property="og:image" content="http://www.smashingmagazine.com/wp-content/uploads/2011/02/debug-bar-globals1.jpg" />
    <meta property="og:image" content="http://www.smashingmagazine.com/wp-content/uploads/2011/02/debug-bar-profiler1.jpg" />
    <meta property="og:image" content="http://www.smashingmagazine.com/wp-content/uploads/2011/02/debug-bar-sql1.jpg" />
    <meta property="og:image" content="http://www.smashingmagazine.com/wp-content/uploads/2011/02/debug-bar-errors1.jpg" />
    <meta property="og:image" content="http://www.smashingmagazine.com/wp-content/uploads/2011/02/general-settings-same-url.jpg" />
    <meta property="og:image" content="http://www.smashingmagazine.com/wp-content/uploads/2011/02/general-settings-different-url.jpg" />
    <meta property="og:image" content="http://www.smashingmagazine.com/wp-content/uploads/2011/02/admin-menu-options-page.jpg" />
    <meta property="og:image" content="http://www.smashingmagazine.com/wp-content/uploads/2011/02/admin-menu-custom.jpg" />
    <meta property="og:image" content="http://www.smashingmagazine.com/wp-content/uploads/2011/02/plugin-action-links-none.jpg" />
    <meta property="og:image" content="http://www.smashingmagazine.com/wp-content/uploads/2011/02/plugin-action-links-settings.jpg" />
    <meta name="twitter:card" content="summary_large_image"/>
    <meta name="twitter:site" content="@smashingmag"/>
    <meta name="twitter:domain" content="Smashing Magazine"/>
    <meta name="twitter:creator" content="@arcware"/>
    <meta name="twitter:image:src" content="http://www.smashingmagazine.com/wp-content/uploads/images/post-pictures/wordpress-blue-illu.jpg"/>
    <!-- / Yoast WordPress SEO plugin. -->
    <link rel="alternate" type="application/rss+xml" title="Smashing Magazine » Feed" href="http://www.smashingmagazine.com/feed/" />
    <link rel="alternate" type="application/rss+xml" title="Smashing Magazine » Comments Feed" href="http://www.smashingmagazine.com/comments/feed/" />
    <link rel="alternate" type="application/rss+xml" title="Smashing Magazine » Ten Things Every WordPress Plugin Developer Should Know Comments Feed" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/feed/" />
    <link rel='shortlink' href='http://www.smashingmagazine.com/?p=111255' />
        <script type="text/javascript">!function(){function e(e,t,n){e.addEventListener?e.addEventListener(t,n,!1):e.attachEvent&&e.attachEvent("on"+t,n)}function t(e){return window.localStorage&&localStorage.font_css_cache&&localStorage.font_css_cache_file===e}function n(){if(window.localStorage&&window.XMLHttpRequest)if(t(o))a(localStorage.font_css_cache);else{var n=new XMLHttpRequest;n.open("GET",o,!0),e(n,"load",function(){4===n.readyState&&(a(n.responseText),localStorage.font_css_cache=n.responseText,localStorage.font_css_cache_file=o)}),n.send()}else{var c=document.createElement("link");c.href=o,c.rel="stylesheet",c.type="text/css",document.getElementsByTagName("head")[0].appendChild(c),document.cookie="font_css_cache"}}function a(e){var t=document.createElement("style");t.innerHTML=e,document.getElementsByTagName("head")[0].appendChild(t)}var o="http://www.smashingmagazine.com/wp-content/themes/smashing-magazine/stylesheets/webfonts.min.css?ver=1.1.0";window.localStorage&&localStorage.font_css_cache||document.cookie.indexOf("font_css_cache")>-1?n():e(window,"load",n)}();</script>
        <!--[if IE 8]><script type="text/javascript" src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script><link href="http://www.smashingmagazine.com/wp-content/themes/smashing-magazine/stylesheets/ie8-nu.css" media="all" rel="stylesheet" type="text/css" /><![endif]-->
        <noscript><link href="http://www.smashingmagazine.com/wp-content/themes/smashing-magazine/stylesheets/main.min.css?ver=2014.14.0" rel="stylesheet" media="all" type="text/css" /></noscript>
    </head>
    <body class="single single-post postid-111255 single-format-standard www-section">
    <nav id="top" class="tn clearfix">
        <div class="mini">
            <h1><span class="sr">Smashing Magazine</span><a href="http://www.smashingmagazine.com/"><img src="http://www.smashingmagazine.com/wp-content/themes/smashing-magazine/images/logo.png" alt="Smashing Magazine" title="Jump to the front page" /></a></h1>
        </div>
        <div class="mnb">
        <a href="#mn" class="ntb">Menu</a> <a href="#ms" class="stb">Search</a>
    </div>   <ul id="menu-network-menu" class="nw clearfix"><li class="current"><a href="http://www.smashingmagazine.com"><img src="http://www.smashingmagazine.com/wp-content/themes/smashing-magazine/images/logo.png" alt="Smashing Magazine" title="Jump to the front page" /></a></li><li id="menu-item-77918" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-77918 menu-item-books"><a href="http://www.smashingmagazine.com/books/">Books</a></li>
    <li id="menu-item-78659" class="cody menu-item menu-item-type-post_type menu-item-object-page menu-item-78659 menu-item-ebooks"><a href="http://www.smashingmagazine.com/ebooks/">eBooks</a></li>
    <li id="menu-item-85386" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-85386 menu-item-workshops"><a href="http://www.smashingmagazine.com/smashing-workshops/">Workshops</a></li>
    <li id="menu-item-2" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-2 menu-item-job-board"><a href="http://jobs.smashingmagazine.com/">Job Board</a></li>
    </ul>
    <ul class="ch">
        <li class="rss"><a href="http://www.smashingmagazine.com/feed/" title="Subscribe to our RSS-feed (120K)">RSS</a></li>
        <li class="fb"><a href="http://www.facebook.com/smashmag" title="Join our Facebook page! (221k)">Facebook</a></li>
        <li class="tw"><a href="http://twitter.com/smashingmag" title="Follow us on Twitter! (811k)">Twitter</a></li>
        <li class="nl"><a href="http://www.smashingmagazine.com/the-smashing-newsletter/" title="Subscribe to our Email Newsletter (180k)">Newsletter</a></li>
    </ul></nav>
    <div class="cc"><div class="fluid clearfix"><div class="grid clearfix">
    <div class="mise sf clearfix" >
        <form id="search" method="get" action="http://www.smashingmagazine.com/search-results/" target="_top">
            <input name="q" type="text" placeholder="e.g. JavaScript" />
            <button class="search_submit" type="submit">Search</button>
            <input type="hidden" name="cx" value="partner-pub-6779860845561969:5884617103">
            <input type="hidden" name="cof" value="FORID:10">
            <input type="hidden" name="ie" value="UTF-8">
        </form>
    </div><div class="col sn">
    <nav class="sct"><ul id="menu-category-menu" class="clearfix"><li id="menu-item-116" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children menu-item-116 menu-item-coding"><a href="http://www.smashingmagazine.com/category/coding/">Coding</a>
    <ul class="sub-menu">
        <li id="menu-item-2014" class="menu-item menu-item-type-taxonomy menu-item-object-post_tag menu-item-2014 menu-item-css"><a href="http://www.smashingmagazine.com/tag/css/">CSS</a></li>
        <li id="menu-item-134810" class="menu-item menu-item-type-taxonomy menu-item-object-post_tag menu-item-134810 menu-item-html"><a href="http://www.smashingmagazine.com/tag/html/">HTML</a></li>
        <li id="menu-item-2015" class="menu-item menu-item-type-taxonomy menu-item-object-post_tag menu-item-2015 menu-item-javascript"><a href="http://www.smashingmagazine.com/tag/javascript/">JavaScript</a></li>
        <li id="menu-item-2016" class="menu-item menu-item-type-taxonomy menu-item-object-post_tag menu-item-2016 menu-item-techniques"><a href="http://www.smashingmagazine.com/tag/techniques/">Techniques</a></li>
    </ul>
    </li>
    <li id="menu-item-117" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children menu-item-117 menu-item-design"><a href="http://www.smashingmagazine.com/category/design/">Design</a>
    <ul class="sub-menu">
        <li id="menu-item-2017" class="menu-item menu-item-type-taxonomy menu-item-object-post_tag menu-item-2017 menu-item-web-design"><a href="http://www.smashingmagazine.com/tag/web-design/">Web Design</a></li>
        <li id="menu-item-2032" class="menu-item menu-item-type-taxonomy menu-item-object-post_tag menu-item-2032 menu-item-typography"><a href="http://www.smashingmagazine.com/tag/typography/">Typography</a></li>
        <li id="menu-item-2063" class="menu-item menu-item-type-taxonomy menu-item-object-post_tag menu-item-2063 menu-item-inspiration"><a href="http://www.smashingmagazine.com/tag/inspiration/">Inspiration</a></li>
        <li id="menu-item-2120" class="menu-item menu-item-type-taxonomy menu-item-object-post_tag menu-item-2120 menu-item-business"><a href="http://www.smashingmagazine.com/tag/business/">Business</a></li>
    </ul>
    </li>
    <li id="menu-item-119" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children menu-item-119 menu-item-mobile"><a href="http://www.smashingmagazine.com/category/mobile/">Mobile</a>
    <ul class="sub-menu">
        <li id="menu-item-142132" class="menu-item menu-item-type-taxonomy menu-item-object-post_tag menu-item-142132 menu-item-iphone-ipad"><a href="http://www.smashingmagazine.com/tag/ios/">iPhone & iPad</a></li>
        <li id="menu-item-143596" class="menu-item menu-item-type-taxonomy menu-item-object-post_tag menu-item-143596 menu-item-android"><a href="http://www.smashingmagazine.com/tag/android/">Android</a></li>
        <li id="menu-item-143608" class="menu-item menu-item-type-taxonomy menu-item-object-post_tag menu-item-143608 menu-item-design-patterns"><a href="http://www.smashingmagazine.com/tag/design-patterns/">Design Patterns</a></li>
    </ul>
    </li>
    <li id="menu-item-118" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children menu-item-118 menu-item-graphics"><a href="http://www.smashingmagazine.com/category/graphics/">Graphics</a>
    <ul class="sub-menu">
        <li id="menu-item-2264" class="menu-item menu-item-type-taxonomy menu-item-object-post_tag menu-item-2264 menu-item-photoshop"><a href="http://www.smashingmagazine.com/tag/photoshop/">Photoshop</a></li>
        <li id="menu-item-160" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-160 menu-item-fireworks"><a href="http://www.smashingmagazine.com/category/fireworks/">Fireworks</a></li>
        <li id="menu-item-2283" class="menu-item menu-item-type-taxonomy menu-item-object-post_tag menu-item-2283 menu-item-wallpapers"><a href="http://www.smashingmagazine.com/tag/wallpapers/">Wallpapers</a></li>
        <li id="menu-item-2305" class="menu-item menu-item-type-taxonomy menu-item-object-post_tag menu-item-2305 menu-item-freebies"><a href="http://www.smashingmagazine.com/tag/freebies/">Freebies</a></li>
    </ul>
    </li>
    <li id="menu-item-120" class="menu-item-uxdesign menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children menu-item-120 menu-item-ux-design"><a href="http://www.smashingmagazine.com/category/uxdesign/">UX Design</a>
    <ul class="sub-menu">
        <li id="menu-item-143609" class="menu-item menu-item-type-taxonomy menu-item-object-post_tag menu-item-143609 menu-item-usability"><a href="http://www.smashingmagazine.com/tag/usability/">Usability</a></li>
        <li id="menu-item-143610" class="menu-item menu-item-type-taxonomy menu-item-object-post_tag menu-item-143610 menu-item-user-experience"><a href="http://www.smashingmagazine.com/tag/user-experience/">User Experience</a></li>
        <li id="menu-item-143611" class="menu-item menu-item-type-taxonomy menu-item-object-post_tag menu-item-143611 menu-item-ui-design"><a href="http://www.smashingmagazine.com/tag/ui/">UI Design</a></li>
        <li id="menu-item-143612" class="menu-item menu-item-type-taxonomy menu-item-object-post_tag menu-item-143612 menu-item-e-commerce"><a href="http://www.smashingmagazine.com/tag/e-commerce/">E-Commerce</a></li>
    </ul>
    </li>
    <li id="menu-item-121" class="menu-item menu-item-type-taxonomy menu-item-object-category current-post-ancestor current-menu-parent current-post-parent menu-item-has-children menu-item-121 menu-item-wordpress"><a href="http://www.smashingmagazine.com/category/wordpress/"><span class="long"><span>Word</span><span>Press</span></span><span class="short">WP</span></a>
    <ul class="sub-menu">
        <li id="menu-item-143677" class="menu-item menu-item-type-taxonomy menu-item-object-post_tag menu-item-143677 menu-item-essentials"><a href="http://www.smashingmagazine.com/tag/essentials/">Essentials</a></li>
        <li id="menu-item-143678" class="menu-item menu-item-type-taxonomy menu-item-object-post_tag menu-item-143678 menu-item-techniques"><a href="http://www.smashingmagazine.com/tag/techniques-wp/">Techniques</a></li>
        <li id="menu-item-143679" class="menu-item menu-item-type-taxonomy menu-item-object-post_tag menu-item-143679 menu-item-plugins"><a href="http://www.smashingmagazine.com/tag/plugins/">Plugins</a></li>
        <li id="menu-item-143680" class="menu-item menu-item-type-taxonomy menu-item-object-post_tag menu-item-143680 menu-item-themes"><a href="http://www.smashingmagazine.com/tag/themes/">Themes</a></li>
    </ul>
    </li>
    </ul></nav></div>
    <div class="col main single">
        <article class="post-111255 post type-post status-publish format-standard has-post-thumbnail hentry category-wordpress tag-essentials tag-php tag-plugins tag-techniques-wp post">
                        <h2><a href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/" rel="bookmark" title="Read 'Ten Things Every WordPress Plugin Developer Should Know'">Ten Things Every WordPress Plugin Developer Should Know</a></h2>
                    <ul class="pmd clearfix">
                <li class="a">By <a rel="author" class="poa" href="http://www.smashingmagazine.com/author/dave-donaldson/?rel=author" title="Posts by Dave Donaldson">Dave Donaldson</a></li>
                            <li class="date">March 8th, 2011</li>
                <li class="tags"><a href="http://www.smashingmagazine.com/tag/essentials/">Essentials</a><a href="http://www.smashingmagazine.com/tag/php/">PHP</a><a href="http://www.smashingmagazine.com/tag/plugins/">Plugins</a></li>
                <li class="comments"><a href="#comments" title="Comment on Ten Things Every WordPress Plugin Developer Should Know">94 Comments</a> </li>
                        </ul>
                    <div class="ad ed">
                <span class="declare">Advertisement</span>
                <div id="cad"></div>
            </div>
                                        <p>Plugins are a major part of why WordPress powers millions of blogs and websites around the world. The ability to extend WordPress to meet just about any need is a powerful motivator for choosing WordPress over other alternatives. Having written several plugins myself, I’ve come to learn many (but certainly not all) of the ins-and-outs of <strong>WordPress plugin development</strong>, and this article is a culmination of the things I think every WordPress plugin developer should know. Oh, and keep in mind everything you see here is compatible with WordPress 3.0+.</p>
    <h3>Don’t Develop Without Debugging</h3>
    <p>The first thing you should do when developing a WordPress plugin is to enable debugging, and I suggest leaving it on the entire time you’re writing plugin code. When things go wrong, WordPress raises warnings and error messages, but if you can’t see them then they might as well have not been raised at all.
    <p><a href="http://www.smashingmagazine.com/wp-content/uploads/2011/03/wordpress_plugin.jpg"><img src="http://www.smashingmagazine.com/wp-content/uploads/2011/03/wordpress_plugin.jpg" alt="Screenshot" title="WordPress_Plugins" width="500" /></a><sup class="po" id="note-1"><a href="#1">1</a></sup></p>
    <p>Enabling debugging also turns on WordPress notices, which is important because that’s how you’ll know if you’re using any deprecated functions. Deprecated functions may be removed from future versions of WordPress, and just about every WordPress release contains functions slated to die at a later date. If you see that you are using a deprecated function, it’s best to find its replacement and use that instead.</p>
    <h4>How to Enable Debugging</h4>
    <p>By default, WordPress debugging is turned off, so to enable it, open <strong>wp-config.php</strong> (tip: make a backup copy of this file that you can revert to later if needed) in the root of your WordPress installation and look for this line:</p>
    <pre><code class="language-php">define('WP_DEBUG', false);</code></pre>
    <p>Replace that line with the following:</p>
    <pre><code class="language-php">// Turns WordPress debugging on
    define('WP_DEBUG', true);
    // Tells WordPress to log everything to the /wp-content/debug.log file
    define('WP_DEBUG_LOG', true);
    // Doesn't force the PHP 'display_errors' variable to be on
    define('WP_DEBUG_DISPLAY', false);
    // Hides errors from being displayed on-screen
    @ini_set('display_errors', 0);</code></pre>
    <p>With those lines added to your wp-config.php file, debugging is fully enabled. Here’s an example of a notice that got logged to /wp-content/debug.log for using a deprecated function:</p>
    <p><em>[15-Feb-2011 20:09:14] PHP Notice:  get_usermeta is <strong>deprecated</strong> since version 3.0! Use get_user_meta() instead. in C:CodePluginswordpresswp-includesfunctions.php on line 3237</em></p>
    <p>With debugging enabled, <strong>keep a close eye on /wp-content/debug.log</strong> as you develop your plugin. Doing so will save you, your users, and other plugin developers a lot of headaches.</p>
    <h4>How to Log Your Own Debug Statements</h4>
    <p>So what about logging your own debug statements? Well, the simplest way is to use <code>echo</code> and see the message on the page. It’s the quick-and-dirty-hack way to debug, but everyone has done it one time or another. A better way would be to create a function that does this for you, and then you can see all of your own debug statements in the debug.log file with everything else.</p>
    <p>Here’s a function you can use; notice that it only logs the message if WP_DEBUG is enabled:</p>
    <pre><code class="language-php">function log_me($message) {
        if (WP_DEBUG === true) {
            if (is_array($message) || is_object($message)) {
                error_log(print_r($message, true));
            } else {
                error_log($message);
            }
        }
    }</code></pre>
    <p>And then you can call the <code>log_me</code> function like this:</p>
    <pre><code class="language-php">log_me(array('This is a message' => 'for debugging purposes'));
    log_me('This is a message for debugging purposes');</code></pre>
    <h4>Use the BlackBox Debug Bar Plugin</h4>
    <p>I only recently discovered this plugin, but it’s already been a huge help as I work on my own plugins. The <a href="http://ditio.net/2011/01/29/wordpress-debug-bar-plugin-blackbox/">BlackBox</a><sup class="po" id="note-2"><a href="#2">2</a></sup> plugin adds a thin black bar to the top of any WordPress post or page, and provides quick access to errors, global variables, profile data, and SQL queries.</p>
    <p><img src="http://www.smashingmagazine.com/wp-content/uploads/2011/02/debug-bar-black1.jpg" alt="" title="debug-bar-black" width="525" height="27" class="alignnone size-full wp-image-90255" /></p>
    <p>Clicking on the Globals tab in the bar shows all of the global variables and their values that were part of the request, essentially everything in the $_GET, $_POST, $_COOKIE, $_SESSION, and $_SERVER variables:</p>
    <p><img src="http://www.smashingmagazine.com/wp-content/uploads/2011/02/debug-bar-globals1.jpg" alt="" title="debug-bar-globals" width="525" height="353" class="alignnone size-full wp-image-90251" /></p>
    <p>The next tab is the Profiler, which displays the time that passed since the profiler was started and the total memory WordPress was using when the checkpoint was reached:</p>
    <p><img src="http://www.smashingmagazine.com/wp-content/uploads/2011/02/debug-bar-profiler1.jpg" alt="" title="debug-bar-profiler" width="525" height="98" class="alignnone size-full wp-image-90252" /></p>
    <p>You can add your own checkpoints to the Profiler by putting this line of code anywhere in your plugin where you want to capture a measurement:</p>
    <pre><code class="language-php">apply_filters('debug', 'This is a checkpoint');</code></pre>
    <p>Perhaps the most valuable tab in the BlackBox plugin is the SQL tab, which shows you all of the database queries that executed as part of the request. Very useful for determining long-running database calls:</p>
    <p><img src="http://www.smashingmagazine.com/wp-content/uploads/2011/02/debug-bar-sql1.jpg" alt="" title="debug-bar-sql" width="525" height="176" class="alignnone size-full wp-image-90253" /></p>
    <p>And finally we have the Errors tab, which lists all of the notices, warnings, and errors that occurred during the request:</p>
    <p><img src="http://www.smashingmagazine.com/wp-content/uploads/2011/02/debug-bar-errors1.jpg" alt="" title="debug-bar-errors" width="525" height="111" class="alignnone size-full wp-image-90250" /></p>
    <p>By providing quick access to essential debug information, the BlackBox plugin is a big-timer when it comes to debugging your WordPress plugin.</p>
    <h3>Prefix Your Functions</h3>
    <p>One of the first things that bit me when I started developing WordPress plugins was finding out that other plugin developers sometimes use the same names for functions that I use. For example, function names like <code>copy_file()</code>, <code>save_data()</code>, and <code>database_table_exists()</code> have a decent chance of being used by other plugins in addition to yours.</p>
    <p>The reason for this is because when WordPress activates a plugin, PHP loads the functions from the plugin into the WordPress execution space, where all functions from all plugins live together. There is no separation or isolation of functions for each plugin, which means that <strong>each function must be uniquely named</strong>.</p>
    <p>Fortunately, there is an easy way around this, and it’s to name all of your plugin functions with a prefix. For example, the common functions I mentioned previously might now look like this:</p>
    <pre><code class="language-php">function myplugin_copy_file() {
    }
    function myplugin_save_data() {
    }
    function myplugin_database_table_exists() {
    }</code></pre>
    <p>Another common naming convention is to use a prefix that is an abbreviation of your plugin’s name, such as “My Awesome WordPress Plugin”, in which case the function names would be:</p>
    <pre><code class="language-php">function mawp_copy_file() {
    }
    function mawp_save_data() {
    }
    function mawp_database_table_exists() {
    }</code></pre>
    <p>There is one caveat to this, however. If you use PHP classes that contain your functions (which in many cases is a good idea), you don’t really have to worry about clashing with functions defined elsewhere. For example, let’s say you have a class in your plugin named “CommonFunctions” with a <code>copy_file()</code> function, and another plugin has the same <code>copy_file()</code> function defined, but not in a class. Invoking the two functions would look similar to this:</p>
    <pre><code class="language-php">// Calls the copy_file() function from your class
    $common = new CommonFunctions();
    $common->copy_file();
    // Calls the copy_file() function from the other plugin
    copy_file();</code></pre>
    <p><strong>By using classes, the need to explicitly prefix your functions goes away.</strong> Just keep in mind that WordPress will raise an error if you use a function name that’s already taken, so keep an eye on the debug.log file to know if you’re in the clear or not.</p>
    <h3>Global Paths Are Handy</h3>
    <p>Writing the PHP code to make your plugin work is one thing, but if you want to make it look and feel good at the same time, you’ll need to include some images, CSS, and perhaps a little JavaScript as well (maybe in the form of a jQuery plugin). And in typical fashion, you’ll most likely organize these files into their own folders, such as “images”, “css”, and “js”.</p>
    <p>That’s all well and good, but how should you code your plugin so that it can always find those files, no matter what domain the plugin is running under? The best way that I’ve found is to <strong>create your own global paths</strong> that can be used anywhere in your plugin code.</p>
    <p>For example, I always create four global variables for my plugins, one each for the following:</p>
    <ul>
    <li>The path to the theme directory</li>
    <li>The name of the plugin</li>
    <li>The path to the plugin directory</li>
    <li>The url of the plugin</li>
    </ul>
    <p>For which the code looks like this:</p>
    <pre><code class="language-php">if (!defined('MYPLUGIN_THEME_DIR'))
        define('MYPLUGIN_THEME_DIR', ABSPATH . 'wp-content/themes/' . get_template());
    if (!defined('MYPLUGIN_PLUGIN_NAME'))
        define('MYPLUGIN_PLUGIN_NAME', trim(dirname(plugin_basename(__FILE__)), '/'));
    if (!defined('MYPLUGIN_PLUGIN_DIR'))
        define('MYPLUGIN_PLUGIN_DIR', WP_PLUGIN_DIR . '/' . MYPLUGIN_PLUGIN_NAME);
    if (!defined('MYPLUGIN_PLUGIN_URL'))
        define('MYPLUGIN_PLUGIN_URL', WP_PLUGIN_URL . '/' . MYPLUGIN_PLUGIN_NAME);</code></pre>
    <p>Having these global paths defined lets me write the code below in my plugin anywhere I need to, and I know it will resolve correctly for any website that uses the plugin:</p>
    <pre><code class="language-php">$image = MYPLUGIN_PLUGIN_URL . '/images/my-image.jpg';
    $style = MYPLUGIN_PLUGIN_URL . '/css/my-style.css';
    $script = MYPLUGIN_PLUGIN_URL . '/js/my-script.js';</code></pre>
    <h3>Store the Plugin Version for Upgrades</h3>
    <p>When it comes to WordPress plugins, one of the things you’ll have to deal with sooner or later is upgrades. For instance, let’s say the first version of your plugin required one database table, but the next version requires another table. How do you know if you should run the code that creates the second database table?</p>
    <p>I suggest storing the plugin version in the WordPress database so that you can read it later to decide certain upgrade actions your plugin should take. To do this, you’ll need to create a couple more global variables and invoke the <code>add_option()</code> function:</p>
    <pre><code class="language-php">if (!defined('MYPLUGIN_VERSION_KEY'))
        define('MYPLUGIN_VERSION_KEY', 'myplugin_version');
    if (!defined('MYPLUGIN_VERSION_NUM'))
        define('MYPLUGIN_VERSION_NUM', '1.0.0');
    add_option(MYPLUGIN_VERSION_KEY, MYPLUGIN_VERSION_NUM);</code></pre>
    <p>I certainly could have simply called <code>add_option('myplugin_version', '1.0.0');</code> without the need for the global variables, but like the global path variables, I’ve found these just as handy for using in other parts of a plugin, such as a Dashboard or About page.</p>
    <p>Also note that <code>update_option()</code> could have been used instead of <code>add_option()</code>. The difference is that <code>add_option()</code> does nothing if the option already exists, whereas <code>update_option()</code> checks to see if the option already exists, and if it doesn’t, it will add the option to the database using <code>add_option()</code>; otherwise, it updates the option with the value provided.</p>
    <p>Then, when it comes time to check whether or not to perform upgrade actions, your plugin will end up with code that looks similar to this:</p>
    <pre><code class="language-php">$new_version = '2.0.0';
    if (get_option(MYPLUGIN_VERSION_KEY) != $new_version) {
        // Execute your upgrade logic here
        // Then update the version value
        update_option(MYPLUGIN_VERSION_KEY, $new_version);
    }</code></pre>
    <h3>Use dbDelta() to Create/Update Database Tables</h3>
    <p>If your plugin requires its own database tables, you will inevitably need to modify those tables in future versions of your plugin. This can get a bit tricky to manage if you’re not careful, but WordPress helps alleviate this problem by providing the <code>dbDelta()</code> function.</p>
    <p>A useful feature of the <code>dbDelta()</code> function is that it can be used for both creating and updating tables, but according to the WordPress codex page <a href="http://codex.wordpress.org/Creating_Tables_with_Plugins">“Creating Tables with Plugins”</a><sup class="po" id="note-3"><a href="#3">3</a></sup>, it’s a little picky:</p>
    <ul>
    <li>You have to put each field on its own line in your SQL statement.</li>
    <li>You have to have two spaces between the words PRIMARY KEY and the definition of your primary key.</li>
    <li>You must use the keyword KEY rather than its synonym INDEX and you must include at least one KEY.</li>
    </ul>
    <p>Knowing these rules, we can use the function below to create a table that contains an ID, a name, and an email:</p>
    <pre><code class="language-php">function myplugin_create_database_table() {
        global $wpdb;
        $table = $wpdb->prefix . 'myplugin_table_name';
        $sql = "CREATE TABLE " . $table . " (
                  id INT NOT NULL AUTO_INCREMENT,
                  name VARCHAR(100) NOT NULL DEFAULT '',
                  email VARCHAR(100) NOT NULL DEFAULT '',
                  UNIQUE KEY id (id)
                  );";
        require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
        dbDelta($sql);
    }</code></pre>
    <p><em><strong>Important:</strong> The <code>dbDelta()</code> function is found in <strong>wp-admin/includes/upgrade.php</strong>, but it has to be included manually because it’s not loaded by default.</em></p>
    <p>So now we have a table, but in the next version we need to expand the size of the name column from 100 to 250. Fortunately <code>dbDelta()</code> makes this straightforward, and using our upgrade logic previously, the next version of the plugin will have code similar to this:</p>
    <pre><code class="language-php">$new_version = '2.0.0';
    if (get_option(MYPLUGIN_VERSION_KEY) != $new_version) {
        myplugin_update_database_table();
        update_option(MYPLUGIN_VERSION_KEY, $new_version);
    }
    function myplugin_update_database_table() {
        global $wpdb;
        $table = $wpdb->prefix . 'myplugin_table_name';
        $sql = "CREATE TABLE " . $table . " (
                  id INT NOT NULL AUTO_INCREMENT,
                  name VARCHAR(250) NOT NULL DEFAULT '', // Bigger name column
                  email VARCHAR(100) NOT NULL DEFAULT '',
                  UNIQUE KEY id (id)
                  );";
        require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
        dbDelta($sql);
    }</code></pre>
    <p>While there are other ways to create and update database tables for your WordPress plugin, it’s hard to ignore the flexibility of the <code>dbDelta()</code> function.</p>
    <h3>Know the Difference Between include, include_once, require, and require_once</h3>
    <p>There will come a time during the development of your plugin where you will want to put code into other files so that maintaining your plugin is a bit easier. For instance, a common practice is to create a functions.php file that contains all of the shared functions that all of the files in your plugin can use.</p>
    <p>Let’s say your main plugin file is named myplugin.php and you want to include the functions.php file. You can use any of these lines of code to do it:</p>
    <pre><code class="language-php">include 'functions.php';
    include_once 'functions.php';
    require 'functions.php';
    require_once 'functions.php';</code></pre>
    <p>But which should you use? It mostly depends on your expected outcome of the file not being there.</p>
    <ul>
    <li><strong>include:</strong> Includes and evaluates the specified file, throwing a warning if the file can’t be found.</li>
    <li><strong>include_once:</strong> Same as include, but if the file has already been included it will not be included again.</li>
    <li><strong>require:</strong> Includes and evaluates the specified file (same as include), but instead of a warning, throws a fatal error if the file can’t be found.</li>
    <li><strong>require_once:</strong> Same as require, but if the file has already been included it will not be included again.</li>
    </ul>
    <p>My experience has been to always use <code>include_once</code> because a) how I structure and use my files usually requires them to be included once and only once, and b) if a required file can’t be found I don’t expect parts of the plugin to work, but it doesn’t need to break anything else either.</p>
    <p>Your expectations may vary from mine, but it’s important to know the subtle differences between the four ways of including files.</p>
    <h3>Use bloginfo(‘wpurl’) Instead of bloginfo(‘url’)</h3>
    <p>By and large, WordPress is installed in the root folder of a website; it’s standard operating procedure. However, every now and then you’ll come across websites that install WordPress into a separate subdirectory under the root. Seems innocent enough, but the location of WordPress is critically important.</p>
    <p>To demonstrate, in the “General Settings” section of the WordPress admin panel, you’ll find the “WordPress address (URL)” and “Site address (URL)” settings, and for sites where WordPress is installed into the root directory, they will have the exact same values:</p>
    <p><img src="http://www.smashingmagazine.com/wp-content/uploads/2011/02/general-settings-same-url.jpg" alt="" title="general-settings-same-url" width="525" height="84" class="alignnone size-full wp-image-90926" /></p>
    <p>But for sites where WordPress is installed into a subdirectory under the root (in this case a “wordpress” subdirectory), their values will be different:</p>
    <p><img src="http://www.smashingmagazine.com/wp-content/uploads/2011/02/general-settings-different-url.jpg" alt="" title="general-settings-different-url" width="525" height="84" class="alignnone size-full wp-image-90925" /></p>
    <p>At this stage it’s important to know the following:</p>
    <ul>
    <li><strong>bloginfo(‘wpurl’)</strong> equals the “WordPress address (URL)” setting</li>
    <li><strong>bloginfo(‘url’)</strong> equals the “Site address (URL)” setting</li>
    </ul>
    <p>Where this matters is when you need to build URLs to certain resources or pages. For example, if you want to provide a link to the WordPress login screen, you could do this:</p>
    <pre><code class="language-php">// URL will be http://mydomain.com/wp-login.php
    <a href="<?php bloginfo('url') ?>/wp-login.php">Login</a></code></pre>
    <p>But that won’t resolve to the correct URL in the scenario such as the one above where WordPress is installed to the “wordpress” subdirectory. To do this correctly, you must use <code>bloginfo('wpurl')</code> instead:</p>
    <pre><code class="language-php">// URL will be http://mydomain.com/wordpress/wp-login.php
    <a href="<?php bloginfo('wpurl') ?>/wp-login.php">Login</a></code></pre>
    <p>Using <code>bloginfo('wpurl')</code> instead of <code>bloginfo('url')</code> is the safest way to go when building links and URLs inside your plugin because it works in both scenarios: when WordPress is installed in the root of a website and also when it’s installed in a subdirectory. Using <code>bloginfo('url')</code> only gets you the first one.</p>
    <h3>How and When to Use Actions and Filters</h3>
    <p>WordPress allows developers to add their own code during the execution of a request by providing various hooks. These hooks come in the form of actions and filters:</p>
    <ul>
    <li><strong>Actions</strong>: WordPress invokes actions at certain points during the execution request and when certain events occur.</li>
    <li><strong>Filters</strong>: WordPress uses filters to modify text before adding it to the database and before displaying it on-screen.</li>
    </ul>
    <p>The number of actions and filters is quite large, so we can’t get into them all here, but let’s at least take a look at how they are used.</p>
    <p>Here’s an example of how to use the <code>admin_print_styles</code> action, which allows you to add your own stylesheets to the WordPress admin pages:</p>
    <pre><code class="language-php">add_action('admin_print_styles', 'myplugin_admin_print_styles');
    function myplugin_admin_print_styles() {
        $handle = 'myplugin-css';
        $src = MYPLUGIN_PLUGIN_URL . '/styles.css';
        wp_register_style($handle, $src);
        wp_enqueue_style($handle);
    }</code></pre>
    <p>And here’s how you would use the <code>the_content</code> filter to add a “Follow me on Twitter!” link to the bottom of every post:</p>
    <pre><code class="language-php">add_filter('the_content', 'myplugin_the_content');
    function myplugin_the_content($content) {
        $output = $content;
        $output .= '<p>';
        $output .= '<a href="http://twitter.com/username">Follow me on Twitter!</a>';
        $output .= '</p>';
        return $output;
    }</code></pre>
    <p>It’s impossible to write a WordPress plugin without actions and filters, and knowing what’s available to use and when to use them can make a big difference. See the WordPress codex page <a href="http://codex.wordpress.org/Plugin_API/Action_Reference">“Plugin API/Action Reference”</a><sup class="po" id="note-4"><a href="#4">4</a></sup> for the complete list of actions and the page <a href="http://codex.wordpress.org/Plugin_API/Filter_Reference">“Plugin API/Filter Reference”</a><sup class="po" id="note-5"><a href="#5">5</a></sup> for the complete list of filters.</p>
    <p><em><strong>Tip:</strong> Pay close attention to the order in which the actions are listed on its codex page. While not an exact specification, my experimentation and trial-and-error has shown it to be pretty close to the order in which actions are invoked during the WordPress request pipeline.</em></p>
    <h3>Add Your Own Settings Page or Admin Menu</h3>
    <p>Many WordPress plugins require users to enter settings or options for the plugin to operate properly, and the way plugin authors accomplish this is by either adding their own settings page to an existing menu or by adding their own new top-level admin menu to WordPress.</p>
    <h4>How to Add a Settings Page</h4>
    <p>A common practice for adding your own admin settings page is to use the <code>add_menu()</code> hook to call the <code>add_options_page()</code> function:</p>
    <pre><code class="language-php">add_action('admin_menu', 'myplugin_admin_menu');
    function myplugin_admin_menu() {
        $page_title = 'My Plugin Settings';
        $menu_title = 'My Plugin';
        $capability = 'manage_options';
        $menu_slug = 'myplugin-settings';
        $function = 'myplugin_settings';
        add_options_page($page_title, $menu_title, $capability, $menu_slug, $function);
    }
    function myplugin_settings() {
        if (!current_user_can('manage_options')) {
            wp_die('You do not have sufficient permissions to access this page.');
        }
        // Here is where you could start displaying the HTML needed for the settings
        // page, or you could include a file that handles the HTML output for you.
    }</code></pre>
    <p>By invoking the <code>add_options_page()</code> function, we see that the “My Plugin” option has been added to the built-in <strong>Settings</strong> menu in the WordPress admin panel:</p>
    <p class="showcase"><img src="http://www.smashingmagazine.com/wp-content/uploads/2011/02/admin-menu-options-page.jpg" alt="" title="admin-menu-options-page" width="147" height="207" class="alignnone size-full wp-image-91029" /></p>
    <p>The <code>add_options_page()</code> function is really just a wrapper function on top of the <code>add_submenu_page()</code> function, and there are other wrapper functions that do similar work for the other sections of the WordPress admin panel:</p>
    <ul>
    <li>add_dashboard_page()</li>
    <li>add_posts_page()</li>
    <li>add_media_page()</li>
    <li>add_links_page()</li>
    <li>add_pages_page()</li>
    <li>add_comments_page()</li>
    <li>add_theme_page()</li>
    <li>add_plugins_page()</li>
    <li>add_users_page()</li>
    <li>add_management_page()</li>
    </ul>
    <h4>How to Add a Custom Admin Menu</h4>
    <p>Those wrapper functions work great, but what if you wanted to create your own admin menu section for your plugin? For example, what if you wanted to create a “My Plugin” admin section with more than just the Settings page, such as a Help page? This is how you would do that:</p>
    <pre><code class="language-php">add_action('admin_menu', 'myplugin_menu_pages');
    function myplugin_menu_pages() {
        // Add the top-level admin menu
        $page_title = 'My Plugin Settings';
        $menu_title = 'My Plugin';
        $capability = 'manage_options';
        $menu_slug = 'myplugin-settings';
        $function = 'myplugin_settings';
        add_menu_page($page_title, $menu_title, $capability, $menu_slug, $function);
        // Add submenu page with same slug as parent to ensure no duplicates
        $sub_menu_title = 'Settings';
        add_submenu_page($menu_slug, $page_title, $sub_menu_title, $capability, $menu_slug, $function);
        // Now add the submenu page for Help
        $submenu_page_title = 'My Plugin Help';
        $submenu_title = 'Help';
        $submenu_slug = 'myplugin-help';
        $submenu_function = 'myplugin_help';
        add_submenu_page($menu_slug, $submenu_page_title, $submenu_title, $capability, $submenu_slug, $submenu_function);
    }
    function myplugin_settings() {
        if (!current_user_can('manage_options')) {
            wp_die('You do not have sufficient permissions to access this page.');
        }
        // Render the HTML for the Settings page or include a file that does
    }
    function myplugin_help() {
        if (!current_user_can('manage_options')) {
            wp_die('You do not have sufficient permissions to access this page.');
        }
        // Render the HTML for the Help page or include a file that does
    }</code></pre>
    <p>Notice that this code doesn’t use any of the wrapper functions. Instead, it calls <code>add_menu_page()</code> (for the parent menu page) and <code>add_submenu_page()</code> (for the child pages) to create a separate “My Plugin” admin menu that contains the Settings and Help pages:</p>
    <p class="showcase"><img src="http://www.smashingmagazine.com/wp-content/uploads/2011/02/admin-menu-custom.jpg" alt="" title="admin-menu-custom" width="147" height="233" class="alignnone size-full wp-image-91091" /></p>
    <p>One advantage of adding your own custom menu is that <strong>it’s easier for users to find the settings for your plugin</strong> because they aren’t buried within one of the built-in WordPress admin menus. Keeping that in mind, if your plugin is simple enough to only require a single admin page, then using one of the wrapper functions might make the most sense. But if you need more than that, creating a custom admin menu is the way to go.</p>
    <h3>Provide a Shortcut to Your Settings Page with Plugin Action Links</h3>
    <p>In much the same way that adding your own custom admin menu helps give the sense of a well-rounded plugin, plugin action links work in the same fashion. So what are plugin action links? It’s best to start with a picture:</p>
    <p><img src="http://www.smashingmagazine.com/wp-content/uploads/2011/02/plugin-action-links-none.jpg" alt="" title="plugin-action-links-none" width="525" height="118" class="alignnone size-full wp-image-91097" /></p>
    <p>See the “Deactivate” and “Edit” links underneath the name of the plugin? Those are plugin action links, and WordPress provides a filter named <code>plugin_action_links</code> for you to add more. Basically, <strong>plugin action links are a great way to add a quick shortcut to your most commonly used admin menu page</strong>.</p>
    <p>Keeping with our Settings admin page, here’s how we would add a plugin action link for it:</p>
    <pre><code class="language-php">add_filter('plugin_action_links', 'myplugin_plugin_action_links', 10, 2);
    function myplugin_plugin_action_links($links, $file) {
        static $this_plugin;
        if (!$this_plugin) {
            $this_plugin = plugin_basename(__FILE__);
        }
        if ($file == $this_plugin) {
            // The "page" query string value must be equal to the slug
            // of the Settings admin page we defined earlier, which in
            // this case equals "myplugin-settings".
            $settings_link = '<a href="' . get_bloginfo('wpurl') . '/wp-admin/admin.php?page=myplugin-settings">Settings</a>';
            array_unshift($links, $settings_link);
        }
        return $links;
    }</code></pre>
    <p>With this code in place, now when you view your plugins list you’ll see this:</p>
    <p><img src="http://www.smashingmagazine.com/wp-content/uploads/2011/02/plugin-action-links-settings.jpg" alt="" title="plugin-action-links-settings" width="550" height="118" class="alignnone size-full wp-image-91112" /></p>
    <p>Here we provided a plugin action link to the Settings admin page, which is the same thing as clicking on Settings from our custom admin menu. The benefit of the plugin action link is that <strong>users see it immediately after they activate the plugin</strong>, thus adding to the overall experience.</p>
    <h3>Additional Resources</h3>
    <p>I’ve covered a lot in this article, but there’s plenty more out there to keep you busy awhile. The most comprehensive documentation for WordPress plugin development can be found on the <a href="http://codex.wordpress.org/">WordPress Codex</a><sup class="po" id="note-6"><a href="#6">6</a></sup>, a huge collection of pages documenting everything that is WordPress. Below are some of the more pertinent links from the codex you’ll need:</p>
    <ul>
    <li><a href="http://codex.wordpress.org/Writing_a_Plugin">Writing a Plugin</a><sup class="po" id="note-7"><a href="#7">7</a></sup> – If you’re brand new to WordPress plugin development, start here.</li>
    <li><a href="http://codex.wordpress.org/Plugin_API/Action_Reference">Plugin API – Action Reference</a><sup class="po" id="note-8"><a href="#8">8</a></sup></li>
    <li><a href="http://codex.wordpress.org/Plugin_API/Filter_Reference">Plugin API – Filter Reference</a><sup class="po" id="note-9"><a href="#9">9</a></sup></li>
    <li><a href="http://codex.wordpress.org/Pluggable_Functions">Pluggable Functions</a><sup class="po" id="note-10"><a href="#10">10</a></sup></li>
    <li><a href="http://codex.wordpress.org/Data_Validation">Data Validation</a><sup class="po" id="note-11"><a href="#11">11</a></sup></li>
    </ul>
    <p>I also suggest reading Joost de Valk’s article “<a href="http://www.smashingmagazine.com/2010/07/30/lessons-learned-from-maintaining-a-wordpress-plug-in/">Lessons Learned From Maintaining a WordPress Plug-In</a><sup class="po" id="note-12"><a href="#12">12</a></sup>“, which provides more good tips on WordPress plugin development.</p>
    <p><em>(vf) (ik)</em></p>
    <h4 class="po">Footnotes</h4><ol class="po"><li id="#1"><a href="#note-1">1 http://www.smashingmagazine.com/wp-content/uploads/2011/03/wordpress_plugin.jpg</a></li><li id="#2"><a href="#note-2">2 http://ditio.net/2011/01/29/wordpress-debug-bar-plugin-blackbox/</a></li><li id="#3"><a href="#note-3">3 http://codex.wordpress.org/Creating_Tables_with_Plugins</a></li><li id="#4"><a href="#note-4">4 http://codex.wordpress.org/Plugin_API/Action_Reference</a></li><li id="#5"><a href="#note-5">5 http://codex.wordpress.org/Plugin_API/Filter_Reference</a></li><li id="#6"><a href="#note-6">6 http://codex.wordpress.org/</a></li><li id="#7"><a href="#note-7">7 http://codex.wordpress.org/Writing_a_Plugin</a></li><li id="#8"><a href="#note-8">8 http://codex.wordpress.org/Plugin_API/Action_Reference</a></li><li id="#9"><a href="#note-9">9 http://codex.wordpress.org/Plugin_API/Filter_Reference</a></li><li id="#10"><a href="#note-10">10 http://codex.wordpress.org/Pluggable_Functions</a></li><li id="#11"><a href="#note-11">11 http://codex.wordpress.org/Data_Validation</a></li><li id="#12"><a href="#note-12">12 http://www.smashingmagazine.com/2010/07/30/lessons-learned-from-maintaining-a-wordpress-plug-in/</a></li></ol>                                           <div id="textadtarget"></div>
                            <div class="lt">
                <a href="http://www.smashingmagazine.com/tag/essentials/">Essentials</a><a href="http://www.smashingmagazine.com/tag/php/">PHP</a><a href="http://www.smashingmagazine.com/tag/plugins/">Plugins</a>        </div>
            <p><a href="#top" class="top single" title="Jump to the top of the page">↑ Back to top</a><a class="sot single" href="https://twitter.com/intent/tweet?original_referer=http%3A%2F%2Fwww.smashingmagazine.com%2F2011%2F03%2F08%2Ften-things-every-wordpress-plugin-developer-should-know%2F&source=tweetbutton&text=Ten%20Things%20Every%20WordPress%20Plugin%20Developer%20Should%20Know&url=http%3A%2F%2Fwww.smashingmagazine.com%2F2011%2F03%2F08%2Ften-things-every-wordpress-plugin-developer-should-know%2F&via=smashingmag" title="Share on Twitter!">Share on Twitter</a></p>
        </article>
        <div class="bio clearfix">
            <div class="grv">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/5d1c4c4bffa1f1133b17dc54f7bf40d1?s=78&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D78&r=G" class="avatar avatar-78 photo" height="78" width="78" />        </div>
            <div class="about">
                <a rel="author" class="poa" href="http://www.smashingmagazine.com/author/dave-donaldson/?rel=author" title="Posts by Dave Donaldson">Dave Donaldson</a>            <p>Dave lives in Columbus, OH and is one of the founders of <a href="http://maxfoundry.com/">Max Foundry</a>, a company that makes WordPress plugins for <a href="http://maxfoundry.com/plugins/maxlanding/">landing pages</a>, <a href="http://maxfoundry.com/plugins/maxsqueeze/">squeeze pages</a>, <a href="http://maxfoundry.com/plugins/maxsales/">sales pages</a>, and <a href="http://maxfoundry.com/plugins/maxab/">A/B testing</a>. You can <a href="http://twitter.com/arcware">follow Dave on Twitter</a> and <a href="http://arcware.net">on his blog</a>, where he writes about living the bootstrapped startup life.</p>
            </div>
        </div>
            <div class="ras clearfix">
            <h2>Related Articles</h2>
                            <div class="ra clearfix">
                        <a class="pp" href="http://www.smashingmagazine.com/2014/09/25/the-ultimate-guide-to-choosing-a-wordpress-host/"><img width="84" height="84" src="http://www.smashingmagazine.com/wp-content/uploads/2014/09/illu-wp-14.jpg" class="attachment-related-thumb wp-post-image" alt="illu-wp-14" /></a>
                        <h3><a href="http://www.smashingmagazine.com/2014/09/25/the-ultimate-guide-to-choosing-a-wordpress-host/">The Ultimate Guide To Choosing A WordPress Host</a></h3>
                    </div>
                            <div class="ra clearfix">
                        <a class="pp" href="http://www.smashingmagazine.com/2014/08/27/customizing-wordpress-archives-categories-terms-taxonomies/"><img width="84" height="84" src="http://www.smashingmagazine.com/wp-content/uploads/2014/08/wordpress-blue-illu.jpg" class="attachment-related-thumb wp-post-image" alt="wordpress-blue-illu" /></a>
                        <h3><a href="http://www.smashingmagazine.com/2014/08/27/customizing-wordpress-archives-categories-terms-taxonomies/">Customizing WordPress Archives For Categories, Tags And Other Taxonomies</a></h3>
                    </div>
                            <div class="ra clearfix">
                        <a class="pp" href="http://www.smashingmagazine.com/2014/08/27/a-tour-of-wordpress-4-0/"><img width="84" height="84" src="http://www.smashingmagazine.com/wp-content/uploads/2014/08/wp-logo-4-0-illu.png" class="attachment-related-thumb wp-post-image" alt="wp-logo-4-0-illu" /></a>
                        <h3><a href="http://www.smashingmagazine.com/2014/08/27/a-tour-of-wordpress-4-0/">A Quick Tour Of WordPress 4.0</a></h3>
                    </div>
                </div>
        <div class="adv">
        <span class="declare">Advertising</span>
        <div id="commentspnsrtarget"></div>
    </div>
    <ul id="comments" class="sub-tabs clearfix">
        <li><a href="#show-comments" class="active">94 Comments</a></li>
        </ul>
    <div id="discussion" class="subtab-pages">
        <div id="show-comments">
                        <ol id="comments-overview" class="cl">
                        <li class="comment even thread-even depth-1 clearfix">
            <span class="cn">1</span>
            <div class="c" id="comment-169926">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/b473ef78b653e5aa33656f54f7f090bc?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Eddie Gear</h3>
                    <span class="dati">
                        <a title="Commentlink #1" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169926">
                            March 8, 2011 5:48 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Great insights Dave. I loved the way you have pointed out the things that any developer that needs to keep track of. Thanks for sharing.</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169926" class="inpsyde_extended_comments_rate positive">3</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169926" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment odd alt thread-odd thread-alt depth-1 clearfix">
            <span class="cn">2</span>
            <div class="c" id="comment-169927">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/be19e396141c6328782a2852844d58f1?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Frederick Luna</h3>
                    <span class="dati">
                        <a title="Commentlink #2" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169927">
                            March 8, 2011 6:07 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Intersting stuff about adding a custom menu and a settings page :D great post Dave.</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169927" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169927" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment even thread-even depth-1 clearfix">
            <span class="cn">3</span>
            <div class="c" id="comment-169928">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/53c424111bd9e2571763aed8c55c3745?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Matt Rittman</h3>
                    <span class="dati">
                        <a title="Commentlink #3" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169928">
                            March 8, 2011 6:26 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Great article Dave! This will really help out my future endeavors with WordPress plugin development. Thanks for sharing!</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169928" class="inpsyde_extended_comments_rate positive">3</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169928" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment odd alt thread-odd thread-alt depth-1 clearfix">
            <span class="cn">4</span>
            <div class="c" id="comment-169929">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/0b95637f2168ded35b2d9812f3fbaf9f?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>David</h3>
                    <span class="dati">
                        <a title="Commentlink #4" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169929">
                            March 8, 2011 6:27 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>This is brilliant, thanks for the write up. Bookmarked! I see that you recommend the Blackbox debug plugin. Having just started creating my own plugins, why this and not the DebugBar plugin (<a href="http://wordpress.org/extend/plugins/debug-bar/" rel="nofollow">http://wordpress.org/extend/plugins/debug-bar/</a>)? What’s the primary difference?</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169929" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169929" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        <ul class="children">
        <li class="comment even depth-2 clearfix">
            <span class="cn">5</span>
            <div class="c" id="comment-169959">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/7f46ae04d74b786bcaabec5a431c7937?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Dave Donaldson</h3>
                    <span class="dati">
                        <a title="Commentlink #5" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169959">
                            March 8, 2011 3:31 pm                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>@David – I didn’t include the DebugBar plugin because it requires WordPress 3.1, which was only in Release Candidate mode at the time of writing. Both plugins provide similar debug info, so I suggest trying both and going with the one you like best.</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169959" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169959" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
    </ul><!-- .children -->
    </li><!-- #comment-## -->
        <li class="comment odd alt thread-even depth-1 clearfix">
            <span class="cn">6</span>
            <div class="c" id="comment-169930">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/fd58a5b6b89266f6095d15566f290ecd?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Chris</h3>
                    <span class="dati">
                        <a title="Commentlink #6" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169930">
                            March 8, 2011 6:35 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Great advices! I wish it would have been released much earlier – could have saved me a lot of time and trouble :)</p>
    <p>Regarding bloginfo(wpurl): The codex says to use site_url() instead, for it also supports https, eg. if is_ssl() is true.</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169930" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169930" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        <ul class="children">
        <li class="comment even depth-2 clearfix">
            <span class="cn">7</span>
            <div class="c" id="comment-169935">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/7f46ae04d74b786bcaabec5a431c7937?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Dave Donaldson</h3>
                    <span class="dati">
                        <a title="Commentlink #7" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169935">
                            March 8, 2011 7:09 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>@Chris – I can’t find the codex article that says to use site_url() instead of bloginfo(‘wpurl’), but yes, I suppose you could do that. There seems to be some confusion about whether or not site_url() includes the install directory of WordPress (if installed in a subdirectory), but looking at the core WordPress code it looks like it does.</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169935" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169935" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        <ul class="children">
        <li class="comment odd alt depth-3 clearfix">
            <span class="cn">8</span>
            <div class="c" id="comment-169995">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/46e57cfd694f0c9c91737a14e4913af8?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Christofer</h3>
                    <span class="dati">
                        <a title="Commentlink #8" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169995">
                            March 15, 2011 12:03 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>@Dave — Maybe, this is the page Chris referred to:<br />
    <a href="http://codex.wordpress.org/Function_Reference/get_bloginfo" rel="nofollow">http://codex.wordpress.org/Function_Reference/get_bloginfo</a></p>
    <p>“‘wpurl’ / ‘siteurl’ – Returns the ‘WordPress address (URI)’ [..] Consider using site_url() instead.”</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169995" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169995" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
    </ul><!-- .children -->
    </li><!-- #comment-## -->
    </ul><!-- .children -->
    </li><!-- #comment-## -->
        <li class="comment even thread-odd thread-alt depth-1 clearfix">
            <span class="cn">9</span>
            <div class="c" id="comment-169931">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/c41cbd0f894f1c1d570ab99a568e41d2?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Pete</h3>
                    <span class="dati">
                        <a title="Commentlink #9" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169931">
                            March 8, 2011 6:38 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Nice article, thanks for sharing. I especially like the notes on debugging & function prefixes. Hopefully this will change the coding habits of some Developers when writing a WP plugin.</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169931" class="inpsyde_extended_comments_rate positive">1</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169931" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment odd alt thread-even depth-1 clearfix">
            <span class="cn">10</span>
            <div class="c" id="comment-169932">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/1486cf246811f6cdaa9894d7f9ede233?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Donna Vitan</h3>
                    <span class="dati">
                        <a title="Commentlink #10" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169932">
                            March 8, 2011 6:48 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Another awesome and well described tutorial Dave! I especially love how concise the part about creating admin settings panel and menu.</p>
    <p>Cheers,</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169932" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169932" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment even thread-odd thread-alt depth-1 clearfix">
            <span class="cn">11</span>
            <div class="c" id="comment-169933">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/9c97d846b29e7a50e82af8ab40225023?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Thomas Bachmann</h3>
                    <span class="dati">
                        <a title="Commentlink #11" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169933">
                            March 8, 2011 6:55 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>thanks!<br />
    … if you are a trained professional developer and familiar with PHP only half of it should be new (wordpress specifics)</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169933" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169933" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment odd alt thread-even depth-1 clearfix">
            <span class="cn">12</span>
            <div class="c" id="comment-169934">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/e06e23e82d25e39ae6e04e77a3aad1a2?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Hung Bui</h3>
                    <span class="dati">
                        <a title="Commentlink #12" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169934">
                            March 8, 2011 7:04 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Great stuff! Very useful thought.</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169934" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169934" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment even thread-odd thread-alt depth-1 clearfix">
            <span class="cn">13</span>
            <div class="c" id="comment-169936">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/ae17fd59d1f4261b04860e1a8997892c?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>kwasseem</h3>
                    <span class="dati">
                        <a title="Commentlink #13" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169936">
                            March 8, 2011 7:30 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Precise and short; good, clear checkpoints!</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169936" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169936" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment odd alt thread-even depth-1 clearfix">
            <span class="cn">14</span>
            <div class="c" id="comment-169937">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/8f80a2914655c2dddf59bddd8af8e62d?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Samundra Shrestha</h3>
                    <span class="dati">
                        <a title="Commentlink #14" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169937">
                            March 8, 2011 7:33 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Really loved the way you have mentioned the tricks for wordpress developer. I liked the way you described the usuage of require, require_once, include and include_once. All most of us use them but never seem to care since we all use include_once most of the time :).</p>
    <p>I have already been using some of the tricks you have mentioned.</p>
    <p>Great Article.</p>
    <p>best regards,<br />
    Samundra Shrestha<br />
    Realtime Solutions, Nepal</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169937" class="inpsyde_extended_comments_rate negative">-3</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169937" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment even thread-odd thread-alt depth-1 clearfix">
            <span class="cn">15</span>
            <div class="c" id="comment-169938">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/7ba0e1a12efe734f77b4fba4d97dd8ef?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Pieter Carette</h3>
                    <span class="dati">
                        <a title="Commentlink #15" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169938">
                            March 8, 2011 7:35 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Great post. It makes me want to write a plugin! :)</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169938" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169938" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment odd alt thread-even depth-1 clearfix">
            <span class="cn">16</span>
            <div class="c" id="comment-169939">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/21fc7f3431b9b07560c2bdbd6b0389e2?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Joseph Carrington</h3>
                    <span class="dati">
                        <a title="Commentlink #16" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169939">
                            March 8, 2011 7:37 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Good stuff. I’d point out that using a class as a fill-in for a namespace is not exactly the intention of OOP however.</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169939" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169939" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        <ul class="children">
        <li class="comment even depth-2 clearfix">
            <span class="cn">17</span>
            <div class="c" id="comment-169940">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/7f46ae04d74b786bcaabec5a431c7937?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Dave Donaldson</h3>
                    <span class="dati">
                        <a title="Commentlink #17" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169940">
                            March 8, 2011 7:53 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>@Joseph Carrington – You’re right, using classes as a namespace fill-in is not the intention of OOP, but it is a common practice for avoiding function name collisions in PHP and WordPress.</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169940" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169940" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
    </ul><!-- .children -->
    </li><!-- #comment-## -->
        <li class="comment odd alt thread-odd thread-alt depth-1 clearfix">
            <span class="cn">18</span>
            <div class="c" id="comment-169941">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/41d0698209bfdc9cb69b31e8fccd1459?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Josh Hartman</h3>
                    <span class="dati">
                        <a title="Commentlink #18" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169941">
                            March 8, 2011 7:54 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Great info! I wasn’t aware of the bloginfo(‘wpurl’) vs. bloginfo(‘url’) difference.</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169941" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169941" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment even thread-even depth-1 clearfix">
            <span class="cn">19</span>
            <div class="c" id="comment-169942">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/aee526984fe85082c6a902d028806522?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>David</h3>
                    <span class="dati">
                        <a title="Commentlink #19" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169942">
                            March 8, 2011 7:54 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Really enjoyed this. It was encouraging that I found I was already doing most of these things. Some good tips, though, and I’ve updated my plugin with some of these suggestions.</p>
    <p>I tried blackbar, but got tons of deprecated errors, which kind of made me laugh…</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169942" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169942" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        <ul class="children">
        <li class="comment odd alt depth-2 clearfix">
            <span class="cn">20</span>
            <div class="c" id="comment-169943">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/7f46ae04d74b786bcaabec5a431c7937?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Dave Donaldson</h3>
                    <span class="dati">
                        <a title="Commentlink #20" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169943">
                            March 8, 2011 7:57 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>@David – Hehe, yea, the irony of that was not lost on me :-)</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169943" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169943" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
    </ul><!-- .children -->
    </li><!-- #comment-## -->
        <li class="comment even thread-odd thread-alt depth-1 clearfix">
            <span class="cn">21</span>
            <div class="c" id="comment-169944">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/907728625b3b0f36cfc56582a736d10a?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Vivek Parmar</h3>
                    <span class="dati">
                        <a title="Commentlink #21" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169944">
                            March 8, 2011 8:12 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Thanks for so much, getitng started with plugin development and wordpress theme development, and this article help me a lot in knowing many things that i do not know</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169944" class="inpsyde_extended_comments_rate positive">1</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169944" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment odd alt thread-even depth-1 clearfix">
            <span class="cn">22</span>
            <div class="c" id="comment-169945">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/03e89dba5cb218b78f43ac4ca2a6aec7?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>scasmflop</h3>
                    <span class="dati">
                        <a title="Commentlink #22" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169945">
                            March 8, 2011 8:53 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Great article, very informative without straying too far down rabbit trails.  Thanks.</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169945" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169945" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment even thread-odd thread-alt depth-1 clearfix">
            <span class="cn">23</span>
            <div class="c" id="comment-169946">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/429e15ea1f962e579cd1d59b0f0e6d37?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Raherian</h3>
                    <span class="dati">
                        <a title="Commentlink #23" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169946">
                            March 8, 2011 9:25 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Hi,<br />
    Using blackbox-debug-bar with wp_debug on true display a bunch of notices, not very good for developping :/</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169946" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169946" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        <ul class="children">
        <li class="comment odd alt depth-2 clearfix">
            <span class="cn">24</span>
            <div class="c" id="comment-169947">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/7f46ae04d74b786bcaabec5a431c7937?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Dave Donaldson</h3>
                    <span class="dati">
                        <a title="Commentlink #24" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169947">
                            March 8, 2011 9:28 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>@Raherian – But that’s kind of the point of enabling debugging in the first place, to see all of the notices you wouldn’t have otherwise known were there.</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169947" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169947" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        <ul class="children">
        <li class="comment even depth-3 clearfix">
            <span class="cn">25</span>
            <div class="c" id="comment-169955">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/429e15ea1f962e579cd1d59b0f0e6d37?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Raherian</h3>
                    <span class="dati">
                        <a title="Commentlink #25" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169955">
                            March 8, 2011 12:14 pm                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Yes but this plugin is usefull for developping, and i develop with wp_debug true, so having a bunch of notices while developping isn’t good.<br />
    It were a good idea to make a plugin available on repository only if he doesn’t have any notices, like themes ^^</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169955" class="inpsyde_extended_comments_rate positive">1</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169955" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
    </ul><!-- .children -->
    </li><!-- #comment-## -->
    </ul><!-- .children -->
    </li><!-- #comment-## -->
        <li class="comment odd alt thread-even depth-1 clearfix">
            <span class="cn">26</span>
            <div class="c" id="comment-169948">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/ec905543ea918ee9546033a8ec2bfca9?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>aurel</h3>
                    <span class="dati">
                        <a title="Commentlink #26" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169948">
                            March 8, 2011 9:32 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>So far I developed only two themes, both of them using different methods (or no method apart from “hope it will work”)</p>
    <p>it seems that these 10 plugins will make the process much easier to manage and hopefully to be able to understand by things work – that way things could stick in the head when developing the next theme</p>
    <p>thanks</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169948" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169948" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment even thread-odd thread-alt depth-1 clearfix">
            <span class="cn">27</span>
            <div class="c" id="comment-169949">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/fc6a528fe2b60482971b1642577ae43d?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Alan Stevens</h3>
                    <span class="dati">
                        <a title="Commentlink #27" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169949">
                            March 8, 2011 9:32 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Nice article, Dave. I don’t know if there is a codex article on using site_url() but this article has some good tips on guarding for ssl: <a href="http://blogs.sitepoint.com/2011/02/22/crimes-against-wordpress/" rel="nofollow">http://blogs.sitepoint.com/2011/02/22/crimes-against-wordpress/</a></p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169949" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169949" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment odd alt thread-even depth-1 clearfix">
            <span class="cn">28</span>
            <div class="c" id="comment-169950">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/1f7d16fe6425d85f05aa229464b49843?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Thai Bui</h3>
                    <span class="dati">
                        <a title="Commentlink #28" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169950">
                            March 8, 2011 9:35 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Great article. One of my biggest hurdles is debugging my plugins properly and these tips are outstanding.  I usually use firephp to see what’s going on with the variables being passed back and fourth.  Such an invaluable tool.</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169950" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169950" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment even thread-odd thread-alt depth-1 clearfix">
            <span class="cn">29</span>
            <div class="c" id="comment-169951">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/0f0319b397cd2a0443f73a94ab6934cf?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Conrad Muan</h3>
                    <span class="dati">
                        <a title="Commentlink #29" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169951">
                            March 8, 2011 10:16 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Great post. I’ll have to try blackbar in my future projects.</p>
    <p>I was also _just_ looking for a tutorial on adding menu items when I found this gem.</p>
    <p>Thanks again,<br />
    Conrad</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169951" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169951" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment odd alt thread-even depth-1 clearfix">
            <span class="cn">30</span>
            <div class="c" id="comment-169952">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/aac7e0386facd070f6d4b817c257a958?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Zé</h3>
                    <span class="dati">
                        <a title="Commentlink #30" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169952">
                            March 8, 2011 10:55 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Great article, but I am a little sad that i18n wasn’t contemplated from the beginning for all those strings, i.e.</p>
    <p><code>$page_title = __('My Plugin Settings', 'myplugin_textdomain');</code><br />
    instead of<br />
    <code>$page_title = 'My Plugin Settings';</code></p>
    <p>It’s great for all other languages to have plugins that are translatable from the get go.<br />
    <a href="http://codex.wordpress.org/I18n_for_WordPress_Developers" rel="nofollow">http://codex.wordpress.org/I18n_for_WordPress_Developers</a></p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169952" class="inpsyde_extended_comments_rate positive">1</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169952" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        <ul class="children">
        <li class="comment even depth-2 clearfix">
            <span class="cn">31</span>
            <div class="c" id="comment-169957">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/7f46ae04d74b786bcaabec5a431c7937?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Dave Donaldson</h3>
                    <span class="dati">
                        <a title="Commentlink #31" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169957">
                            March 8, 2011 2:55 pm                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>@Ze – I mentioned on another comment that I thought about including internationalization but decided against it for this article. The topic is probably big enough for another article on its own, so maybe I’ll write that one next.</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169957" class="inpsyde_extended_comments_rate positive">1</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169957" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
    </ul><!-- .children -->
    </li><!-- #comment-## -->
        <li class="comment odd alt thread-odd thread-alt depth-1 clearfix">
            <span class="cn">32</span>
            <div class="c" id="comment-169953">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/95c934fa2c3362794bf62ff8c59ada08?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Drew</h3>
                    <span class="dati">
                        <a title="Commentlink #32" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169953">
                            March 8, 2011 11:48 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Thanks for the lead on Blackbox!. I installed it mid-read on your post and played with it for 30 minutes on three of my sites. Then I remember I was reading your post so I came back to finish. Great roundup!</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169953" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169953" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment even thread-even depth-1 clearfix">
            <span class="cn">33</span>
            <div class="c" id="comment-169954">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/1a659e051ae2d889b0e4421408b6ff34?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Tomáš Kapler</h3>
                    <span class="dati">
                        <a title="Commentlink #33" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169954">
                            March 8, 2011 12:12 pm                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>one very common problem from US writers missing – forgotting internationalization so __(), _x(), _e() functions etc.</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169954" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169954" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        <ul class="children">
        <li class="comment odd alt depth-2 clearfix">
            <span class="cn">34</span>
            <div class="c" id="comment-169956">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/7f46ae04d74b786bcaabec5a431c7937?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Dave Donaldson</h3>
                    <span class="dati">
                        <a title="Commentlink #34" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169956">
                            March 8, 2011 12:29 pm                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>@Tomas – I thought about including a section on internationalization, but decided against it for this article. Maybe I’ll write another article just for that.</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169956" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169956" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
    </ul><!-- .children -->
    </li><!-- #comment-## -->
        <li class="comment even thread-odd thread-alt depth-1 clearfix">
            <span class="cn">35</span>
            <div class="c" id="comment-169958">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/815d913154a591f2c2b4718ef6003d98?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Brett Lewis</h3>
                    <span class="dati">
                        <a title="Commentlink #35" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169958">
                            March 8, 2011 3:23 pm                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>This is great  :)</p>
    <p>Thank you so much.</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169958" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169958" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment odd alt thread-even depth-1 clearfix">
            <span class="cn">36</span>
            <div class="c" id="comment-169960">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/d0517bf908028685b3b25b815ef75068?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Phuoc Huynh</h3>
                    <span class="dati">
                        <a title="Commentlink #36" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169960">
                            March 8, 2011 6:24 pm                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Thanks for this great. This is awesome !</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169960" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169960" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment even thread-odd thread-alt depth-1 clearfix">
            <span class="cn">37</span>
            <div class="c" id="comment-169961">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/909cdcfc310e3cdab83586232d6e81f8?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Patent Litigation</h3>
                    <span class="dati">
                        <a title="Commentlink #37" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169961">
                            March 8, 2011 10:03 pm                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Here is a similar story</p>
    <p>Until recently, migrating all your blogs to a single multisite blog was a massive task because of the need to resolve conflicting IDs across different tables. Fortunately, newer WordPress versions have built-in functions to make life a bit easier for all of us.</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169961" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169961" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment odd alt thread-even depth-1 clearfix">
            <span class="cn">38</span>
            <div class="c" id="comment-169962">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/30b5f53666c7c520e8142a372f8a54f6?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Steve mg</h3>
                    <span class="dati">
                        <a title="Commentlink #38" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169962">
                            March 8, 2011 11:02 pm                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>As a customer of WordPress plugins, my biggest gripe is the lack of screenshots displaying what the plugin does. Is it really that hard to grab screens? Great you’ve made this fantastic plugin, and also great that you’ve put it up for free, just telling me what it does, isn’t going to completely sell me on it.<br />
    Screenshots, do it.</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169962" class="inpsyde_extended_comments_rate positive">1</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169962" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment even thread-odd thread-alt depth-1 clearfix">
            <span class="cn">39</span>
            <div class="c" id="comment-169963">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/6666ae2b2012ee49fe01c5e18ebfe2d0?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Mick</h3>
                    <span class="dati">
                        <a title="Commentlink #39" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169963">
                            March 8, 2011 11:42 pm                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>I wish every single plugin developer followed these simple rules!<br />
    It would make life a little bit easier</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169963" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169963" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment odd alt thread-even depth-1 clearfix">
            <span class="cn">40</span>
            <div class="c" id="comment-169964">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/115ee6ccc6f3375410990a387bf5c0bb?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Justin</h3>
                    <span class="dati">
                        <a title="Commentlink #40" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169964">
                            March 9, 2011 12:43 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>This is a great article. Thanks for consolidating all of this information instead of making me search everywhere for it!</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169964" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169964" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment even thread-odd thread-alt depth-1 clearfix">
            <span class="cn">41</span>
            <div class="c" id="comment-169965">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/61ad912b724a2554976edd74ee6e0266?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Jerry</h3>
                    <span class="dati">
                        <a title="Commentlink #41" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169965">
                            March 9, 2011 12:45 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Dave, Awesome post. Pretty helpful for green-hands like me for wordpress.<br />
    Usually we use netbeans and X-debug for debugging. This time we could try blackbox for help :)</p>
    <p>One question: How do  you do unit test for new built WP plugin? Use PHPUnit or something else? I am quite new to the test procedure of PHP, any help will be much appreciated.</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169965" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169965" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment odd alt thread-even depth-1 clearfix">
            <span class="cn">42</span>
            <div class="c" id="comment-169966">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/8327520245e97889fca3b0270d69acc8?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>jeFFF</h3>
                    <span class="dati">
                        <a title="Commentlink #42" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169966">
                            March 9, 2011 12:59 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Thanks a lot for this great article Dave !</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169966" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169966" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment even thread-odd thread-alt depth-1 clearfix">
            <span class="cn">43</span>
            <div class="c" id="comment-169967">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/8291ab5d74a9f6d7b8a98ed62ad1709e?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Ruslan</h3>
                    <span class="dati">
                        <a title="Commentlink #43" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169967">
                            March 9, 2011 1:29 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>One thing that you have understand about include vs include_once, require vs require_once is performance penalty.</p>
    <p>If you develop your code, and you are 100% for sure, that after you included your file in following code it wont be included again, never use *_once functions. They are more resource eating that simple include or require.</p>
    <p>Read this article to understand difference in C level:<br />
    <a href="http://www.techyouruniverse.com/software/php-performance-tip-require-versus-require_once" rel="nofollow">http://www.techyouruniverse.com/software/php-performance-tip-require-versus-require_once</a></p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169967" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169967" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment odd alt thread-even depth-1 clearfix">
            <span class="cn">44</span>
            <div class="c" id="comment-169968">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/26c5bc5b88075a54b55ae54e98be2c09?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Fernando Agüero</h3>
                    <span class="dati">
                        <a title="Commentlink #44" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169968">
                            March 9, 2011 1:42 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>One of the best post written in Smashing Magazine. Now I have no doubts.</p>
    <p>Thank you!</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169968" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169968" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment even thread-odd thread-alt depth-1 clearfix">
            <span class="cn">45</span>
            <div class="c" id="comment-169969">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/00abc2999b2a32f9072fc8b9ae2ccfe9?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Baltech</h3>
                    <span class="dati">
                        <a title="Commentlink #45" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169969">
                            March 9, 2011 2:13 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Great you’ve made this fantastic plugin, and also great that you’ve put it up for free.It seems that these 10 plugins will make the process much easier to manage and hopefully to be able to understand by things. Thanks for give us this information.</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169969" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169969" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment odd alt thread-even depth-1 clearfix">
            <span class="cn">46</span>
            <div class="c" id="comment-169970">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/00abc2999b2a32f9072fc8b9ae2ccfe9?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Baltech</h3>
                    <span class="dati">
                        <a title="Commentlink #46" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169970">
                            March 9, 2011 2:14 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Great you’ve made this fantastic plugin, and also great that you’ve put it up for free.It seems that these 10 plugins will make the process much easier to manage and hopefully to be able to understand by things. Thanks for this useful knowledge..</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169970" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169970" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment even thread-odd thread-alt depth-1 clearfix">
            <span class="cn">47</span>
            <div class="c" id="comment-169971">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/48c28e5f2f6f1b32dd7beb2d9bb63d17?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Thorsten</h3>
                    <span class="dati">
                        <a title="Commentlink #47" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169971">
                            March 9, 2011 2:36 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>A very important topic that is missing here is Data Validation.<br />
    <a href="http://codex.wordpress.org/Data_Validation" rel="nofollow">http://codex.wordpress.org/Data_Validation</a></p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169971" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169971" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment odd alt thread-even depth-1 clearfix">
            <span class="cn">48</span>
            <div class="c" id="comment-169972">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/b8cefc2f7b65fd5e4204711ee5fc3d42?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Max</h3>
                    <span class="dati">
                        <a title="Commentlink #48" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169972">
                            March 9, 2011 3:05 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>One bad thing was described above.<br />
    When webmaster changes <em>wp-content</em> directory name, following code will break the site:<br />
    <code>define('MYPLUGIN_THEME_DIR', ABSPATH . 'wp-content/themes/' . get_template());</code><br />
    You should use following code instead wrong one:<br />
    <code>define('MYPLUGIN_THEME_DIR', WP_CONTENT_DIR . 'themes/' . get_template());</code></p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169972" class="inpsyde_extended_comments_rate positive">2</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169972" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        <ul class="children">
        <li class="comment even depth-2 clearfix">
            <span class="cn">49</span>
            <div class="c" id="comment-169976">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/7f46ae04d74b786bcaabec5a431c7937?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Dave Donaldson</h3>
                    <span class="dati">
                        <a title="Commentlink #49" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169976">
                            March 9, 2011 6:10 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>@Max – Good point, thanks for catching that. Using WP_CONTENT_DIR instead of a hardcoded ‘wp-content’ string would be better.</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169976" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169976" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment odd alt depth-2 clearfix">
            <span class="cn">50</span>
            <div class="c" id="comment-169998">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/41a7bd5fd7e182e3705c51338285f2a8?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>YellowShark</h3>
                    <span class="dati">
                        <a title="Commentlink #50" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169998">
                            March 15, 2011 9:53 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Thanks for pointing this out, I 100% concur – every WP install I do, I move the wp-content to site root, so i wind up with a nice structure like:<br />
    /themes<br />
    /plugins<br />
    /wordpress<br />
    /index.php</p>
    <p>Developers should definitely utilize WP_PLUGIN_DIR and WP_CONTENT_DIR. Google either of those terms for more info on how to leverage them.</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169998" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169998" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
    </ul><!-- .children -->
    </li><!-- #comment-## -->
        <li class="comment even thread-odd thread-alt depth-1 clearfix">
            <span class="cn">51</span>
            <div class="c" id="comment-169973">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/f439b5e33c6a8bf37337611cb6a9b283?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>STPo</h3>
                    <span class="dati">
                        <a title="Commentlink #51" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169973">
                            March 9, 2011 4:17 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>And please: do NOT fill the front-end HTML with plugin-specific CSS/jQuery/meta crap without a way to properly erase them if it is not required. I code my own front-end markup and i’m tired to see jQuery/Prototype/Mootools included everytime I use a plugin…</p>
    <p>PLEASE!</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169973" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169973" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment odd alt thread-even depth-1 clearfix">
            <span class="cn">52</span>
            <div class="c" id="comment-169974">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/8a01f1cc43100cc77bf7fa249f3486db?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>catalin cimpanu</h3>
                    <span class="dati">
                        <a title="Commentlink #52" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169974">
                            March 9, 2011 4:49 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Hell of a job on this article.</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169974" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169974" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment even thread-odd thread-alt depth-1 clearfix">
            <span class="cn">53</span>
            <div class="c" id="comment-169975">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/771eb1edb297f17b15e0efde616a840b?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>wparena</h3>
                    <span class="dati">
                        <a title="Commentlink #53" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169975">
                            March 9, 2011 5:36 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Although my current WordPress blogs have some of the SeO plugins installed I have found a good tips on your list that I must to follow</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169975" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169975" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment odd alt thread-even depth-1 clearfix">
            <span class="cn">54</span>
            <div class="c" id="comment-169977">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/a89d26529cebfe446596439bfe4cc74a?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>djavupixel</h3>
                    <span class="dati">
                        <a title="Commentlink #54" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169977">
                            March 9, 2011 10:56 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Good WordPress summary to develop a WordPress plugin.<br />
    Great work and good explanations!</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169977" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169977" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment even thread-odd thread-alt depth-1 clearfix">
            <span class="cn">55</span>
            <div class="c" id="comment-169978">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/628dfd9e3e905064c09ae089f60b2595?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Douglas Bonneville</h3>
                    <span class="dati">
                        <a title="Commentlink #55" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169978">
                            March 9, 2011 11:47 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Dave:  Great article – I’m going to give making a plugin a shot pretty soon and I’ll start here. I’ve edited a few, but this outline really lowers the threshold to new development. This is one of the best WordPress articles I’ve seen in a while, and certainly on my list of top articles at Smashing!</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169978" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169978" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment odd alt thread-even depth-1 clearfix">
            <span class="cn">56</span>
            <div class="c" id="comment-169979">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/5dfcd8fbb95d1a7cf5ef40eab3ba0611?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>darell</h3>
                    <span class="dati">
                        <a title="Commentlink #56" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169979">
                            March 9, 2011 4:36 pm                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Thanks for your post, it’s very helpful for my daily work and thoughts.</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169979" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169979" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment even thread-odd thread-alt depth-1 clearfix">
            <span class="cn">57</span>
            <div class="c" id="comment-169980">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/a91236f90b1063e60ad30e7c5f9e30bd?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Jurdefur</h3>
                    <span class="dati">
                        <a title="Commentlink #57" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169980">
                            March 10, 2011 1:38 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Seriously why is everybody still using wordpress its the biggest crap of code i ever seen, its like IE6 under the browsers…</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169980" class="inpsyde_extended_comments_rate negative">-1</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169980" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment odd alt thread-even depth-1 clearfix">
            <span class="cn">58</span>
            <div class="c" id="comment-169981">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/922a5911c9e2bba510333139d9f08122?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Christian K. Nordtømme</h3>
                    <span class="dati">
                        <a title="Commentlink #58" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169981">
                            March 10, 2011 2:29 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Thanks for this. I’m just now learning how to develop my own plugins, and have bookmarked this post.</p>
    <p>I also wish more plugin developers made the plugin’s documentation and help easier accessible, though.</p>
    <p>I don’t think digging up readme files from the plugin folder, rummaging through every page on the author’s website or trying to decipher the code in search of basic answers should be neccessary. Instead, a “Quick Start” action link (either to 100% self-explanatory settings or to a readme file) should be standard.</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169981" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169981" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment even thread-odd thread-alt depth-1 clearfix">
            <span class="cn">59</span>
            <div class="c" id="comment-169982">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/2901240fe75416f14f03fbdd82c00f87?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>jakub</h3>
                    <span class="dati">
                        <a title="Commentlink #59" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169982">
                            March 10, 2011 2:42 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>This is superuseful article! In-depth yet still accessible for occassional developers. Much better than “25 nice inspirational designs in pink” or “100 beautiful photos of furry pets” type stuff…</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169982" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169982" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment odd alt thread-even depth-1 clearfix">
            <span class="cn">60</span>
            <div class="c" id="comment-169983">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/41e4c684ba730c88e05fc9bdf563cbc2?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Marty</h3>
                    <span class="dati">
                        <a title="Commentlink #60" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169983">
                            March 10, 2011 3:08 pm                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>excellent post… stumbled.. :)</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169983" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169983" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment even thread-odd thread-alt depth-1 clearfix">
            <span class="cn">61</span>
            <div class="c" id="comment-169984">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/403337506ddc11158cad4b76d304fbe7?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>seedy</h3>
                    <span class="dati">
                        <a title="Commentlink #61" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169984">
                            March 10, 2011 11:38 pm                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>these articles are getting lamer and lamer</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169984" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169984" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment odd alt thread-even depth-1 clearfix">
            <span class="cn">62</span>
            <div class="c" id="comment-169985">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/de87d78c47a8f6e6802c23544ef4bd90?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>web3mantra</h3>
                    <span class="dati">
                        <a title="Commentlink #62" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169985">
                            March 11, 2011 3:18 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Thanks for sharing this post.I like this post.It contains good examples of wordpress plugin developer should know.</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169985" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169985" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment even thread-odd thread-alt depth-1 clearfix">
            <span class="cn">63</span>
            <div class="c" id="comment-169986">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/dd2e765b964f9f3887c4518b294e42ac?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>ig-ffm</h3>
                    <span class="dati">
                        <a title="Commentlink #63" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169986">
                            March 12, 2011 11:16 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>I really appreciate your posting. Thanks.</p>
    <p>There is one issue I’ld like to add: localization.<br />
    I have to translate all kinds of plugins and that can be a really annoying waste of time, if a plugin is not meant to be localized.</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169986" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169986" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment odd alt thread-even depth-1 clearfix">
            <span class="cn">64</span>
            <div class="c" id="comment-169987">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/70325f2bf83316d1ba0c44bbc9bc2b1e?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Rahul</h3>
                    <span class="dati">
                        <a title="Commentlink #64" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169987">
                            March 13, 2011 10:23 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Great post. Really helps a lot. But need to ask something. I saw this effect on a recently launched blog with wp posts coming in like a js gallery slider.</p>
    <p><a href="http://sputznik.com/" rel="nofollow">http://sputznik.com/</a></p>
    <p>How have they achieved this transition and post thing? Is there a plugin that I could use? Thanks for the help.</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169987" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169987" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        <ul class="children">
        <li class="comment even depth-2 clearfix">
            <span class="cn">65</span>
            <div class="c" id="comment-169991">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/7f46ae04d74b786bcaabec5a431c7937?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Dave Donaldson</h3>
                    <span class="dati">
                        <a title="Commentlink #65" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169991">
                            March 14, 2011 4:07 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>@Rahul – It looks like that transition is done with jQuery and the easing plugin for jQuery. Just give it a quick Google and you’ll find what you need.</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169991" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169991" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        <ul class="children">
        <li class="comment odd alt depth-3 clearfix">
            <span class="cn">66</span>
            <div class="c" id="comment-170002">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/70325f2bf83316d1ba0c44bbc9bc2b1e?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Rahul</h3>
                    <span class="dati">
                        <a title="Commentlink #66" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-170002">
                            March 24, 2011 11:23 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Thanks a ton. Is there any plugin for this?</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_170002" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="170002" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
    </ul><!-- .children -->
    </li><!-- #comment-## -->
    </ul><!-- .children -->
    </li><!-- #comment-## -->
        <li class="comment even thread-odd thread-alt depth-1 clearfix">
            <span class="cn">67</span>
            <div class="c" id="comment-169988">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/281d234ca83251614a66121a05cb8fad?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Manny Fleurmond</h3>
                    <span class="dati">
                        <a title="Commentlink #67" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169988">
                            March 13, 2011 9:26 pm                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>I also recommend using the plugins_url() function to find your plugins base directory:<br />
    <a href="http://codex.wordpress.org/Function_Reference/plugins_url" rel="nofollow">http://codex.wordpress.org/Function_Reference/plugins_url</a></p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169988" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169988" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment odd alt thread-even depth-1 clearfix">
            <span class="cn">68</span>
            <div class="c" id="comment-169989">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/f3fc67a71bef1394539fd4be794cb73e?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Dax Davis</h3>
                    <span class="dati">
                        <a title="Commentlink #68" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169989">
                            March 13, 2011 9:52 pm                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>This is a great post.  Thanks for bringing it all together in one place.</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169989" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169989" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment even thread-odd thread-alt depth-1 clearfix">
            <span class="cn">69</span>
            <div class="c" id="comment-169990">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/f8393ef67ed5144e15890d60eaa2289e?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Valentinas</h3>
                    <span class="dati">
                        <a title="Commentlink #69" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169990">
                            March 14, 2011 1:28 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Great article! Particularly the part about using wp_debug is a must-read for every plugin developer.<br />
    By the way, just wanted to point out that there is a function wp_login_url()  for login url. People should use this, because some plugins may modify it with filter that is inside it and bloginfo(‘wpurl’) . “/wp-login.php” is not necessary the right login URL.</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169990" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169990" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        <ul class="children">
        <li class="comment odd alt depth-2 clearfix">
            <span class="cn">70</span>
            <div class="c" id="comment-169992">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/7f46ae04d74b786bcaabec5a431c7937?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Dave Donaldson</h3>
                    <span class="dati">
                        <a title="Commentlink #70" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169992">
                            March 14, 2011 4:08 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>@Valentinas – Good catch about the wp_login_url() function, thanks for pointing that out.</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169992" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169992" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
    </ul><!-- .children -->
    </li><!-- #comment-## -->
        <li class="comment even thread-even depth-1 clearfix">
            <span class="cn">71</span>
            <div class="c" id="comment-169993">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/61a894194ade535460a0e34ed4b56c31?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Gavin Potts</h3>
                    <span class="dati">
                        <a title="Commentlink #71" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169993">
                            March 14, 2011 7:34 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Awesome post. 9 of 10 i’ve found extremely interesting and enlightening…</p>
    <p>I’d just like to query the tip: “Use bloginfo(‘wpurl’) Instead of bloginfo(‘url’)”. I believe this is bad advice.</p>
    <p>When developing a WordPress website, developers may be forced to work in a live environment with a holding page in place. If you use ‘wpurl’ in your themes/plugins, this will fail, as you will need to rename index.php and point ‘siteurl’ to the index page to have the website up for development.</p>
    <p>If all of your internal links are output with the ‘wpurl’ parameter, these will link to your holding page and you will have to type permalinks into your browser manually instead of clicking on links within the website.</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169993" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169993" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment odd alt thread-odd thread-alt depth-1 clearfix">
            <span class="cn">72</span>
            <div class="c" id="comment-169994">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/c92d3f3fe8e5b19bd7dc3d08142b400e?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Jim Krill</h3>
                    <span class="dati">
                        <a title="Commentlink #72" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169994">
                            March 14, 2011 6:54 pm                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>This is a great article for anyone wanting to develop a WordPress plugin.  Hopefully it will lead to some brilliant plug-ins which will enrich the WordPress community even more.</p>
    <p>Thanks Dave!</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169994" class="inpsyde_extended_comments_rate positive">1</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169994" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment even thread-even depth-1 clearfix">
            <span class="cn">73</span>
            <div class="c" id="comment-169996">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/e94a2e120ad98cc9d2708b156c6a1c69?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Philip Norton</h3>
                    <span class="dati">
                        <a title="Commentlink #73" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169996">
                            March 15, 2011 1:58 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>This is a great list, but one thing that every WordPress developer should know about (more important than knowing about require_once() etc) is nonces. Nonces are a very important part of WordPress that help to combat security problems and should definitely be on this list.<br />
    <a href="http://codex.wordpress.org/WordPress_Nonces" rel="nofollow">http://codex.wordpress.org/WordPress_Nonces</a></p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169996" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169996" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment odd alt thread-odd thread-alt depth-1 clearfix">
            <span class="cn">74</span>
            <div class="c" id="comment-169997">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/7ac2e44aeff39f6df1187cb0e4f7fb92?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Jason LaRose</h3>
                    <span class="dati">
                        <a title="Commentlink #74" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169997">
                            March 15, 2011 9:15 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>One thing every WordPress plugin developer should do is NOT include default styles for their generated HTML. Doing so means reverse engineering for other WordPress developers. If you do add default styles, add in the option to deactivate the CSS.</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169997" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169997" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment even thread-even depth-1 clearfix">
            <span class="cn">75</span>
            <div class="c" id="comment-169999">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/25c608d2c1b076011369920bfcd889a3?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Dan Coulter</h3>
                    <span class="dati">
                        <a title="Commentlink #75" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169999">
                            March 15, 2011 12:12 pm                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Nothing about wp_enqueue_script()?</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169999" class="inpsyde_extended_comments_rate positive">1</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169999" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment odd alt thread-odd thread-alt depth-1 clearfix">
            <span class="cn">76</span>
            <div class="c" id="comment-170000">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/5c65fecb4e4179a59ebecb18034dcb64?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Permana Jayanta</h3>
                    <span class="dati">
                        <a title="Commentlink #76" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-170000">
                            March 15, 2011 6:40 pm                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Really helpful post as I’m writing WordPress plugin now. Maybe should added list of functions that can help plugin development, instead of writing a functions again.</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_170000" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="170000" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment even thread-even depth-1 clearfix">
            <span class="cn">77</span>
            <div class="c" id="comment-170001">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/0445bfc3e671c35b39d6036658c57a0e?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Kyathi</h3>
                    <span class="dati">
                        <a title="Commentlink #77" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-170001">
                            March 16, 2011 10:24 pm                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Thank you.. superb.. !!! its really helpful…</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_170001" class="inpsyde_extended_comments_rate positive">1</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="170001" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment odd alt thread-odd thread-alt depth-1 clearfix">
            <span class="cn">78</span>
            <div class="c" id="comment-170003">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/b80742b6d859d848f839c270c2543f3c?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Sterling Hamilton</h3>
                    <span class="dati">
                        <a title="Commentlink #78" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-170003">
                            April 9, 2011 11:15 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Hey there!</p>
    <p>A few things…</p>
    <p>In regards to dbDelta:<br />
    “require_once(ABSPATH . ‘wp-admin/includes/upgrade.php’);”</p>
    <p>That means you are now including a core WP file into your plugin…not really recommended. Further more, by doing that – it will start throwing aggressive cache busting headers. This will get in the way of caching plugins and proxies.</p>
    <p>Also – rather than prefixing every function, it’s better to just do an Object in PHP and give that a unique name. That way prefixing is not needed – just a unique object name.</p>
    <p>And the BlackBox plugin has been known to drastically slow down servers, so it should not be used in any sort of production environment.</p>
    <p>Also – you want to load your plugins meta data rather than creating your own. So version number/plugin path/etc are able to be loaded like this: <a href="https://gist.github.com/911684" rel="nofollow">https://gist.github.com/911684</a></p>
    <p>Another really good tip…do NOT rely on environment variables like HTTP_HOST, REQUEST_URI and such.</p>
    <p>These tend to be unreliable – its best to use the wordpress variables for determining locations and what not.</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_170003" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="170003" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment even thread-even depth-1 clearfix">
            <span class="cn">79</span>
            <div class="c" id="comment-170004">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/7a831efd240c56f74f4c4f2618d9a51a?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>cogmios`</h3>
                    <span class="dati">
                        <a title="Commentlink #79" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-170004">
                            May 6, 2011 10:30 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Because of the topic the “Objective Best Practices for Plugin Development?” on <a href="http://wordpress.stackexchange.com/questions/715/objective-best-practices-for-plugin-development" rel="nofollow">http://wordpress.stackexchange.com/questions/715/objective-best-practices-for-plugin-development</a> is also a good addition.</p>
    <p>Maybe to add to the debugging part: I also found using Zend Server community edition together with PHP PDT increase my debugging abilities (I dumped xampp for it).</p>
    <p> For making names unique well… I use php 5.3 with namespaces -end of problem- the language solves it for me. So I just state “this plugin is only for php 5.3 onwards” (although some discussion exist on “only 5.3″ <a href="http://groups.google.com/group/wp-hackers/browse_thread/thread/19dc7c7197f66754/9a60ad0b37ccaf1b?show_docid=9a60ad0b37ccaf1b&pli=1" rel="nofollow">http://groups.google.com/group/wp-hackers/browse_thread/thread/19dc7c7197f66754/9a60ad0b37ccaf1b?show_docid=9a60ad0b37ccaf1b&pli=1</a>)</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_170004" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="170004" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment odd alt thread-odd thread-alt depth-1 clearfix">
            <span class="cn">80</span>
            <div class="c" id="comment-170005">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/8c06582f15e2a41ca172044202c426eb?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>anyon</h3>
                    <span class="dati">
                        <a title="Commentlink #80" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-170005">
                            May 7, 2011 2:25 pm                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>rule #1 wordpress is coded badly you will not learn anything about design patterns or best practices from looking at the wordpress source code, use your initiative ;)</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_170005" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="170005" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment even thread-even depth-1 clearfix">
            <span class="cn">81</span>
            <div class="c" id="comment-170006">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/216c409be1cbf323cbd714f4010e6797?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Brett Widmann</h3>
                    <span class="dati">
                        <a title="Commentlink #81" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-170006">
                            May 10, 2011 7:22 pm                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Thanks for these really awesome tips! They will be really helpful.</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_170006" class="inpsyde_extended_comments_rate negative">-2</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="170006" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment odd alt thread-odd thread-alt depth-1 clearfix">
            <span class="cn">82</span>
            <div class="c" id="comment-170007">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/827b430098defd203fa74ed9ce92e0d9?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>mikaweb</h3>
                    <span class="dati">
                        <a title="Commentlink #82" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-170007">
                            September 11, 2011 2:28 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Nice tips. I’m currently writing my first plugin and it helped me a lot especially for the upgrade system.</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_170007" class="inpsyde_extended_comments_rate positive">2</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="170007" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment even thread-even depth-1 clearfix">
            <span class="cn">83</span>
            <div class="c" id="comment-170008">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/78d5156936de65aac7e00ea273db82e7?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>liskel</h3>
                    <span class="dati">
                        <a title="Commentlink #83" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-170008">
                            August 25, 2012 4:22 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Really nice things to keep in mind and great for beginners exploring the deep depths of wordpress plugin development!<br />
    Thanks!</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_170008" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="170008" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment odd alt thread-odd thread-alt depth-1 clearfix">
            <span class="cn">84</span>
            <div class="c" id="comment-170009">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/0fa974dbdfd8afc7390131f9fd4c097c?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Ryan S</h3>
                    <span class="dati">
                        <a title="Commentlink #84" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-170009">
                            September 14, 2012 12:09 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Hi thanks for the tip, I just notice in Settings link, I think there is the better way to declare setting link.</p>
    <p>something like this<br />
    $settings_link = ‘<a href="'.admin_url('admin.php?page=plugin-settings').'" rel="nofollow">Settings</a>‘;</p>
    <p>Ryan S</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_170009" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="170009" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        <ul class="children">
        <li class="comment even depth-2 clearfix">
            <span class="cn">85</span>
            <div class="c" id="comment-170010">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/0fa974dbdfd8afc7390131f9fd4c097c?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Ryan S</h3>
                    <span class="dati">
                        <a title="Commentlink #85" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-170010">
                            September 14, 2012 12:10 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Oops sorry for this second comment, it does not look good on my previous comment.</p>
    <p><code>$settings_link = '<a href="'.admin_url('admin.php?page=cx-events').'" rel="nofollow">Settings</a>';</code></p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_170010" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="170010" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
    </ul><!-- .children -->
    </li><!-- #comment-## -->
        <li class="comment odd alt thread-even depth-1 clearfix">
            <span class="cn">86</span>
            <div class="c" id="comment-170011">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/98d0a24074949185147845293651e72c?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Arch!tect</h3>
                    <span class="dati">
                        <a title="Commentlink #86" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-170011">
                            January 7, 2013 11:27 pm                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>thanks dude!</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_170011" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="170011" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment even thread-odd thread-alt depth-1 clearfix">
            <span class="cn">87</span>
            <div class="c" id="comment-170012">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/1cde71fd2000a3649df05c3be7fd7ba9?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>David Hazelden</h3>
                    <span class="dati">
                        <a title="Commentlink #87" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-170012">
                            February 17, 2013 8:04 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Good stuff!</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_170012" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="170012" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment odd alt thread-even depth-1 clearfix">
            <span class="cn">88</span>
            <div class="c" id="comment-170013">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/2af83baa1864c442b08865d2f9ed8223?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Byron Dunn</h3>
                    <span class="dati">
                        <a title="Commentlink #88" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-170013">
                            February 28, 2013 7:50 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Great article.  Being new to WP development, this is really helpful.  Even for those of us struggling to tweak plugins we use.</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_170013" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="170013" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment even thread-odd thread-alt depth-1 clearfix">
            <span class="cn">89</span>
            <div class="c" id="comment-170014">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/1441f3f17c4f72a0153415048e442bf0?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Manuel Marquez</h3>
                    <span class="dati">
                        <a title="Commentlink #89" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-170014">
                            March 21, 2013 1:43 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Thanks Dave,</p>
    <p>These are fantastic tips to start quality plugin development. Please keep up the good work!<br />
    Much appreciated.</p>
    <p>Cheers,<br />
    Manuel</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_170014" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="170014" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment odd alt thread-even depth-1 clearfix">
            <span class="cn">90</span>
            <div class="c" id="comment-170019">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/ad64f6ef4b9c5b4f8b3c90be203be4d2?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Alex Buri</h3>
                    <span class="dati">
                        <a title="Commentlink #90" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-170019">
                            June 28, 2013 3:04 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Clear and well-written – you’ve allowed me to understand php even in the middle of the night….<br />
    thanks</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_170019" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="170019" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment even thread-odd thread-alt depth-1 clearfix">
            <span class="cn">91</span>
            <div class="c" id="comment-170018">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/7807fb5b55bfd79bc0c36c307b3a4bd8?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Juergen</h3>
                    <span class="dati">
                        <a title="Commentlink #91" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-170018">
                            October 14, 2013 11:31 pm                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Hello,<br />
    a really really good tutorial.<br />
    Thanks</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_170018" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="170018" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment odd alt thread-even depth-1 clearfix">
            <span class="cn">92</span>
            <div class="c" id="comment-170017">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/c1b4eb8751a973da835b8fb6588586aa?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Will</h3>
                    <span class="dati">
                        <a title="Commentlink #92" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-170017">
                            January 3, 2014 12:10 pm                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Thanks for the article. The menu stuff in particular was very helpful. </p>
    <p>I’d add 11): Understand how/when WordPress loads things. This flow chart of what happens during a WP request cycle is pretty illuminating: <a href="http://www.rarst.net/script/wordpress-core-load/" rel="nofollow">http://www.rarst.net/script/wordpress-core-load/</a> </p>
    <p>Couple of other handy flow charts linked from that page as well in particular this chart that explains WP Query Functions <a href="http://www.rarst.net/script/wordpress-query-functions/" rel="nofollow">http://www.rarst.net/script/wordpress-query-functions/</a></p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_170017" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="170017" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment even thread-odd thread-alt depth-1 clearfix">
            <span class="cn">93</span>
            <div class="c" id="comment-170015">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/e85eff52524a64e38ddc4316fb079c22?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>jack</h3>
                    <span class="dati">
                        <a title="Commentlink #93" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-170015">
                            January 20, 2014 12:02 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>i have developed a plugin for paggination along with a shortcode but the output is showing in dashboad and when adding shortcode in any pages then it displays output in pages.<br />
    Kindly suggest how to hide the output from dashbord.</p>
    <p>Thank You in advance</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_170015" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="170015" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment odd alt thread-even depth-1 clearfix">
            <span class="cn">94</span>
            <div class="c" id="comment-170016">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/6c94850a0051b2ab23ab7a18c7d4d181?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Wordpress plugins</h3>
                    <span class="dati">
                        <a title="Commentlink #94" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-170016">
                            February 20, 2014 10:04 pm                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Good post. I learn something totally new and challenging on blogs I stumbleupon on a daily basis. It will always be helpful to read through content from other authors and use something from their sites.</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_170016" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="170016" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
                </ol>
                            </div>
        </div>
    </div></div><p><a href="#top" class="top" title="Jump to the top of the page">↑ Back to top</a></p>
    </div><div class="fo-na">
    <div class="mn" id="mn">
         <ul id="menu-smashing-mobile-network" class="mnu"><li class="mnh">Smashing Pages:</li><li id="menu-item-188956" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-188956 menu-item-books"><a href="http://www.smashingmagazine.com/books/">Books</a></li>
    <li id="menu-item-188957" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-188957 menu-item-ebooks"><a href="http://www.smashingmagazine.com/ebooks/">eBooks</a></li>
    <li id="menu-item-188955" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-188955 menu-item-workshops"><a href="http://www.smashingmagazine.com/smashing-workshops/">Workshops</a></li>
    <li id="menu-item-188959" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-188959 menu-item-email-newsletter"><a href="http://www.smashingmagazine.com/the-smashing-newsletter/">Email Newsletter</a></li>
    <li id="menu-item-188961" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-188961 menu-item-job-board"><a href="http://jobs.smashingmagazine.com">Job Board</a></li>
    <li id="menu-item-188958" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-188958 menu-item-about-us-impressum"><a href="http://www.smashingmagazine.com/about/">About us / Impressum</a></li>
    </ul>
         <ul id="menu-mobile-categories" class="mnu"><li class="mnh">Categories:</li><li id="menu-item-181575" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-181575 menu-item-coding"><a href="http://www.smashingmagazine.com/category/coding/">Coding</a></li>
    <li id="menu-item-181576" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-181576 menu-item-design"><a href="http://www.smashingmagazine.com/category/design/">Design</a></li>
    <li id="menu-item-181580" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-181580 menu-item-mobile"><a href="http://www.smashingmagazine.com/category/mobile/">Mobile</a></li>
    <li id="menu-item-181579" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-181579 menu-item-graphics"><a href="http://www.smashingmagazine.com/category/graphics/">Graphics</a></li>
    <li id="menu-item-181577" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-181577 menu-item-ux-design"><a href="http://www.smashingmagazine.com/category/uxdesign/">UX Design</a></li>
    <li id="menu-item-181578" class="menu-item menu-item-type-taxonomy menu-item-object-category current-post-ancestor current-menu-parent current-post-parent menu-item-181578 menu-item-wordpress"><a href="http://www.smashingmagazine.com/category/wordpress/"><span class="long"><span>Word</span><span>Press</span></span><span class="short">WP</span></a></li>
    </ul>
        <a href="#top" class="top" title="Jump to the top of the page">↑ Back to top</a>
    </div><div class="ms" id="ms">
      <form id="searching" class="sfm" method="get" action="http://www.smashingmagazine.com/search-results/" target="_top">
        <div class="clearfix">
          <input name="q" id="mobile-search-input" type="text" placeholder="e.g. CSS" />
          <button class="search_submit" type="submit">Search</button>
          <input type="hidden" name="cx" value="partner-pub-6779860845561969:5884617103">
          <input type="hidden" name="cof" value="FORID:10">
          <input type="hidden" name="ie" value="UTF-8">
        </div>
      </form>
      <a href="#top" class="top" title="Jump to the top of the page">↑ Back to top</a>
    </div> <!-- Search form --></div>
    </div><div id="wpsidebar" class="sb">
        <div class="col side">
            <div class="sf">
                <form method="get" action="http://www.smashingmagazine.com/search-results/" target="_top">
                    <label for="magazine-search">Search on Smashing Magazine</label>
                    <input id="magazine-search" name="q" type="text" placeholder="e.g. Responsive design" />
                    <button type="submit">Search</button>
                    <input type="hidden" name="cx" value="partner-pub-6779860845561969:5884617103">
                    <input type="hidden" name="cof" value="FORID:10">
                    <input type="hidden" name="ie" value="UTF-8">
                </form>
            </div>
            <div class="bw faw">
                        <span class="declare">Advertisement</span>
            <span class="awithus"><a class="sprite ed-us" href="mailto:advertising@smashingmagazine.com" title="Advertise with us!">Advertise with us!</a></span>
            <div id="spnsrlist-a"></div>
                        </div>
            <div class="sf wg">
          <h3>
              <a href="http://www.smashingmagazine.com/the-smashing-newsletter/">
                  <img src="http://www.smashingmagazine.com/files/smashing-widget/v006/img/smnl.png" alt="Smashing Newsletter" /> Smashing Newsletter
              </a>
          </h3>
          <p>Subscribe to our email newsletter for useful tips and valuable resources, sent out every second Tuesday.</p>
          <form action="http://smashingmagazine.us1.list-manage1.com/subscribe/post?u=16b832d9ad4b28edf261f34df&id=a1666656e0" method="post" id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form" class="validate">
            <input name="EMAIL" type="text" placeholder="email address" />
            <button class="search_submit" type="submit">Subscribe</button>
          </form>
        </div>
              <div class="bw">
            <div id="spnsrlist-b"></div>
          </div>
            <div class="so wg">
          <div class="fir">
            <a href="http://www.smashingmagazine.com/books/#digital-adaptation" style="border: none;">
              <img src="http://www.smashingmagazine.com/wp-content/uploads/2013/04/sidebar-digital-adaptation-paul-boag-v5-opt.png" alt="Digital Adaptation by Paul Boag">
            </a>
            <p>Nothing is more frustrating than <strong>stubborn management</strong>. That's why we have published <a href="http://www.smashingmagazine.com/books/#digital-adaptation">Digital Adaptation</a>, a new book by Paul Boag on how to help management overcome legacy practices - for good.</p>
          </div>
          <div class="sec">
            <a href="http://www.smashingmagazine.com/smashing-book-4-new-perspectives/?pk_campaign=sb4-sidebar"><img src="http://www.smashingmagazine.com/wp-content/uploads/2013/04/Smashing-Book-4-sidebar-transparent-opt.png" alt="Smashing Book #4"></a>
            <p>It's done. The <a href="http://www.smashingmagazine.com/smashing-book-4-new-perspectives/?pk_campaign=sb4-sidebar">Smashing Book #4</a>, our brand new book with smart <strong>front-end techniques</strong> and design approaches. Written by respected designers and developers, neatly packed in a gorgeous hardcover.</p>
          </div>
          <div class="thi">
            <a href="http://www.smashingmagazine.com/ebooks/?pk_campaign=sb4-sidebar">
                <img src="http://www.smashingmagazine.com/wp-content/uploads/2014/08/sidebar-smashing-library.png" alt="Smashing Library">
            </a>
                    <p>Hungry for more content? Over 60 <strong>eBooks</strong> are waiting to be discovered in our lovely <a href="http://www.smashingmagazine.com/ebooks/?pk_campaign=sb4-sidebar">Smashing Library</a>. And guess what? You can watch Smashing Conference talks there, too.</p>
                </div>
            </div>
                  <div class="bw">
            <div id="spnsrlist-c"></div>
          </div>
                <div class="wg">
          <div id="jobs">
            <h3>
                <a href="http://jobs.smashingmagazine.com/?pk_campaign=sm&piwik_kwd=widget">
                    <span>Smashing Job Board</span>
                    <img src="http://www.smashingmagazine.com/files/smashing-widget/v006/img/sm-jobs.png" alt="Smashing Jobs">
                </a>
            </h3>
            <ul class="tl">
              <li style="display:none;"></li>
              <ul class="tl"><li class="clearfix"><a href="http://feedproxy.google.com/~r/smjobs/~3/l1iopv9T-xg/2415960">Senior Web/Graphic Designer - RateHub - (Toronto, ON) - FullTime</a><p>Position for hire: Senior Web / Graphic designer
    Location: Downtown Toronto, ON
    Start Date: As soon as possible
    About us
    We’re a talen...</p></li><li class="clearfix"><a href="http://feedproxy.google.com/~r/smjobs/~3/ODntye-bheY/2415959">Senior Front-End Engineer (Yes, You can Work from Home) - Twin Technologies - (Altamont, New York) - FullTime</a><p>About the Opportunity
    We are seeking a few good men and women to help build a “best of breed” eCommerce platform that supports the creation, maintenance...</p></li></ul>        </ul>
            <a class="cr" href="http://jobs.smashingmagazine.com?pk_campaign=sm&piwik_kwd=widget">View more job openings…</a>
          </div>
        </div>
            <div id="sidebar_special-1"></div>
        <div id="sidebar_special-2"></div>
        <div class="sidebar_sky" id="sidebar_sky-1"></div>
        <div class="sidebar_sky" id="sidebar_sky-2"></div>
            </div>
    </div><div id="footer">
        
    <div class="fp clearfix">
        <a class="pi" href="http://www.smashingmagazine.com/smashing-book-4-new-perspectives/?pk_campaign=sb4-footer"><img src="http://www.smashingmagazine.com/wp-content/uploads/2013/10/smashing-book-4-footer-opt.png" alt="Smashing Book #4"></a>
        <p class="pd">
            <a href="http://www.smashingmagazine.com/smashing-book-4-new-perspectives/?pk_campaign=sb4-footer"><strong>Smashing Book #4</strong></a><br />Get our brand new Smashing Book #4, available as print and eBook. <a href="http://www.smashingmagazine.com/smashing-book-4-new-perspectives/?pk_campaign=sb4-footer">Learn more...</a>
        </p>
    </div>
    <div class="fp clearfix">
        <a class="pi" href="https://shop.smashingmagazine.com/smashing-library-complete.html?pk_campaign=smashingmagazine-footer"><img src="http://www.smashingmagazine.com/wp-content/uploads/2013/10/smashing-library-footer-new-opt.png" alt="The Smashing Library"></a>
        <p class="pd">
            <a href="https://shop.smashingmagazine.com/smashing-library-complete.html?pk_campaign=smashingmagazine-footer"><strong>The Smashing Library</strong></a><br />Grab all published and upcoming Smashing eBooks, in one swoop. <a href="https://shop.smashingmagazine.com/smashing-library-complete.html?pk_campaign=smashingmagazine-footer">Learn more...</a>
        </p>
    </div>
    <div class="fp clearfix">
        <a class="pi" href="http://www.smashingmagazine.com/smashing-workshops/"><img src="http://www.smashingmagazine.com/wp-content/uploads/2013/08/footer-brad-frost-opt.jpg" alt="Smashing Workshops"></a>
        <p class="pd">
            <a href="http://www.smashingmagazine.com/smashing-workshops/"><strong>Smashing Workshops</strong></a><br />Join our hands-on full-day workshops, run by experts of the industry. Good stuff. <a href="http://www.smashingmagazine.com/smashing-workshops/">Learn more...</a>
        </p>
    </div><p class="stmt"><em>With a commitment to quality content for the design community.</em><br />Founded by Vitaly Friedman and Sven Lennartz. 2006-2014.<br />Made in Germany. ? <a href="http://www.smashingmagazine.com/write-for-us/">Write for us</a> - <a href="http://www.smashingmagazine.com/contact/">Contact us</a> - <a href="http://www.smashingmagazine.com/about/">Impressum</a>.</p>
    </div>
        <script type="text/javascript">var clicky_site_ids=clicky_site_ids||[];clicky_site_ids.push(2727),function(){var e=document.createElement("script");e.type="text/javascript",e.async=!0,e.src="//static.getclicky.com/js",(document.getElementsByTagName("head")[0]||document.getElementsByTagName("body")[0]).appendChild(e)}();</script><noscript><p><img alt="Clicky" width="1" height="1" src="//in.getclicky.com/2727ns.gif" /></p></noscript>
        
        <script type='text/javascript' src='http://www.smashingmagazine.com/wp-content/themes/smashing-magazine/javascripts/ads.min.js?ver=2014.1.3'></script>
    <script type="text/javascript">var elements=["http://www.smashingmagazine.com/wp-content/themes/smashing-magazine/javascripts/onload.min.js?ver=2014.12.0","http://www.smashingmagazine.com/wp-content/themes/smashing-magazine/javascripts/prism.js"],downloadJSAtOnload=function(n){if("[object Array]"!==Object.prototype.toString.call(n))return 0;var t,e;for(t=0;t<n.length;t++)e=document.createElement("script"),e.src=n[t],document.body.appendChild(e);return !0};window.addEventListener ? window.addEventListener("load",function(){downloadJSAtOnload(elements)},!1):window.attachEvent ? window.attachEvent("onload",function(){downloadJSAtOnload(elements)}):window.onload=function(){downloadJSAtOnload(elements)};window.onload=function(){var avatars=document.querySelectorAll('.avatar');for(var i=0,length=avatars.length;i<length;i++){var gravatar_url=avatars[i].getAttribute('data-gravatar-url');avatars[i].src=gravatar_url;}};</script>
    <script type='text/javascript'>/* <![CDATA[ */  SmashingAds.load();   /* ]]> */</script><script type='text/javascript'>/* <![CDATA[ */  SmashingAds.postLoad();   /* ]]> */</script><script type='text/javascript'>/* <![CDATA[ */  SmashingAds.postPostLoad();   /* ]]> */</script>
    <script type="text/javascript">(function(){"use strict";if("querySelector" in document){var forEach=function(array,callback,scope){for(var i=0;i<array.length;i++){callback.call(scope,i,array[i]);}};var articles=document.getElementsByTagName("article");forEach(articles,function(i,el){var tagElements=el.querySelectorAll("li.tags a");var tags=[];forEach(tagElements,function(i,el){var content=el.innerText||el.textContent;tags.push(content.toLowerCase());});var image=el.querySelector(".at");if(image)image.setAttribute("data-adt-keywords",tags);});adtile("[data-adt-keywords]",{apiKey:"4624ca9f-0982-442f-b691-bb5f04643a74",channel:"technology",keywords:["Smashing Conference","Smashingconf","Whistler","Front-end","CSS","Javascript"],taglineFontFamily:"'Proxima Nova Bold','Helvetica Neue',Helvetica,Arial,sans-serif",taglineBorderRadius:"1.25em",colors:{iconBackground:"#e53b2c",closeButtonBackground:"#e53b2c"}});}})();</script>
    </body></html>
    <end node> 5P9i0s8y19Z
    dt=
    <node>WARNINGS
    1
    [FORMS]
    DO not use name="name" into inputs. RETURNS PAGE NOT FOUND
    <end node> 5P9i0s8y19Z
    ','Cheat Sheets','','publish','closed','closed','','cheat-sheets','','','2017-12-22 00:41:00','2017-12-22 00:41:00','',0,'http://www.acctcrop.softwarewebdesign.com/?page_id=22',0,'page','',0); INSERT INTO `swd_posts` VALUES (23,1,'2017-12-22 00:41:00','2017-12-22 00:41:00','
    <node>cheat sheets
    <node>constants
    <node>directory
    <node>example
    <node>hooks
    <node>SESSIONS
    <node>html5
    <node>reserved words
    <node>Settings
    <node>Upgrades
    <node>uploads
    <node>urls
    <node>How to Include a WordPress Page
    <node>Stupid WordPress Tricks
    <node>Ten Things Every WordPress Plugin Developer Should Know
    <node>WARNINGS
    <Treepad version 3.0>
    dt=
    <node>cheat sheets
    0
    http://www.buildyourownblog.net/blog/time-saving-copypaste-wordpress-cheat-sheet/The Time Saving Copy/Paste WordPress Cheat Sheet  
    while(have_posts()) {  
    the_post();  
    }  
      

    Use this WordPress Cheat Sheet page for a quick, categorized list of WordPress functions that are commonly used when building, updating and maintaining templates. Simple, Easy, Copy-Paste. The quick guide to common WordPress > Template functions. Pdf Icon

    --------------------------------------------------------------------------------
    Basic Template Files
    File Name
    Description
    style.css style sheet file  
    index.php home page file  
    header.php header content file  
    single.php single post page file  
    archive.php archive/category file  
    searchform.php search form file  
    search.php search content file  
    404.php error page file  
    comments.php comments template file  
    footer.php footer content file  
    sidebar.php sidebar content file  
    page.php single page file  
    front-page.php latest posts or static page  
    tag.php display tags in archive format  
    category.php display categories in archive format  
    Header Functions
    Function
    Description
    <?php site_url(); ?> root url for website  
    <?php wp_title(); ?> title of specific post/page  
    <?php bloginfo('name'); ?> title of site  
    <?php bloginfo('description'); ?> site description  
    <?php get_stylesheet_directory(); ?> stylesheet folder location  
    <?php bloginfo('stylesheet_url'); ?> style.css file location  
    <?php bloginfo('pingback_url'); ?> pingback url  
    <?php bloginfo('template_url'); ?> template folder path  
    <?php bloginfo('version'); ?> wordpress blog version  
    <?php bloginfo('atom_url'); ?> atom url  
    <?php bloginfo('rss2_url'); ?> rss2 url  
    <?php bloginfo('url'); ?> root url for website  
    <?php bloginfo('html_type'); ?> html version  
    <?php bloginfo('charset'); ?> charset parameter  
    Navigation Menu
    Default Navigation Menu
    <?php wp_nav_menu(); ?>  
    Specific Navigation Menu
    <?php wp_nav_menu( array('menu' => 'Project Nav' )); ?>  
    Category Based Navigation
    <ul id="menu">  
    <li <?php if(is_home()) { ?> class="current-cat" <?php } ?>>  
    <a href="<?php bloginfo('home'); ?>">Home</a></li>  
    <?php wp_list_categories('title_li=&orderby=id');?>  
    </ul>  
    Page Based Navigation
    <ul id="menu">  
    <li <?php if(is_home()) { ?> class="current-page-item" <?php } ?>>  
    <a href="<?php bloginfo('home'); ?>">Home</a></li>  
    <?php wp_list_pages('sort_column=menu_order&depth=1&title_li=');?>  
    </ul>  
    --------------------------------------------------------------------------------
    Template Functions
    Function
    Description
    <?php the_content(); ?> content of posts/pages  
    <?php if(have_posts()): ?> check if there are posts  
    <?php while(have_posts()): the_post(); ?> shows posts  
    <?php endwhile; ?> closes loop  
    <?php endif; ?> closes if  
    <?php get_header(); ?> header.php file contents  
    <?php get_sidebar(); ?> sidebar.php file contents  
    <?php get_footer(); ?> footer.php file contents  
    <?php the_time('m-d-y'); ?> the date is ’08-18-07'  
    <?php comments_popup_link(); ?> link to comments of post  
    <?php the_title(); ?> title of post/page  
    <?php the_permalink(); ?> url of post/page  
    <?php the_category(); ?> category of post/page  
    <?php the_author(); ?> author of post/page  
    <?php the_ID(); ?> id of post/page  
    <?php edit_post_link(); ?> edit link of post/page  
    <?php wp_list_bookmarks(); ?> links from blogroll  
    <?php comments_template(); ?> comment.php file contents  
    <?php wp_list_pages(); ?> list all pages  
    <?php wp_list_categories(); ?> list all categories  
    <?php next_post_link('%link'); ?> url to next post  
    <?php previous_post_list('%link'); ?> url to previous post  
    <?php get_calendar(); ?> show post calendar  
    <?php wp_get_archives(); ?> list of archive urls  
    <?php posts_nav_link(); ?> next and previous post link  
    <?php rewind_posts(); ?> rewinds post for a second loop  
    The Loop
    Basic Loop
    <?php if(have_posts()) { ?>  
    <?php while(have_posts()) { ?>  
    <?php the_post(); ?>  
    <?php // custom post content code for title, excerpt and featured image ?>  
    <?php } // end while ?>  
    <?php } // end if ?>  
    Extra Functions
    Function
    Description
    /%postname%/ custom permalinks  
    <?php include(TEMPLATEPATH . '/x'); ?> include file from template folder  
    <?php the_search_query(); ?> value returned from search from  
    <?php _e('Message'); ?> return translated text from translate()  
    <?php wp_register(); ?> register link  
    <?php wp_loginout(); ?> login/logout link  
    <!--nextpage--> divide content into pages  
    <!--more--> cut off content and create link to full post  
    <?php wp_meta(); ?> admin meta data  
    <?php timer_start(); ?> start page timer (header.php)  
    <?php timer_stop(1); ?> time to load the page (footer.php)  
    <?php echo get_num_queries(); ?> show queries executed to generate page
    <end node> 5P9i0s8y19Z
    dt=
    <node>constants
    1
    get_site_url()
    get_theme_root_uri(), get_stylesheet(), get_stylesheet_uri(), get_stylesheet_directory(), get_stylesheet_directory_uri(), get_bloginfo()
    WordPress Directories:
    home_url()  Home URL  http://www.example.com  
    site_url()  Site directory URL  http://www.example.com or http://www.example.com/wordpress  
    admin_url()  Admin directory URL  http://www.example.com/wp-admin  
    includes_url()  Includes directory URL  http://www.example.com/wp-includes  
    content_url()  Content directory URL  http://www.example.com/wp-content  
    plugins_url()  Plugins directory URL  http://www.example.com/wp-content/plugins  
    theme_url()  Themes directory URL (#18302)  http://www.example.com/wp-content/themes  
    wp_upload_dir()  Upload directory URL (returns an array)  http://www.example.com/wp-content/uploads  


    Categories:
    WordPress Constants
    Here are some of the constants and how they are used. There are probably a few that I missed. I’ll add to this as I find more.
    Security Constants
    These constants are declared in wp-config.php and are required for the normal operation of WordPress. All of these constants are 64 character random strings and are used for hashes, nonces and other security purposes. Each installation of WordPress should use different strings to ensure that your site is harder to “hack.” If you haven’t already changed your security keys, you can use WordPress’s online security key generator.
        AUTH_KEY - Used for authenticating a user and setting cookies.
        SECURE_AUTH_KEY - Used for authenticating a user and setting cookies under the https protocol.
        LOGGED_IN_KEY - Used for marking a user’s cookie data as logged in.
        NONCE_KEY - Used for creating Nonces, which are used as one-time values to ensure that humans are entering data in forms.
        AUTH_SALT - Used to “salt” the authentication data. Salts are random data added to passwords, keys and other data to make them harder to guess.
        SECURE_AUTH_SALT - Used to “salt” the secure authentication data.
        LOGGED_IN_SALT - Used to “salt” the logged in cookie data.
        NONCE_SALT - Used to “salt” the nonce data.
    Database Constants
    These are used to declare your database connection information. If you ever need to change your database password or location, you can effect this by editing your wp-config.php file and change these values:
        DB_NAME - The name of your database.
        DB_USER - The user name for your database connection.
        DB_PASSWORD - The password for your database connection.
        DB_HOST - The host name, or computer name where your database server is located.
        DB_CHARSET - The character set used when creating tables in your database. Unless you have a specific requirement for something else, this should have a value of ‘utf8?.
        DB_COLLATE - The collation (sorting) type to use for indexed data in your tables. This should be left empty unless you have a specific requirement otherwise.
    Other wp-config.php Constants
    These are the last few constants that are normally declared in wp-config.php:
        COOKIE_DOMAIN - Specifies the domain set in cookies for those with unusual domain configurations. This can help to prevent cookies being sent with requests for static content. Example: define(‘COOKIE_DOMAIN’, ‘www.staticdomain.com’);.
        WP_DEBUG - Sets WordPress’s “debug” mode on or off. Normally, this is set to false. Changing it to define(‘WP_DEBUG’, true); will turn on debug mode. This can be useful if you need to track down errors.
        WP_HOME - This overrides the configuration setting for the home url, but doesn’t change it permanently. This should include the http:// prefix, as in: define(‘WP_HOME’, ‘http://domain.com/optionalsubdirectory’);.
        WP_SITEURL - Declares the site’s URL. This defines the address where your WordPress code files reside. It should include the http:// prefix. An example would be: define(‘WP_SITEURL’, ‘http://mydomain.com’);.
        WPLANG - Used to localize your WordPress install. This should be left empty for a default language of American English. If you need to localize your WordPress installation, you need to change this and install a corresponding MO file for your language. For example, changing this to: define(‘WPLANG’, ‘de_DE’); will set your language to German.
        DISABLE_WP_CRON - Used to turn off WP Cron tasks that are initiated y a page load. When this is disabled, it is recommended to set up a separate Cron job to run the wp-cron.php script on a regular basis in order to still have cron-related operations run.
    System Constants
    These constants are set to describe the state of how WordPress handles various requests.
        APP_REQUEST - Set within wp-app.php to indicate that WordPress is handling an Atom Publishing Protocol request.
    Default Constants
    These values are declared in the wp-includes/default-constants.php file. You to change these settings, add them to your wp-config.php file so they are declared before the wp-includes/default-constants.php file is loaded.
        ADMIN_COOKIE_PATH - Sets the cookie path for admin-based cookies. If not already defined, this will take the value: define(‘ADMIN_COOKIE_PATH’, SITECOOKIEPATH . ‘wp-admin’);
        AUTH_COOKIE - Sets the authentication cookie name. If not already set, will be: define(‘AUTH_COOKIE’, ‘wordpress_’ . COOKIEHASH);
        COOKIEHASH - Defines an MD5 hash of the site’s domain name for use in user and password cookie names.
        COOKIEPATH - Defines the path name to be used in setting and retrieving cookies. If not already set, will be the domain name in which WordPress is installed. On MultiSite installs, will be the subdomain name, or the domain name including the directory of the Site.
        FORCE_SSL_ADMIN - Enforces the use of SSL for Admin access. Normally, this is disabled. To force SSL for all Admin pages, you can: define(‘FORCE_SSL_ADMIN’, true);
        FORCE_SSL_LOGIN - Enforces the use of SSL for site logins. Normally, this is disabled. To force SSL for login requests, you can: define(‘FORCE_SSL_LOGIN’, true);
        SITECOOKIEPATH - Sets the cookie path for normal site cookies. If not set, this will take the value define(‘SITECOOKIEPATH’, preg_replace(‘|https?://[^/]+|i’, ”, get_option(‘siteurl’) . ‘/’ ) );
        WP_CONTENT_DIR - Sets the name of the content directory. Normally, this is ‘wp-content’. To change this, you can: define(‘WP_CONTENT_DIR’, ‘mycontentdirectory’); This can also be obtained by using plugin_dir_path()
        WP_CONTENT_URL - Sets the URL for the content directory references. if you change the WP_CONTENT_DIR, you will also need to change this to match the directory name for http requests.
        WP_DEBUG_DISPLAY - Controls display of errors. The default is to use the display_errors setting and not force errors to be displayed. To force errors to display, you can: define(‘WP_DEBUG_DISPLAY’, true);
        WP_DEBUG_LOG - Controls error logging to the file wp-content/debug.log. The default is no logging. To change this, you can: define(‘WP_DEBUG_LOG’, true);
        WP_DEFAULT_THEME - Sets the default theme. The current version of WordPress assumes a default theme of ‘twentyeleven’. If you want to change this, you can: define(‘WP_DEFAULT_THEME’, ‘mydefaulttheme’);
        WP_PLUGIN_DIR - Sets the directory for plugin files. The default is ‘plugins’. To change this, you can: define(‘WP_PLUGIN_DIR’, ‘/newplugindir’);
        WP_PLUGIN_URL - Sets the URL for the plugin directory. If you change the WP_PLUGIN_DIR, you will also need to change this to match the directory name for http requests. If you have compatibility issues with some plugins, you can set an additional value, as in: define(‘PLUGINDIR’, ‘/wpdir/wp-content/plugins’);.
        WPMU_PLUGIN_DIR - Sets the directory to store the Must Use plugins. The default location is /mu-plugins. To change this, you can: define(‘WPMU_PLUGIN_DIR’, ‘/requiredplugins’);
        WPMU_PLUGIN_URL - Sets the URL for the Must Use plugin directory. If you change the WPMU_PLUGIN_DIR, you will also need to change this to match the directory name for http requests.
    Capability Settings
    These can be used to control certain behaviors that users are allowed to perform. Some of these are confusing because you are turning “on” the ability to “disallow” a feature. So be careful on how you’re declaring these values. Most of these are used in the wp-includes/capabilities.php file, but if you want to change the settings, you should add your settings to your wp-config.php file.
        ALLOW_UNFILTERED_UPLOADS - Allows unfiltered uploads. You can: define(‘ALLOW_UNFILTERED_UPLOADS’, true); to enable users to upload files without filtering. Be careful: this is a potential security risk.
        DISALLOW_FILE_EDIT - Allows users to edit theme and plugin files. If you do not want your users to be able to edit these files, you can change this: define(‘DISALLOW_FILE_EDIT’, true);
        DISALLOW_FILE_MODS - Allows users to update theme and plugin files via the WordPress Repository. If you do not want your users to be able to update their WordPress install, you can change this: define(‘DISALLOW_FILE_MODS’, true);
        DISALLOW_UNFILTERED_HTML - Disables the ability to allow unfiltered HTML. Using define(‘DISALLOW_UNFILTERED_HTML’, false); will turn off the ability to allow unfiltered HTML.
        WP_CACHE - Enables the built-in WordPress caching capability. If you want to enable this caching, you can: define(‘WP_CACHE’, true);
        WP_USE_THEMES - Declared in /index.php. Tells WordPress whether or not use load it’s template engine. If you want access to WordPress APIs but don’t want or need the overhead of the template engine, define this to false: define(‘WP_USE_THEMES’, false);
    Script Control
    These settings control how scripts (Javascript and CSS) are handled by the system.
        COMPRESS_CSS - Compresses CSS. To enable CSS compression, you can: define(‘COMPRESS_CSS’, true);
        COMPRESS_SCRIPTS - Compresses scripts. To enable compression, you can: define(‘COMPRESS_SCRIPTS’, true);
        CONCATENATE_SCRIPTS - Concatenates Javascript and CSS files. To enable, you can define(‘CONCATENATE_SCRIPTS’, true);
        ENFORCE_GZIP - Forces gzip for compressoin of data sent to browsers. The default setting is to use the mod_deflate Apache module. If your host does not have this installed, you can: SCRIPT_DEBUG - Include the development (or non-minified) versions of all Javascript and CSS files. It also disabled compression and concatenation. To enable, you can: define(‘SCRIPT_DEBUG’, true);
    Optimization Settings
    These values can be used to control and optimize your WordPress install.
        AUTOSAVE_INTERVAL - Sets the interval for saving revisions while editing posts.
        CORE_UPGRADE_SKIP_NEW_BUNDLED - Enables skipping of theme and plugin updates when upgrading WordPress.
        DOING_AJAX - Set to TRUE when processing an AJAX request.
        EMPTY_TRASH_DAYS - Sets the number of days before trashed items are removed.
        IMAGE_EDIT_OVERWRITE - Allows overwriting images when editing them.
        MEDIA_TRASH - Enables the trash function for Media files.
        WP_MEMORY_LIMIT - Sets the memory limit used.
        WP_MAX_MEMORY_LIMIT - Controls the maximum memory size used. Some WordPress processes require more memory. This setting controls the upper limit used by these high memory use procedures.
        SHORTINIT - Turns on only the core WordPress functions. Often used when interfacing to other platforms.
        WP_POST_REVISIONS - Sets the maximum number of revisions to save. If set to FALSE it will be unlimited, an integer set the maximum number of revisions to save.
    MultiSite Settings
    These values control how WordPress MultiSite behaves.
        NOBLOGREDIRECT - Sets the URL to redirect visitors to when they request a non-existent MultiSite blog. The default is ‘%siteurl%’, which is the default site. If you wish to use a different location, you can: define(‘NOBLOGREDIRECT’, ‘mynewdomain.com’);
        WP_ALLOW_MULTISITE - Turns on MultiSite. Just enabling this using define(‘WP_ALLOW_MULTISITE’, true); does not by itself make your WordPress install a MultiSite install. It just starts the process. When you add this to your wp-config.php file, it turns on the Network menu in the Admin. This allows you to make certain choices and continue the setup process for your MultiSite install.
        WPMU_ACCEL_REDIRECT - When using Apache X-Sendfile for quicker loading, this helps you turn it on natively in WordPress for MultiSites. To enable, you can: define(‘WPMU_ACCEL_REDIRECT’, true);
        ABSPATH  Definitions: 5  References: 597
        ADMIN_COOKIE_PATH  Definitions: 3  References: 8
        AKISMET_DELETE_LIMIT  Definitions: 1  References: 3
        AKISMET_VERSION  Definitions: 1  References: 8
        AKISMET__MINIMUM_WP_VERSION  Definitions: 1  References: 3
        AKISMET__PLUGIN_DIR  Definitions: 1  References: 7
        AKISMET__PLUGIN_URL  Definitions: 1  References: 5
        ARRAY_A  Definitions: 1  References: 71
        ARRAY_N  Definitions: 1  References: 16
        ATOM  Definitions: 1  References: 10
        AUTH_COOKIE  Definitions: 1  References: 12
        AUTH_KEY  Definitions: 1  References: 4
        AUTH_SALT  Definitions: 1  References: 3
        AUTOSAVE_INTERVAL  Definitions: 1  References: 3
        BACKGROUND_COLOR  Definitions: 1  References: 3
        BACKGROUND_IMAGE  Definitions: 1  References: 3
        BLOGUPLOADDIR  Definitions: 1  References: 5
        BLOG_ID_CURRENT_SITE  Definitions: 1  References: 3
        COMMENTS_TEMPLATE  Definitions: 1  References: 2
        COOKIEHASH  Definitions: 2  References: 29
        COOKIEPATH  Definitions: 2  References: 17
        COOKIE_DOMAIN  Definitions: 3  References: 28
        CRLF  Definitions: 1  References: 37
        CUSTOM_TAGS  Definitions: 1  References: 3
        DAY_IN_SECONDS  Definitions: 1  References: 33
        DB_CHARSET  Definitions: 1  References: 3
        DB_COLLATE  Definitions: 1  References: 6
        DB_HOST  Definitions: 2  References: 4
        DB_NAME  Definitions: 2  References: 5
        DB_PASSWORD  Definitions: 2  References: 4
        DB_USER  Definitions: 2  References: 4
        DOING_AJAX  Definitions: 2  References: 34
        DOING_AUTOSAVE  Definitions: 1  References: 4
        DOING_CRON  Definitions: 1  References: 24
        DOMAIN_CURRENT_SITE  Definitions: 1  References: 3
        EBML_ID_ASPECTRATIOTYPE  Definitions: 1  References: 3
        EBML_ID_ATTACHEDFILE  Definitions: 1  References: 3
        EBML_ID_ATTACHMENTLINK  Definitions: 1  References: 2
        EBML_ID_ATTACHMENTS  Definitions: 1  References: 3
        EBML_ID_AUDIO  Definitions: 1  References: 4
        EBML_ID_BITDEPTH  Definitions: 1  References: 3
        EBML_ID_CHANNELPOSITIONS  Definitions: 1  References: 3
        EBML_ID_CHANNELS  Definitions: 1  References: 3
        EBML_ID_CHAPCOUNTRY  Definitions: 1  References: 3
        EBML_ID_CHAPLANGUAGE  Definitions: 1  References: 3
        EBML_ID_CHAPPROCESS  Definitions: 1  References: 2
        EBML_ID_CHAPPROCESSCODECID  Definitions: 1  References: 2
        EBML_ID_CHAPPROCESSCOMMAND  Definitions: 1  References: 2
        EBML_ID_CHAPPROCESSDATA  Definitions: 1  References: 2
        EBML_ID_CHAPPROCESSPRIVATE  Definitions: 1  References: 2
        EBML_ID_CHAPPROCESSTIME  Definitions: 1  References: 2
        EBML_ID_CHAPSTRING  Definitions: 1  References: 3
        EBML_ID_CHAPTERATOM  Definitions: 1  References: 4
        EBML_ID_CHAPTERDISPLAY  Definitions: 1  References: 4
        EBML_ID_CHAPTERFLAGENABLED  Definitions: 1  References: 3
        EBML_ID_CHAPTERFLAGHIDDEN  Definitions: 1  References: 3
        EBML_ID_CHAPTERPHYSICALEQUIV  Definitions: 1  References: 2
        EBML_ID_CHAPTERS  Definitions: 1  References: 3
        EBML_ID_CHAPTERSEGMENTEDITIONUID  Definitions: 1  References: 3
        EBML_ID_CHAPTERSEGMENTUID  Definitions: 1  References: 3
        EBML_ID_CHAPTERTIMEEND  Definitions: 1  References: 3
        EBML_ID_CHAPTERTIMESTART  Definitions: 1  References: 3
        EBML_ID_CHAPTERTRACK  Definitions: 1  References: 4
        EBML_ID_CHAPTERTRACKNUMBER  Definitions: 1  References: 3
        EBML_ID_CHAPTERTRANSLATE  Definitions: 1  References: 3
        EBML_ID_CHAPTERTRANSLATECODEC  Definitions: 1  References: 3
        EBML_ID_CHAPTERTRANSLATEEDITIONUID  Definitions: 1  References: 3
        EBML_ID_CHAPTERTRANSLATEID  Definitions: 1  References: 3
        EBML_ID_CHAPTERUID  Definitions: 1  References: 3
        EBML_ID_CLUSTER  Definitions: 1  References: 5
        EBML_ID_CLUSTERBLOCK  Definitions: 1  References: 5
        EBML_ID_CLUSTERBLOCKADDID  Definitions: 1  References: 2
        EBML_ID_CLUSTERBLOCKADDITIONAL  Definitions: 1  References: 2
        EBML_ID_CLUSTERBLOCKADDITIONID  Definitions: 1  References: 2
        EBML_ID_CLUSTERBLOCKADDITIONS  Definitions: 1  References: 2
        EBML_ID_CLUSTERBLOCKDURATION  Definitions: 1  References: 3
        EBML_ID_CLUSTERBLOCKGROUP  Definitions: 1  References: 4
        EBML_ID_CLUSTERBLOCKMORE  Definitions: 1  References: 2
        EBML_ID_CLUSTERBLOCKVIRTUAL  Definitions: 1  References: 2
        EBML_ID_CLUSTERCODECSTATE  Definitions: 1  References: 3
        EBML_ID_CLUSTERDELAY  Definitions: 1  References: 2
        EBML_ID_CLUSTERDURATION  Definitions: 1  References: 2
        EBML_ID_CLUSTERENCRYPTEDBLOCK  Definitions: 1  References: 2
        EBML_ID_CLUSTERFRAMENUMBER  Definitions: 1  References: 2
        EBML_ID_CLUSTERLACENUMBER  Definitions: 1  References: 2
        EBML_ID_CLUSTERPOSITION  Definitions: 1  References: 3
        EBML_ID_CLUSTERPREVSIZE  Definitions: 1  References: 3
        EBML_ID_CLUSTERREFERENCEBLOCK  Definitions: 1  References: 3
        EBML_ID_CLUSTERREFERENCEPRIORITY  Definitions: 1  References: 3
        EBML_ID_CLUSTERREFERENCEVIRTUAL  Definitions: 1  References: 2
        EBML_ID_CLUSTERSILENTTRACKNUMBER  Definitions: 1  References: 3
        EBML_ID_CLUSTERSILENTTRACKS  Definitions: 1  References: 4
        EBML_ID_CLUSTERSIMPLEBLOCK  Definitions: 1  References: 7
        EBML_ID_CLUSTERSLICES  Definitions: 1  References: 2
        EBML_ID_CLUSTERTIMECODE  Definitions: 1  References: 3
        EBML_ID_CLUSTERTIMESLICE  Definitions: 1  References: 2
        EBML_ID_CODECDECODEALL  Definitions: 1  References: 3
        EBML_ID_CODECDOWNLOADURL  Definitions: 1  References: 2
        EBML_ID_CODECID  Definitions: 1  References: 3
        EBML_ID_CODECINFOURL  Definitions: 1  References: 2
        EBML_ID_CODECNAME  Definitions: 1  References: 3
        EBML_ID_CODECPRIVATE  Definitions: 1  References: 4
        EBML_ID_CODECSETTINGS  Definitions: 1  References: 2
        EBML_ID_COLOURSPACE  Definitions: 1  References: 3
        EBML_ID_CONTENTCOMPALGO  Definitions: 1  References: 3
        EBML_ID_CONTENTCOMPRESSION  Definitions: 1  References: 4
        EBML_ID_CONTENTCOMPSETTINGS  Definitions: 1  References: 3
        EBML_ID_CONTENTENCALGO  Definitions: 1  References: 3
        EBML_ID_CONTENTENCKEYID  Definitions: 1  References: 3
        EBML_ID_CONTENTENCODING  Definitions: 1  References: 3
        EBML_ID_CONTENTENCODINGORDER  Definitions: 1  References: 3
        EBML_ID_CONTENTENCODINGS  Definitions: 1  References: 4
        EBML_ID_CONTENTENCODINGSCOPE  Definitions: 1  References: 3
        EBML_ID_CONTENTENCODINGTYPE  Definitions: 1  References: 3
        EBML_ID_CONTENTENCRYPTION  Definitions: 1  References: 4
        EBML_ID_CONTENTSIGALGO  Definitions: 1  References: 3
        EBML_ID_CONTENTSIGHASHALGO  Definitions: 1  References: 3
        EBML_ID_CONTENTSIGKEYID  Definitions: 1  References: 3
        EBML_ID_CONTENTSIGNATURE  Definitions: 1  References: 3
        EBML_ID_CRC32  Definitions: 1  References: 3
        EBML_ID_CUEBLOCKNUMBER  Definitions: 1  References: 3
        EBML_ID_CUECLUSTERPOSITION  Definitions: 1  References: 3
        EBML_ID_CUECODECSTATE  Definitions: 1  References: 3
        EBML_ID_CUEPOINT  Definitions: 1  References: 3
        EBML_ID_CUEREFCLUSTER  Definitions: 1  References: 2
        EBML_ID_CUEREFCODECSTATE  Definitions: 1  References: 2
        EBML_ID_CUEREFERENCE  Definitions: 1  References: 2
        EBML_ID_CUEREFNUMBER  Definitions: 1  References: 2
        EBML_ID_CUEREFTIME  Definitions: 1  References: 2
        EBML_ID_CUES  Definitions: 1  References: 3
        EBML_ID_CUETIME  Definitions: 1  References: 3
        EBML_ID_CUETRACK  Definitions: 1  References: 3
        EBML_ID_CUETRACKPOSITIONS  Definitions: 1  References: 4
        EBML_ID_DATEUTC  Definitions: 1  References: 3
        EBML_ID_DEFAULTDURATION  Definitions: 1  References: 3
        EBML_ID_DISPLAYHEIGHT  Definitions: 1  References: 3
        EBML_ID_DISPLAYUNIT  Definitions: 1  References: 3
        EBML_ID_DISPLAYWIDTH  Definitions: 1  References: 3
        EBML_ID_DOCTYPE  Definitions: 1  References: 3
        EBML_ID_DOCTYPEREADVERSION  Definitions: 1  References: 3
        EBML_ID_DOCTYPEVERSION  Definitions: 1  References: 3
        EBML_ID_DURATION  Definitions: 1  References: 3
        EBML_ID_EBML  Definitions: 1  References: 3
        EBML_ID_EBMLMAXIDLENGTH  Definitions: 1  References: 3
        EBML_ID_EBMLMAXSIZELENGTH  Definitions: 1  References: 3
        EBML_ID_EBMLREADVERSION  Definitions: 1  References: 3
        EBML_ID_EBMLVERSION  Definitions: 1  References: 3
        EBML_ID_EDITIONENTRY  Definitions: 1  References: 3
        EBML_ID_EDITIONFLAGDEFAULT  Definitions: 1  References: 3
        EBML_ID_EDITIONFLAGHIDDEN  Definitions: 1  References: 3
        EBML_ID_EDITIONFLAGORDERED  Definitions: 1  References: 3
        EBML_ID_EDITIONUID  Definitions: 1  References: 3
        EBML_ID_FILEDATA  Definitions: 1  References: 4
        EBML_ID_FILEDESCRIPTION  Definitions: 1  References: 3
        EBML_ID_FILEMIMETYPE  Definitions: 1  References: 3
        EBML_ID_FILENAME  Definitions: 1  References: 3
        EBML_ID_FILEREFERRAL  Definitions: 1  References: 2
        EBML_ID_FILEUID  Definitions: 1  References: 3
        EBML_ID_FLAGDEFAULT  Definitions: 1  References: 3
        EBML_ID_FLAGENABLED  Definitions: 1  References: 3
        EBML_ID_FLAGFORCED  Definitions: 1  References: 3
        EBML_ID_FLAGINTERLACED  Definitions: 1  References: 3
        EBML_ID_FLAGLACING  Definitions: 1  References: 3
        EBML_ID_GAMMAVALUE  Definitions: 1  References: 3
        EBML_ID_INFO  Definitions: 1  References: 3
        EBML_ID_LANGUAGE  Definitions: 1  References: 3
        EBML_ID_MAXBLOCKADDITIONID  Definitions: 1  References: 3
        EBML_ID_MAXCACHE  Definitions: 1  References: 3
        EBML_ID_MINCACHE  Definitions: 1  References: 3
        EBML_ID_MUXINGAPP  Definitions: 1  References: 3
        EBML_ID_NAME  Definitions: 1  References: 3
        EBML_ID_NEXTFILENAME  Definitions: 1  References: 3
        EBML_ID_NEXTUID  Definitions: 1  References: 3
        EBML_ID_OLDSTEREOMODE  Definitions: 1  References: 3
        EBML_ID_OUTPUTSAMPLINGFREQUENCY  Definitions: 1  References: 3
        EBML_ID_PIXELCROPBOTTOM  Definitions: 1  References: 3
        EBML_ID_PIXELCROPLEFT  Definitions: 1  References: 3
        EBML_ID_PIXELCROPRIGHT  Definitions: 1  References: 3
        EBML_ID_PIXELCROPTOP  Definitions: 1  References: 3
        EBML_ID_PIXELHEIGHT  Definitions: 1  References: 3
        EBML_ID_PIXELWIDTH  Definitions: 1  References: 3
        EBML_ID_PREVFILENAME  Definitions: 1  References: 3
        EBML_ID_PREVUID  Definitions: 1  References: 3
        EBML_ID_SAMPLINGFREQUENCY  Definitions: 1  References: 3
        EBML_ID_SEEK  Definitions: 1  References: 3
        EBML_ID_SEEKHEAD  Definitions: 1  References: 3
        EBML_ID_SEEKID  Definitions: 1  References: 3
        EBML_ID_SEEKPOSITION  Definitions: 1  References: 3
        EBML_ID_SEGMENT  Definitions: 1  References: 3
        EBML_ID_SEGMENTFAMILY  Definitions: 1  References: 3
        EBML_ID_SEGMENTFILENAME  Definitions: 1  References: 3
        EBML_ID_SEGMENTUID  Definitions: 1  References: 3
        EBML_ID_SIMPLETAG  Definitions: 1  References: 5
        EBML_ID_STEREOMODE  Definitions: 1  References: 3
        EBML_ID_TAG  Definitions: 1  References: 3
        EBML_ID_TAGATTACHMENTUID  Definitions: 1  References: 3
        EBML_ID_TAGBINARY  Definitions: 1  References: 3
        EBML_ID_TAGCHAPTERUID  Definitions: 1  References: 3
        EBML_ID_TAGDEFAULT  Definitions: 1  References: 3
        EBML_ID_TAGEDITIONUID  Definitions: 1  References: 3
        EBML_ID_TAGLANGUAGE  Definitions: 1  References: 3
        EBML_ID_TAGNAME  Definitions: 1  References: 3
        EBML_ID_TAGS  Definitions: 1  References: 3
        EBML_ID_TAGSTRING  Definitions: 1  References: 3
        EBML_ID_TAGTRACKUID  Definitions: 1  References: 3
        EBML_ID_TARGETS  Definitions: 1  References: 3
        EBML_ID_TARGETTYPE  Definitions: 1  References: 3
        EBML_ID_TARGETTYPEVALUE  Definitions: 1  References: 3
        EBML_ID_TIMECODESCALE  Definitions: 1  References: 3
        EBML_ID_TITLE  Definitions: 1  References: 3
        EBML_ID_TRACKENTRY  Definitions: 1  References: 3
        EBML_ID_TRACKNUMBER  Definitions: 1  References: 3
        EBML_ID_TRACKOFFSET  Definitions: 1  References: 2
        EBML_ID_TRACKOVERLAY  Definitions: 1  References: 2
        EBML_ID_TRACKS  Definitions: 1  References: 3
        EBML_ID_TRACKTIMECODESCALE  Definitions: 1  References: 3
        EBML_ID_TRACKTRANSLATE  Definitions: 1  References: 2
        EBML_ID_TRACKTRANSLATECODEC  Definitions: 1  References: 2
        EBML_ID_TRACKTRANSLATEEDITIONUID  Definitions: 1  References: 2
        EBML_ID_TRACKTRANSLATETRACKID  Definitions: 1  References: 2
        EBML_ID_TRACKTYPE  Definitions: 1  References: 3
        EBML_ID_TRACKUID  Definitions: 1  References: 3
        EBML_ID_VIDEO  Definitions: 1  References: 4
        EBML_ID_VOID  Definitions: 1  References: 3
        EBML_ID_WRITINGAPP  Definitions: 1  References: 3
        EMPTY_TRASH_DAYS  Definitions: 1  References: 28
        EP_ALL  Definitions: 1  References: 1
        EP_ALL_ARCHIVES  Definitions: 1  References: 2
        EP_ATTACHMENT  Definitions: 1  References: 3
        EP_AUTHORS  Definitions: 1  References: 3
        EP_CATEGORIES  Definitions: 1  References: 3
        EP_COMMENTS  Definitions: 1  References: 3
        EP_DATE  Definitions: 1  References: 3
        EP_DAY  Definitions: 1  References: 3
        EP_MONTH  Definitions: 1  References: 3
        EP_NONE  Definitions: 1  References: 6
        EP_PAGES  Definitions: 1  References: 4
        EP_PERMALINK  Definitions: 1  References: 5
        EP_ROOT  Definitions: 1  References: 4
        EP_SEARCH  Definitions: 1  References: 3
        EP_TAGS  Definitions: 1  References: 3
        EP_YEAR  Definitions: 1  References: 3
        EZSQL_VERSION  Definitions: 1  References: 1
        FORCE_SSL_ADMIN  Definitions: 1  References: 3
        FORCE_SSL_LOGIN  Definitions: 1  References: 3
        FS_CHMOD_DIR  Definitions: 1  References: 17
        FS_CHMOD_FILE  Definitions: 1  References: 21
        FS_CONNECT_TIMEOUT  Definitions: 1  References: 5
        FS_TIMEOUT  Definitions: 2  References: 8
        FTP_ASCII  Definitions: 1  References: 21
        FTP_AUTOASCII  Definitions: 1  References: 9
        FTP_BINARY  Definitions: 1  References: 19
        FTP_FORCE  Definitions: 1  References: 3
        GETID3_FLV_TAG_AUDIO  Definitions: 1  References: 2
        GETID3_FLV_TAG_META  Definitions: 1  References: 2
        GETID3_FLV_TAG_VIDEO  Definitions: 1  References: 2
        GETID3_FLV_VIDEO_H263  Definitions: 1  References: 3
        GETID3_FLV_VIDEO_H264  Definitions: 1  References: 3
        GETID3_FLV_VIDEO_SCREEN  Definitions: 1  References: 2
        GETID3_FLV_VIDEO_SCREENV2  Definitions: 1  References: 2
        GETID3_FLV_VIDEO_VP6FLV  Definitions: 1  References: 2
        GETID3_FLV_VIDEO_VP6FLV_ALPHA  Definitions: 1  References: 2
        GETID3_HELPERAPPSDIR  Definitions: 1  References: 11
        GETID3_INCLUDEPATH  Definitions: 1  References: 24
        GETID3_MP3_VALID_CHECK_FRAMES  Definitions: 1  References: 4
        GETID3_OS_ISWINDOWS  Definitions: 1  References: 7
        GETID3_TEMP_DIR  Definitions: 1  References: 6
        H264_AVC_SEQUENCE_HEADER  Definitions: 1  References: 2
        H264_PROFILE_BASELINE  Definitions: 1  References: 1
        H264_PROFILE_EXTENDED  Definitions: 1  References: 1
        H264_PROFILE_HIGH  Definitions: 1  References: 2
        H264_PROFILE_HIGH10  Definitions: 1  References: 2
        H264_PROFILE_HIGH422  Definitions: 1  References: 2
        H264_PROFILE_HIGH444  Definitions: 1  References: 2
        H264_PROFILE_HIGH444_PREDICTIVE  Definitions: 1  References: 2
        H264_PROFILE_MAIN  Definitions: 1  References: 1
        HEADER_IMAGE  Definitions: 3  References: 5
        HEADER_IMAGE_HEIGHT  Definitions: 3  References: 7
        HEADER_IMAGE_WIDTH  Definitions: 3  References: 10
        HEADER_TEXTCOLOR  Definitions: 3  References: 7
        HOUR_IN_SECONDS  Definitions: 1  References: 45
        IFRAME_REQUEST  Definitions: 8  References: 12
        IS_PROFILE_PAGE  Definitions: 2  References: 24
        LANGDIR  Definitions: 2  References: 4
        LOGGED_IN_COOKIE  Definitions: 1  References: 12
        LOGGED_IN_KEY  Definitions: 1  References: 3
        LOGGED_IN_SALT  Definitions: 1  References: 3
        MAGPIE_CACHE_AGE  Definitions: 1  References: 3
        MAGPIE_CACHE_DIR  Definitions: 1  References: 3
        MAGPIE_CACHE_FRESH_ONLY  Definitions: 1  References: 2
        MAGPIE_CACHE_ON  Definitions: 1  References: 4
        MAGPIE_DEBUG  Definitions: 1  References: 10
        MAGPIE_FETCH_TIME_OUT  Definitions: 1  References: 3
        MAGPIE_INITALIZED  Definitions: 1  References: 2
        MAGPIE_USER_AGENT  Definitions: 2  References: 3
        MAGPIE_USE_GZIP  Definitions: 1  References: 2
        MEDIA_TRASH  Definitions: 1  References: 13
        MINUTE_IN_SECONDS  Definitions: 1  References: 9
        MULTISITE  Definitions: 2  References: 12
        MUPLUGINDIR  Definitions: 1  References: 2
        NONCE_KEY  Definitions: 1  References: 3
        NONCE_SALT  Definitions: 1  References: 3
        NO_HEADER_TEXT  Definitions: 2  References: 4
        OBJECT  Definitions: 1  References: 44
        OBJECT_K  Definitions: 1  References: 4
        PASS_COOKIE  Definitions: 1  References: 4
        PATH_CURRENT_SITE  Definitions: 1  References: 3
        PCLZIP_ATT_FILE_COMMENT  Definitions: 1  References: 4
        PCLZIP_ATT_FILE_CONTENT  Definitions: 1  References: 4
        PCLZIP_ATT_FILE_MTIME  Definitions: 1  References: 4
        PCLZIP_ATT_FILE_NAME  Definitions: 1  References: 6
        PCLZIP_ATT_FILE_NEW_FULL_NAME  Definitions: 1  References: 4
        PCLZIP_ATT_FILE_NEW_SHORT_NAME  Definitions: 1  References: 4
        PCLZIP_CB_POST_ADD  Definitions: 1  References: 7
        PCLZIP_CB_POST_DELETE  Definitions: 1  References: 2
        PCLZIP_CB_POST_EXTRACT  Definitions: 1  References: 13
        PCLZIP_CB_POST_LIST  Definitions: 1  References: 2
        PCLZIP_CB_PRE_ADD  Definitions: 1  References: 7
        PCLZIP_CB_PRE_DELETE  Definitions: 1  References: 2
        PCLZIP_CB_PRE_EXTRACT  Definitions: 1  References: 13
        PCLZIP_CB_PRE_LIST  Definitions: 1  References: 2
        PCLZIP_ERROR_EXTERNAL  Definitions: 1  References: 6
        PCLZIP_ERR_ALREADY_A_DIRECTORY  Definitions: 1  References: 2
        PCLZIP_ERR_BAD_CHECKSUM  Definitions: 1  References: 3
        PCLZIP_ERR_BAD_EXTENSION  Definitions: 1  References: 3
        PCLZIP_ERR_BAD_EXTRACTED_FILE  Definitions: 1  References: 3
        PCLZIP_ERR_BAD_FORMAT  Definitions: 1  References: 14
        PCLZIP_ERR_DELETE_FILE_FAIL  Definitions: 1  References: 3
        PCLZIP_ERR_DIRECTORY_RESTRICTION  Definitions: 1  References: 4
        PCLZIP_ERR_DIR_CREATE_FAIL  Definitions: 1  References: 4
        PCLZIP_ERR_FILENAME_TOO_LONG  Definitions: 1  References: 3
        PCLZIP_ERR_INVALID_ARCHIVE_ZIP  Definitions: 1  References: 8
        PCLZIP_ERR_INVALID_ATTRIBUTE_VALUE  Definitions: 1  References: 11
        PCLZIP_ERR_INVALID_OPTION_VALUE  Definitions: 1  References: 11
        PCLZIP_ERR_INVALID_PARAMETER  Definitions: 1  References: 24
        PCLZIP_ERR_INVALID_ZIP  Definitions: 1  References: 3
        PCLZIP_ERR_MISSING_FILE  Definitions: 1  References: 8
        PCLZIP_ERR_MISSING_OPTION_VALUE  Definitions: 1  References: 12
        PCLZIP_ERR_NO_ERROR  Definitions: 1  References: 6
        PCLZIP_ERR_READ_OPEN_FAIL  Definitions: 1  References: 16
        PCLZIP_ERR_RENAME_FILE_FAIL  Definitions: 1  References: 3
        PCLZIP_ERR_UNSUPPORTED_COMPRESSION  Definitions: 1  References: 4
        PCLZIP_ERR_UNSUPPORTED_ENCRYPTION  Definitions: 1  References: 5
        PCLZIP_ERR_USER_ABORTED  Definitions: 1  References: 7
        PCLZIP_ERR_WRITE_OPEN_FAIL  Definitions: 1  References: 7
        PCLZIP_OPT_ADD_COMMENT  Definitions: 1  References: 5
        PCLZIP_OPT_ADD_PATH  Definitions: 1  References: 14
        PCLZIP_OPT_ADD_TEMP_FILE_OFF  Definitions: 1  References: 1
        PCLZIP_OPT_ADD_TEMP_FILE_ON  Definitions: 1  References: 1
        PCLZIP_OPT_ADD_TEMP_FILE_THRESHOLD  Definitions: 1  References: 1
        PCLZIP_OPT_BY_EREG  Definitions: 1  References: 4
        PCLZIP_OPT_BY_INDEX  Definitions: 1  References: 23
        PCLZIP_OPT_BY_NAME  Definitions: 1  References: 21
        PCLZIP_OPT_BY_PREG  Definitions: 1  References: 11
        PCLZIP_OPT_COMMENT  Definitions: 1  References: 10
        PCLZIP_OPT_EXTRACT_AS_STRING  Definitions: 1  References: 10
        PCLZIP_OPT_EXTRACT_DIR_RESTRICTION  Definitions: 1  References: 7
        PCLZIP_OPT_EXTRACT_IN_OUTPUT  Definitions: 1  References: 5
        PCLZIP_OPT_NO_COMPRESSION  Definitions: 1  References: 8
        PCLZIP_OPT_PATH  Definitions: 1  References: 8
        PCLZIP_OPT_PREPEND_COMMENT  Definitions: 1  References: 5
        PCLZIP_OPT_REMOVE_ALL_PATH  Definitions: 1  References: 15
        PCLZIP_OPT_REMOVE_PATH  Definitions: 1  References: 14
        PCLZIP_OPT_REPLACE_NEWER  Definitions: 1  References: 7
        PCLZIP_OPT_SET_CHMOD  Definitions: 1  References: 6
        PCLZIP_OPT_STOP_ON_ERROR  Definitions: 1  References: 14
        PCLZIP_OPT_TEMP_FILE_OFF  Definitions: 1  References: 13
        PCLZIP_OPT_TEMP_FILE_ON  Definitions: 1  References: 10
        PCLZIP_OPT_TEMP_FILE_THRESHOLD  Definitions: 1  References: 17
        PCLZIP_READ_BLOCK_SIZE  Definitions: 1  References: 34
        PCLZIP_SEPARATOR  Definitions: 1  References: 4
        PCLZIP_TEMPORARY_DIR  Definitions: 1  References: 7
        PCLZIP_TEMPORARY_FILE_RATIO  Definitions: 1  References: 3
        PHP_INT_MIN  Definitions: 1  References: 3
        PLUGINDIR  Definitions: 1  References: 2
        PLUGINS_COOKIE_PATH  Definitions: 1  References: 5
        PO_MAX_LINE_LEN  Definitions: 1  References: 2
        RSS  Definitions: 1  References: 33
        SCRIPT_DEBUG  Definitions: 2  References: 14
        SECURE_AUTH_COOKIE  Definitions: 1  References: 12
        SECURE_AUTH_KEY  Definitions: 1  References: 3
        SECURE_AUTH_SALT  Definitions: 1  References: 3
        SERVICES_JSON_IN_ARR  Definitions: 1  References: 10
        SERVICES_JSON_IN_CMT  Definitions: 1  References: 3
        SERVICES_JSON_IN_OBJ  Definitions: 1  References: 10
        SERVICES_JSON_IN_STR  Definitions: 1  References: 4
        SERVICES_JSON_LOOSE_TYPE  Definitions: 1  References: 4
        SERVICES_JSON_SLICE  Definitions: 1  References: 7
        SERVICES_JSON_SUPPRESS_ERRORS  Definitions: 1  References: 3
        SERVICES_JSON_USE_TO_JSON  Definitions: 1  References: 2
        SHORTINIT  Definitions: 2  References: 4
        SIMPLEPIE_BUILD  Definitions: 1  References: 6
        SIMPLEPIE_CONSTRUCT_ALL  Definitions: 1  References: 1
        SIMPLEPIE_CONSTRUCT_BASE64  Definitions: 1  References: 5
        SIMPLEPIE_CONSTRUCT_HTML  Definitions: 1  References: 18
        SIMPLEPIE_CONSTRUCT_IRI  Definitions: 1  References: 60
        SIMPLEPIE_CONSTRUCT_MAYBE_HTML  Definitions: 1  References: 18
        SIMPLEPIE_CONSTRUCT_NONE  Definitions: 1  References: 5
        SIMPLEPIE_CONSTRUCT_TEXT  Definitions: 1  References: 258
        SIMPLEPIE_CONSTRUCT_XHTML  Definitions: 1  References: 8
        SIMPLEPIE_FILE_SOURCE_CURL  Definitions: 1  References: 2
        SIMPLEPIE_FILE_SOURCE_FILE_GET_CONTENTS  Definitions: 1  References: 2
        SIMPLEPIE_FILE_SOURCE_FSOCKOPEN  Definitions: 1  References: 2
        SIMPLEPIE_FILE_SOURCE_LOCAL  Definitions: 1  References: 3
        SIMPLEPIE_FILE_SOURCE_NONE  Definitions: 1  References: 2
        SIMPLEPIE_FILE_SOURCE_REMOTE  Definitions: 1  References: 11
        SIMPLEPIE_IANA_LINK_RELATIONS_REGISTRY  Definitions: 1  References: 19
        SIMPLEPIE_LINKBACK  Definitions: 1  References: 1
        SIMPLEPIE_LOCATOR_ALL  Definitions: 1  References: 4
        SIMPLEPIE_LOCATOR_AUTODISCOVERY  Definitions: 1  References: 2
        SIMPLEPIE_LOCATOR_LOCAL_BODY  Definitions: 1  References: 3
        SIMPLEPIE_LOCATOR_LOCAL_EXTENSION  Definitions: 1  References: 3
        SIMPLEPIE_LOCATOR_NONE  Definitions: 1  References: 2
        SIMPLEPIE_LOCATOR_REMOTE_BODY  Definitions: 1  References: 3
        SIMPLEPIE_LOCATOR_REMOTE_EXTENSION  Definitions: 1  References: 3
        SIMPLEPIE_LOWERCASE  Definitions: 1  References: 1
        SIMPLEPIE_NAME  Definitions: 1  References: 5
        SIMPLEPIE_NAMESPACE_ATOM_03  Definitions: 1  References: 79
        SIMPLEPIE_NAMESPACE_ATOM_10  Definitions: 1  References: 89
        SIMPLEPIE_NAMESPACE_DC_10  Definitions: 1  References: 21
        SIMPLEPIE_NAMESPACE_DC_11  Definitions: 1  References: 21
        SIMPLEPIE_NAMESPACE_GEORSS  Definitions: 1  References: 7
        SIMPLEPIE_NAMESPACE_ITUNES  Definitions: 1  References: 24
        SIMPLEPIE_NAMESPACE_MEDIARSS  Definitions: 1  References: 116
        SIMPLEPIE_NAMESPACE_MEDIARSS_WRONG  Definitions: 1  References: 2
        SIMPLEPIE_NAMESPACE_MEDIARSS_WRONG2  Definitions: 1  References: 2
        SIMPLEPIE_NAMESPACE_MEDIARSS_WRONG3  Definitions: 1  References: 2
        SIMPLEPIE_NAMESPACE_MEDIARSS_WRONG4  Definitions: 1  References: 2
        SIMPLEPIE_NAMESPACE_MEDIARSS_WRONG5  Definitions: 1  References: 2
        SIMPLEPIE_NAMESPACE_RDF  Definitions: 1  References: 20
        SIMPLEPIE_NAMESPACE_RSS_090  Definitions: 1  References: 23
        SIMPLEPIE_NAMESPACE_RSS_10  Definitions: 1  References: 23
        SIMPLEPIE_NAMESPACE_RSS_20  Definitions: 1  References: 50
        SIMPLEPIE_NAMESPACE_W3C_BASIC_GEO  Definitions: 1  References: 10
        SIMPLEPIE_NAMESPACE_XHTML  Definitions: 1  References: 3
        SIMPLEPIE_NAMESPACE_XML  Definitions: 1  References: 5
        SIMPLEPIE_PCRE_HTML_ATTRIBUTE  Definitions: 1  References: 4
        SIMPLEPIE_PCRE_XML_ATTRIBUTE  Definitions: 1  References: 3
        SIMPLEPIE_SAME_CASE  Definitions: 1  References: 1
        SIMPLEPIE_TYPE_ALL  Definitions: 1  References: 2
        SIMPLEPIE_TYPE_ATOM_03  Definitions: 1  References: 3
        SIMPLEPIE_TYPE_ATOM_10  Definitions: 1  References: 3
        SIMPLEPIE_TYPE_ATOM_ALL  Definitions: 1  References: 2
        SIMPLEPIE_TYPE_NONE  Definitions: 1  References: 3
        SIMPLEPIE_TYPE_RSS_090  Definitions: 1  References: 4
        SIMPLEPIE_TYPE_RSS_091  Definitions: 1  References: 2
        SIMPLEPIE_TYPE_RSS_091_NETSCAPE  Definitions: 1  References: 2
        SIMPLEPIE_TYPE_RSS_091_USERLAND  Definitions: 1  References: 2
        SIMPLEPIE_TYPE_RSS_092  Definitions: 1  References: 2
        SIMPLEPIE_TYPE_RSS_093  Definitions: 1  References: 2
        SIMPLEPIE_TYPE_RSS_094  Definitions: 1  References: 2
        SIMPLEPIE_TYPE_RSS_10  Definitions: 1  References: 4
        SIMPLEPIE_TYPE_RSS_20  Definitions: 1  References: 2
        SIMPLEPIE_TYPE_RSS_ALL  Definitions: 1  References: 2
        SIMPLEPIE_TYPE_RSS_RDF  Definitions: 1  References: 2
        SIMPLEPIE_TYPE_RSS_SYNDICATION  Definitions: 1  References: 7
        SIMPLEPIE_UPPERCASE  Definitions: 1  References: 1
        SIMPLEPIE_URL  Definitions: 1  References: 3
        SIMPLEPIE_USERAGENT  Definitions: 1  References: 4
        SIMPLEPIE_VERSION  Definitions: 1  References: 4
        SITECOOKIEPATH  Definitions: 2  References: 20
        SITE_ID_CURRENT_SITE  Definitions: 1  References: 3
        STYLESHEETPATH  Definitions: 1  References: 8
        SUBDOMAIN_INSTALL  Definitions: 3  References: 13
        TEMPLATEPATH  Definitions: 1  References: 9
        TEST_COOKIE  Definitions: 1  References: 5
        UPLOADBLOGSDIR  Definitions: 1  References: 5
        UPLOADS  Definitions: 1  References: 7
        USER_COOKIE  Definitions: 1  References: 4
        VHOST  Definitions: 2  References: 11
        WEEK_IN_SECONDS  Definitions: 1  References: 6
        WPINC  Definitions: 5  References: 204
        WPLANG  Definitions: 1  References: 22
        WPMU_ACCEL_REDIRECT  Definitions: 1  References: 3
        WPMU_PLUGIN_DIR  Definitions: 1  References: 20
        WPMU_PLUGIN_URL  Definitions: 1  References: 3
        WPMU_SENDFILE  Definitions: 1  References: 3
        WP_ADMIN  Definitions: 4  References: 10
        WP_ALLOW_REPAIR  Definitions: 2  References: 3
        WP_BLOG_ADMIN  Definitions: 1  References: 3
        WP_CACHE  Definitions: 1  References: 6
        WP_CONTENT_DIR  Definitions: 3  References: 95
        WP_CONTENT_URL  Definitions: 1  References: 10
        WP_CRON_LOCK_TIMEOUT  Definitions: 1  References: 4
        WP_DEBUG  Definitions: 3  References: 26
        WP_DEBUG_DISPLAY  Definitions: 1  References: 5
        WP_DEBUG_LOG  Definitions: 1  References: 5
        WP_DEFAULT_THEME  Definitions: 1  References: 19
        WP_IMPORTING  Definitions: 1  References: 7
        WP_INSTALLING  Definitions: 5  References: 37
        WP_INSTALLING_NETWORK  Definitions: 2  References: 9
        WP_LANG_DIR  Definitions: 2  References: 32
        WP_LOAD_IMPORTERS  Definitions: 2  References: 3
        WP_MAIL_INTERVAL  Definitions: 1  References: 3
        WP_MAX_MEMORY_LIMIT  Definitions: 1  References: 8
        WP_MEMORY_LIMIT  Definitions: 2  References: 7
        WP_NETWORK_ADMIN  Definitions: 2  References: 9
        WP_PLUGIN_DIR  Definitions: 1  References: 58
        WP_PLUGIN_URL  Definitions: 1  References: 4
        WP_POST_REVISIONS  Definitions: 1  References: 3
        WP_REPAIRING  Definitions: 1  References: 4
        WP_SETUP_CONFIG  Definitions: 1  References: 5
        WP_UNINSTALL_PLUGIN  Definitions: 1  References: 1
        WP_USER_ADMIN  Definitions: 2  References: 9
        WP_USE_THEMES  Definitions: 1  References: 6
        WXR_VERSION  Definitions: 1  References: 1
        XMLRPC_REQUEST  Definitions: 1  References: 8
        YEAR_IN_SECONDS  Definitions: 1  References: 21

    Generated: Mon May 12 03:55:47 2014     Hosted by follow the white rabbit.
    <end node> 5P9i0s8y19Z
    dt=
    <node>directory
    1
    Available Functions
    WordPress includes many other functions for determining paths and URLs to files or directories within plugins, themes, and WordPress itself. See the individual Codex pages for each function for complete information on their use.
    ABSPATH - from wpconfig.php
    Plugins
    plugins_url()
    plugin_dir_url()
    plugin_dir_path()
    plugin_basename()
    Themes
    get_template_directory_uri()
    get_stylesheet_uri()
    get_theme_root_uri()
    get_theme_root()
    get_theme_roots()
    Site Home
    home_url()
    WordPress
    admin_url()
    site_url()
    content_url()
    includes_url()
    wp_upload_dir()
    Multisite
    get_admin_url()
    get_home_url()
    get_site_url()
    network_admin_url()
    network_site_url()
    network_home_url()
    Constants
    WordPress makes use of the following constants when determining the path to the content and plugin directories. These should not be used directly by plugins or themes, but are listed here for completeness.
    WP_CONTENT_DIR  // no trailing slash, full paths only
    WP_CONTENT_URL  // full url
    WP_PLUGIN_DIR  // full path, no trailing slash
    WP_PLUGIN_URL  // full url, no trailing slash
    // Available per default in MS, not set in single site install
    // Can be used in single site installs (as usual: at your own risk)
    UPLOADS // uploads folder, relative to ABSPATH (for e.g.: /wp-content/uploads)
    <end node> 5P9i0s8y19Z
    dt=
    <node>example
    2
    $PATH1=site_url()."/images/directory/$img"; $PATH0=ABSPATH."/images/directory/$img";
            if(file_exists($PATH0)){
                $dimen=sizepicture($PATH0,75,75);
                $dis.="<td><a href='$PATH1' rel='lightbox'><img src='$PATH1' width=".$dimen[0]." height=".$dimen[1]."></a></td>";
            }else $dis.="<td class=view> </td>";
    <end node> 5P9i0s8y19Z
    dt=
    <node>hooks
    1
    http://adambrown.info/p/wp_hooks/version/3.9
    // Remove old copyright text
    add_action( 'init' , 'mh_remove' , 15 );
    function mh_remove() {
       remove_action('wp_footer','footer-2',30);
    }
    <?php remove_action( $tag, $function_to_remove, $priority ); ?>
    Parameters
    $tag
        (string) (required) The action hook to which the function to be removed is hooked.
            Default: None
    $function_to_remove
        (string) (required) The name of the function which should be removed.
            Default: None
    $priority
        (int) (optional) The priority of the function (as defined when the function was originally hooked).
            Default: 10
    Return
    add_action( 'widgets_init', 'my_widget' );
    All plugin hooks in WordPress 3.9
    Important! Some WordPress hooks get applied in multiple PHP files. If you are trying to figure out what a specific WordPress hook does, sort the table by "hook" and make sure you are looking in all the files where it occurs.
        To sort the table, click on a column title.
        Click a hook name to see details about the hook.
        Click a file name to see only hooks used in that file.
        Hook         Type     New?     Instances
    1     activated_plugin         action     no     1
    2     activate_blog         action     no     1
    3     activate_header         action     no     1
    4     activate_plugin         action     no     1
    5     activate_wp_head         action     no     1
    6     activate_{$plugin}     note     action     no     2
    7     activity_box_end         action     no     1
    8     added_existing_user         action     no     1
    9     added_option         action     no     1
    10     added_term_relationship         action     no     1
    11     added_usermeta         action     no     1
    12     added_{$meta_type}_meta     note     action     no     1
    13     additional_capabilities_display         filter     no     1
    14     add_admin_bar_menus         action     no     1
    15     add_attachment         action     no     1
    16     add_category_form_pre         action     no     1
    17     add_link         action     no     1
    18     add_link_category_form_pre         action     no     1
    19     add_menu_classes         filter     no     1
    20     add_meta_boxes         action     no     3
    21     add_meta_boxes_comment         action     no     1
    22     add_meta_boxes_link         action     no     1
    23     add_meta_boxes_{$post_type}     note     action     no     1
    24     add_option         action     no     1
    25     add_option_{$option}     note     action     no     1
    26     add_ping         filter     no     1
    27     add_signup_meta         filter     no     3
    28     add_site_option         action     no     1
    29     add_site_option_{$option}     note     action     no     1
    30     add_tag_form         action     no     1
    31     add_tag_form_fields         action     no     1
    32     add_tag_form_pre         action     no     1
    33     add_term_relationship         action     no     1
    34     add_user_to_blog         action     no     1
    35     add_{$meta_type}_meta     note     action     no     1
    36     add_{$meta_type}_metadata     note     filter     no     1
    37     adminmenu         action     no     1
    38     admin_action_{$action}     note     action     no     1
    39     admin_bar_init         action     no     1
    40     admin_bar_menu         action     no     1
    41     admin_body_class         filter     no     2
    42     admin_color_scheme_picker         action     no     1
    43     admin_comment_types_dropdown         filter     no     1
    44     admin_enqueue_scripts         action     no     5
    45     admin_footer         action     no     3
    46     admin_footer-widgets-php         action     YES     1
    47     admin_footer-{$hook_suffix}     note     action     no     1
    48     admin_footer_text         filter     no     1
    49     admin_head         action     no     4
    50     admin_head-media-upload-popup         action     no     1
    51     admin_head-press-this-php         action     no     1
    52     admin_head-{$hook_suffix}     note     action     no     2
    53     admin_head_{$content_func}     note     action     no     1
    54     admin_init         action     no     3
    55     admin_memory_limit         filter     no     3
    56     admin_menu         action     no     1
    57     admin_notices         action     no     1
    58     admin_page_access_denied         action     no     1
    59     admin_post_thumbnail_html         filter     no     1
    60     admin_print_footer_scripts         action     no     5
    61     admin_print_scripts         action     no     5
    62     admin_print_scripts-media-upload-popup         action     no     1
    63     admin_print_scripts-press-this-php         action     no     1
    64     admin_print_scripts-widgets-php         action     YES     1
    65     admin_print_scripts-{$hook_suffix}     note     action     no     2
    66     admin_print_styles         action     no     5
    67     admin_print_styles-media-upload-popup         action     no     1
    68     admin_print_styles-press-this-php         action     no     1
    69     admin_print_styles-widgets-php         action     YES     1
    70     admin_print_styles-{$hook_suffix}     note     action     no     2
    71     admin_title         filter     no     1
    72     admin_url         filter     no     1
    73     admin_xml_ns         action     no     2
    74     after-{$taxonomy}-table     note     action     no     1
    75     after_db_upgrade         action     no     1
    76     after_delete_post         action     no     1
    77     after_menu_locations_table         action     no     1
    78     after_mu_upgrade         action     no     2
    79     after_plugin_row         action     no     1
    80     after_plugin_row_{$plugin_file}     note     action     no     1
    81     after_setup_theme         action     no     1
    82     after_signup_form         action     no     1
    83     after_switch_theme         action     no     2
    84     after_theme_row         action     no     1
    85     after_theme_row_{$stylesheet}     note     action     no     1
    86     after_wp_tiny_mce         action     no     1
    87     ajax_query_attachments_args         filter     no     1
    88     akismet_comment_check_response         action     no     1
    89     akismet_comment_nonce         filter     no     2
    90     akismet_delete_commentmeta_interval         filter     no     1
    91     akismet_optimize_table         filter     no     2
    92     akismet_show_user_comments_approved         filter     no     1
    93     akismet_spam_caught         action     no     1
    94     akismet_spam_count_incr         filter     no     2
    95     akismet_submit_nonspam_comment         action     no     1
    96     akismet_submit_spam_comment         action     no     1
    97     akismet_ua         filter     no     1
    98     akismet_view_arguments         filter     YES     1
    99     allowed_http_origin         filter     no     1
    100     allowed_http_origins         filter     no     1
    101     allowed_redirect_hosts         filter     no     1
    102     allowed_themes         filter     no     1
    103     allow_dev_auto_core_updates         filter     no     1
    104     allow_major_auto_core_updates         filter     no     1
    105     allow_minor_auto_core_updates         filter     no     1
    106     allow_password_reset         filter     no     1
    107     allow_subdirectory_install         filter     no     1
    108     all_admin_notices         action     no     1
    109     all_plugins         filter     no     1
    110     all_themes         filter     no     1
    111     archive_blog         action     no     2
    112     async_upload_{$type}     note     filter     no     1
    113     atom_author         action     no     1
    114     atom_comments_ns         action     no     1
    115     atom_enclosure         filter     no     1
    116     atom_entry         action     no     1
    117     atom_head         action     no     1
    118     atom_ns         action     no     2
    119     attachment_fields_to_edit         filter     no     2
    120     attachment_fields_to_save         filter     no     3
    121     attachment_icon         filter     no     1
    122     attachment_innerHTML         filter     no     1
    123     attachment_link         filter     no     1
    124     attachment_max_dims         filter     no     1
    125     attachment_submitbox_misc_actions         action     no     1
    126     attachment_thumbnail_args         filter     YES     1
    127     attribute_escape         filter     no     1
    128     audio_submitbox_misc_sections         filter     no     1
    129     authenticate         filter     no     1
    130     author_email         filter     no     1
    131     author_feed_link         filter     no     1
    132     author_link         filter     no     1
    133     author_rewrite_rules         filter     no     1
    134     auth_cookie         filter     no     1
    135     auth_cookie_bad_hash         action     no     1
    136     auth_cookie_bad_username         action     no     1
    137     auth_cookie_expiration         filter     no     2
    138     auth_cookie_expired         action     no     1
    139     auth_cookie_malformed         action     no     1
    140     auth_cookie_valid         action     no     1
    141     auth_post_meta_{$meta_key}     note     filter     no     1
    142     auth_redirect         action     no     1
    143     auth_redirect_scheme         filter     no     1
    144     autocomplete_users_for_site_admins         filter     no     2
    145     automatic_updater_disabled         filter     no     1
    146     automatic_updates_complete         action     no     1
    147     automatic_updates_debug_email         filter     no     1
    148     automatic_updates_is_vcs_checkout         filter     no     1
    149     automatic_updates_send_debug_email         filter     no     1
    150     auto_core_update_email         filter     no     1
    151     auto_core_update_send_email         filter     no     1
    152     auto_update_{$type}     note     filter     no     1
    153     avatar_defaults         filter     no     1
    154     before_delete_post         action     no     1
    155     before_signup_form         action     no     1
    156     before_wp_tiny_mce         action     no     1
    157     begin_fetch_post_thumbnail_html         action     no     1
    158     block_local_requests         filter     no     1
    159     bloginfo         filter     no     1
    160     bloginfo_rss         filter     no     1
    161     bloginfo_url         filter     no     1
    162     blog_details         filter     no     1
    163     blog_option_{$option}     note     filter     no     1
    164     blog_privacy_selector         action     no     1
    165     blog_redirect_404         filter     no     1
    166     body_class         filter     no     1
    167     browse-happy-notice         filter     no     1
    168     bulk_actions-{$this->screen->id}     note     filter     no     1
    169     bulk_edit_custom_box         action     no     1
    170     bulk_post_updated_messages         filter     no     1
    171     cancel_comment_reply_link         filter     no     1
    172     can_edit_network         filter     no     1
    173     category_description         filter     no     1
    174     category_feed_link         filter     no     1
    175     category_link         filter     no     1
    176     check_admin_referer         action     no     1
    177     check_ajax_referer         action     no     1
    178     check_comment_flood         action     no     1
    179     check_is_user_spammed         filter     no     1
    180     check_password         filter     no     2
    181     check_passwords         action     no     1
    182     clean_attachment_cache         action     no     1
    183     clean_object_term_cache         action     no     1
    184     clean_page_cache         action     no     1
    185     clean_post_cache         action     no     1
    186     clean_term_cache         action     no     1
    187     clean_url         filter     no     1
    188     clear_auth_cookie         action     no     1
    189     close_comments_for_post_types         filter     no     2
    190     commentrss2_item         action     no     1
    191     commentsrss2_head         action     no     1
    192     comments_array         filter     no     1
    193     comments_atom_head         action     no     1
    194     comments_clauses         filter     no     1
    195     comments_link_feed         filter     no     1
    196     comments_number         filter     no     1
    197     comments_open         filter     no     1
    198     comments_per_page         filter     no     2
    199     comments_popup_link_attributes         filter     no     1
    200     comments_rewrite_rules         filter     no     1
    201     comments_template         filter     no     1
    202     comment_add_author_url         action     no     1
    203     comment_atom_entry         action     no     1
    204     comment_author         filter     no     1
    205     comment_author_rss         filter     no     1
    206     comment_class         filter     no     1
    207     comment_closed         action     no     1
    208     comment_cookie_lifetime         filter     no     1
    209     comment_duplicate_trigger         action     no     1
    210     comment_edit_pre         filter     no     2
    211     comment_edit_redirect         filter     no     1
    212     comment_email         filter     no     1
    213     comment_excerpt         filter     no     1
    214     comment_feed_groupby         filter     no     2
    215     comment_feed_join         filter     no     2
    216     comment_feed_limits         filter     no     2
    217     comment_feed_orderby         filter     no     2
    218     comment_feed_where         filter     no     2
    219     comment_flood_filter         filter     no     1
    220     comment_flood_trigger         action     no     1
    221     comment_form         action     no     3
    222     comment_form_after         action     no     1
    223     comment_form_after_fields         action     no     1
    224     comment_form_before         action     no     1
    225     comment_form_before_fields         action     no     1
    226     comment_form_comments_closed         action     no     1
    227     comment_form_defaults         filter     no     1
    228     comment_form_default_fields         filter     no     1
    229     comment_form_field_comment         filter     no     1
    230     comment_form_field_{$name}     note     filter     no     1
    231     comment_form_logged_in         filter     no     1
    232     comment_form_logged_in_after         action     no     1
    233     comment_form_must_log_in_after         action     no     1
    234     comment_form_top         action     no     1
    235     comment_id_fields         filter     no     1
    236     comment_id_not_found         action     no     1
    237     comment_link         filter     no     1
    238     comment_loop_start         action     no     1
    239     comment_max_links_url         filter     no     1
    240     comment_moderation_headers         filter     no     1
    241     comment_moderation_recipients         filter     no     1
    242     comment_moderation_subject         filter     no     1
    243     comment_moderation_text         filter     no     1
    244     comment_notification_headers         filter     no     1
    245     comment_notification_notify_author         filter     no     1
    246     comment_notification_recipients         filter     no     1
    247     comment_notification_subject         filter     no     1
    248     comment_notification_text         filter     no     1
    249     comment_on_draft         action     no     1
    250     comment_on_password_protected         action     no     1
    251     comment_on_trash         action     no     1
    252     comment_post         action     no     1
    253     comment_post_redirect         filter     no     1
    254     comment_remove_author_url         action     no     1
    255     comment_reply_link         filter     no     1
    256     comment_row_actions         filter     no     2
    257     comment_save_pre         filter     no     1
    258     comment_status_links         filter     no     1
    259     comment_text         filter     no     2
    260     comment_text_rss         filter     no     1
    261     comment_url         filter     no     1
    262     comment_{$new_status}_{$comment->comment_type}     note     action     no     1
    263     comment_{$old_status}_to_{$new_status}     note     action     no     1
    264     content_url         filter     no     1
    265     contextual_help         filter     no     1
    266     contextual_help_list         filter     no     1
    267     core_upgrade_preamble         action     no     1
    268     core_version_check_locale         filter     no     1
    269     created_term         action     no     1
    270     created_{$taxonomy}     note     action     no     1
    271     create_term         action     no     1
    272     create_{$taxonomy}     note     action     no     1
    273     cron_request         filter     no     1
    274     cron_schedules         filter     no     1
    275     current_screen         action     no     1
    276     current_theme_supports-{$feature}     note     filter     no     1
    277     customizer_widgets_section_args         filter     YES     1
    278     customize_allowed_urls         filter     no     1
    279     customize_controls_enqueue_scripts         action     no     1
    280     customize_controls_init         action     no     1
    281     customize_controls_print_footer_scripts         action     no     1
    282     customize_controls_print_scripts         action     no     1
    283     customize_controls_print_styles         action     no     1
    284     customize_preview_init         action     no     1
    285     customize_preview_{$this->id}     note     action     no     1
    286     customize_register         action     no     1
    287     customize_render_control         action     no     1
    288     customize_render_control_{$this->id}     note     action     no     1
    289     customize_render_section         action     no     1
    290     customize_render_section_{$this->id}     note     action     no     1
    291     customize_sanitize_js_{$this->id}     note     filter     no     1
    292     customize_sanitize_{$this->id}     note     filter     no     1
    293     customize_save         action     no     1
    294     customize_save_after         action     no     1
    295     customize_save_{$this->id_data[base]}     note     action     no     1
    296     customize_update_{$this->type}     note     action     no     1
    297     customize_value_{$this->id_data[base]}     note     filter     no     1
    298     custom_header_options         action     no     1
    299     custom_menu_order         filter     no     1
    300     dashboard_glance_items         filter     no     1
    301     dashboard_primary_feed         filter     no     1
    302     dashboard_primary_link         filter     no     1
    303     dashboard_primary_title         filter     no     1
    304     dashboard_secondary_feed         filter     no     1
    305     dashboard_secondary_link         filter     no     1
    306     dashboard_secondary_title         filter     no     1
    307     date_formats         filter     no     1
    308     date_i18n         filter     no     1
    309     date_query_valid_columns         filter     no     1
    310     date_rewrite_rules         filter     no     1
    311     day_link         filter     no     1
    312     dbdelta_create_queries         filter     no     1
    313     dbdelta_insert_queries         filter     no     1
    314     dbdelta_queries         filter     no     1
    315     dbx_post_advanced         action     no     1
    316     dbx_post_sidebar         action     no     1
    317     deactivated_plugin         action     no     1
    318     deactivate_blog         action     no     1
    319     deactivate_plugin         action     no     1
    320     deactivate_{$plugin}     note     action     no     1
    321     default_avatar_select         filter     no     1
    322     default_content         filter     no     1
    323     default_contextual_help         filter     no     1
    324     default_excerpt         filter     no     1
    325     default_feed         filter     no     1
    326     default_hidden_meta_boxes         filter     no     1
    327     default_option_{$option}     note     filter     no     3
    328     default_site_option_{$option}     note     filter     no     3
    329     default_title         filter     no     1
    330     deleted_comment         action     no     1
    331     deleted_link         action     no     1
    332     deleted_option         action     no     1
    333     deleted_post         action     no     2
    334     deleted_postmeta         action     no     1
    335     deleted_site_transient         action     no     1
    336     deleted_term_relationships         action     no     1
    337     deleted_term_taxonomy         action     no     1
    338     deleted_transient         action     no     1
    339     deleted_user         action     no     2
    340     deleted_usermeta         action     no     1
    341     deleted_{$meta_type}meta     note     action     no     1
    342     deleted_{$meta_type}_meta     note     action     no     2
    343     delete_attachment         action     no     1
    344     delete_blog         action     no     1
    345     delete_comment         action     no     2
    346     delete_link         action     no     1
    347     delete_option         action     no     1
    348     delete_option_{$option}     note     action     no     1
    349     delete_post         action     no     2
    350     delete_postmeta         action     no     1
    351     delete_site_email_content         filter     no     1
    352     delete_site_option         action     no     1
    353     delete_site_option_{$option}     note     action     no     1
    354     delete_site_transient_{$transient}     note     action     no     1
    355     delete_term         action     no     1
    356     delete_term_relationships         action     no     1
    357     delete_term_taxonomy         action     no     1
    358     delete_transient_{$transient}     note     action     no     1
    359     delete_user         action     no     1
    360     delete_usermeta         action     no     1
    361     delete_{$meta_type}meta     note     action     no     1
    362     delete_{$meta_type}_meta     note     action     no     2
    363     delete_{$meta_type}_metadata     note     filter     no     1
    364     delete_{$taxonomy}     note     action     no     1
    365     deprecated_argument_run         action     no     1
    366     deprecated_argument_trigger_error         filter     no     1
    367     deprecated_file_included         action     no     1
    368     deprecated_file_trigger_error         filter     no     1
    369     deprecated_function_run         action     no     1
    370     deprecated_function_trigger_error         filter     no     1
    371     determine_current_user         filter     YES     1
    372     disable_captions         filter     no     7
    373     display_media_states         filter     no     1
    374     display_post_states         filter     no     1
    375     documentation_ignore_functions         filter     no     1
    376     doing_it_wrong_run         action     no     1
    377     doing_it_wrong_trigger_error         filter     no     1
    378     domain_exists         filter     no     1
    379     do_meta_boxes         action     no     8
    380     do_mu_upgrade         filter     no     1
    381     do_parse_request         filter     no     1
    382     do_robots         action     no     1
    383     do_robotstxt         action     no     1
    384     dynamic_sidebar         action     no     1
    385     dynamic_sidebar_after         action     YES     2
    386     dynamic_sidebar_before         action     YES     2
    387     dynamic_sidebar_has_widgets         filter     YES     2
    388     dynamic_sidebar_params         filter     no     1
    389     editable_extensions         filter     no     1
    390     editable_roles         filter     no     1
    391     editable_slug         filter     no     7
    392     edited_term         action     no     1
    393     edited_terms         action     no     4
    394     edited_term_taxonomies         action     no     1
    395     edited_term_taxonomy         action     no     3
    396     edited_{$taxonomy}     note     action     no     1
    397     editor_max_image_size         filter     no     1
    398     edit_attachment         action     no     1
    399     edit_bookmark_link         filter     no     1
    400     edit_categories_per_page         filter     no     2
    401     edit_category_form         action     no     2
    402     edit_category_form_fields         action     no     1
    403     edit_category_form_pre         action     no     1
    404     edit_comment         action     no     1
    405     edit_comment_link         filter     no     1
    406     edit_form_advanced         action     no     1
    407     edit_form_after_editor         action     no     1
    408     edit_form_after_title         action     no     1
    409     edit_form_top         action     no     1
    410     edit_link         action     no     1
    411     edit_link_category_form         action     no     2
    412     edit_link_category_form_fields         action     no     1
    413     edit_link_category_form_pre         action     no     1
    414     edit_page_form         action     no     1
    415     edit_post         action     no     3
    416     edit_posts_per_page         filter     no     3
    417     edit_post_link         filter     no     1
    418     edit_post_{$field}     note     filter     no     1
    419     edit_profile_url         filter     no     1
    420     edit_tags_per_page         filter     no     1
    421     edit_tag_form         action     no     1
    422     edit_tag_form_fields         action     no     1
    423     edit_tag_form_pre         action     no     1
    424     edit_tag_link         filter     no     1
    425     edit_term         action     no     1
    426     edit_terms         action     no     4
    427     edit_term_link         filter     no     1
    428     edit_term_taxonomies         action     no     1
    429     edit_term_taxonomy         action     no     3
    430     edit_term_{$field}     note     filter     no     1
    431     edit_user_profile         action     no     1
    432     edit_user_profile_update         action     no     1
    433     edit_user_{$field}     note     filter     no     1
    434     edit_{$field}     note     filter     no     3
    435     edit_{$taxonomy}     note     action     no     1
    436     edit_{$taxonomy}_{$field}     note     filter     no     1
    437     embed_cache_oembed_types         filter     no     1
    438     embed_defaults         filter     no     1
    439     embed_googlevideo         filter     no     1
    440     embed_handler_html         filter     no     1
    441     embed_maybe_make_link         filter     no     1
    442     embed_oembed_discover         filter     no     1
    443     embed_oembed_html         filter     no     2
    444     enable_edit_any_user_configuration         filter     no     1
    445     enable_live_network_counts         filter     no     2
    446     enable_post_by_email_configuration         filter     no     4
    447     enable_update_services_configuration         filter     no     2
    448     end_fetch_post_thumbnail_html         action     no     1
    449     enter_title_here         filter     no     2
    450     esc_html         filter     no     1
    451     esc_textarea         filter     no     1
    452     excerpt_length         filter     no     1
    453     excerpt_more         filter     no     1
    454     exit_on_http_head         filter     no     1
    455     export_args         filter     no     1
    456     export_filters         action     no     1
    457     export_wp         action     no     1
    458     ext2type         filter     no     1
    459     extra_theme_headers         filter     no     1
    460     extra_{$context}_headers     note     filter     no     1
    461     feed_content_type         filter     no     1
    462     feed_link         filter     no     1
    463     filesystem_method         filter     no     1
    464     filesystem_method_file         filter     no     1
    465     file_is_displayable_image         filter     no     1
    466     flush_rewrite_rules_hard         filter     no     1
    467     force_filtered_html_on_import         filter     no     1
    468     format_to_edit         filter     no     1
    469     found_posts         filter     no     1
    470     found_posts_query         filter     no     1
    471     found_users_query         filter     no     1
    472     fs_ftp_connection_types         filter     no     1
    473     gallery_style         filter     no     1
    474     generate_rewrite_rules         action     no     1
    475     getarchives_join         filter     no     1
    476     getarchives_where         filter     no     1
    477     getimagesize_mimes_to_exts         filter     no     1
    478     gettext         filter     no     1
    479     gettext_with_context         filter     no     1
    480     get_ancestors         filter     no     2
    481     get_archives_link         filter     no     1
    482     get_attached_file         filter     no     1
    483     get_attached_media         filter     no     1
    484     get_attached_media_args         filter     no     1
    485     get_avatar         filter     no     1
    486     get_avatar_comment_types         filter     no     1
    487     get_bloginfo_rss         filter     no     2
    488     get_blogs_of_user         filter     no     1
    489     get_bookmarks         filter     no     3
    490     get_calendar         filter     no     4
    491     get_categories_taxonomy         filter     no     1
    492     get_comment         filter     no     1
    493     get_comments_link         filter     no     1
    494     get_comments_number         filter     no     1
    495     get_comments_pagenum_link         filter     no     1
    496     get_comment_author         filter     no     1
    497     get_comment_author_email         filter     no     1
    498     get_comment_author_IP         filter     no     1
    499     get_comment_author_link         filter     no     2
    500     get_comment_author_url         filter     no     1
    501     get_comment_author_url_link         filter     no     1
    502     get_comment_date         filter     no     1
    503     get_comment_excerpt         filter     no     1
    504     get_comment_ID         filter     no     1
    505     get_comment_link         filter     no     1
    506     get_comment_text         filter     no     1
    507     get_comment_time         filter     no     1
    508     get_comment_type         filter     no     1
    509     get_date_sql         filter     no     1
    510     get_delete_post_link         filter     no     1
    511     get_editable_authors         filter     no     1
    512     get_edit_bookmark_link         filter     no     1
    513     get_edit_comment_link         filter     no     1
    514     get_edit_post_link         filter     no     1
    515     get_edit_tag_link         filter     no     1
    516     get_edit_term_link         filter     no     1
    517     get_edit_user_link         filter     no     1
    518     get_enclosed         filter     no     1
    519     get_footer         action     no     1
    520     get_header         action     no     1
    521     get_image_tag         filter     no     1
    522     get_image_tag_class         filter     no     1
    523     get_lastpostdate         filter     no     1
    524     get_lastpostmodified         filter     no     1
    525     get_media_item_args         filter     no     2
    526     get_meta_sql         filter     no     1
    527     get_others_drafts         filter     no     1
    528     get_pagenum_link         filter     no     1
    529     get_pages         filter     no     3
    530     get_post_galleries         filter     no     1
    531     get_post_gallery         filter     no     1
    532     get_post_modified_time         filter     no     1
    533     get_post_time         filter     no     1
    534     get_pung         filter     no     1
    535     get_sample_permalink_html         filter     no     2
    536     get_search_form         filter     no     1
    537     get_search_query         filter     no     1
    538     get_shortlink         filter     no     1
    539     get_sidebar         action     no     1
    540     get_space_allowed         filter     no     1
    541     get_tags         filter     no     1
    542     get_template_part_{$slug}     note     action     no     1
    543     get_term         filter     no     2
    544     get_terms         filter     no     3
    545     get_terms_args         filter     no     1
    546     get_terms_fields         filter     no     1
    547     get_terms_orderby         filter     no     1
    548     get_the_author_{$field}     note     filter     no     1
    549     get_the_categories         filter     no     1
    550     get_the_date         filter     no     1
    551     get_the_excerpt         filter     no     1
    552     get_the_generator_{$type}     note     filter     no     1
    553     get_the_guid         filter     no     1
    554     get_the_modified_date         filter     no     1
    555     get_the_modified_time         filter     no     1
    556     get_the_tags         filter     no     1
    557     get_the_terms         filter     no     1
    558     get_the_time         filter     no     1
    559     get_to_ping         filter     no     1
    560     get_usernumposts         filter     no     1
    561     get_users_drafts         filter     no     1
    562     get_user_option_{$option}     note     filter     no     1
    563     get_wp_title_rss         filter     no     1
    564     get_{$adjacent}_post_join     note     filter     no     1
    565     get_{$adjacent}_post_sort     note     filter     no     1
    566     get_{$adjacent}_post_where     note     filter     no     1
    567     get_{$meta_type}_metadata     note     filter     no     2
    568     get_{$taxonomy}     note     filter     no     2
    569     global_terms_enabled         filter     no     1
    570     got_rewrite         filter     no     1
    571     got_url_rewrite         filter     no     1
    572     graceful_fail         filter     no     1
    573     graceful_fail_template         filter     no     1
    574     granted_super_admin         action     no     1
    575     grant_super_admin         action     no     1
    576     heartbeat_nopriv_received         filter     no     1
    577     heartbeat_nopriv_send         filter     no     1
    578     heartbeat_nopriv_tick         action     no     1
    579     heartbeat_received         filter     no     1
    580     heartbeat_send         filter     no     1
    581     heartbeat_settings         filter     no     1
    582     heartbeat_tick         action     no     1
    583     hidden_meta_boxes         filter     no     1
    584     home_url         filter     no     1
    585     htmledit_pre         filter     no     1
    586     https_local_ssl_verify         filter     no     3
    587     https_ssl_verify         filter     no     2
    588     http_api_curl         action     no     1
    589     http_api_debug         action     no     1
    590     http_api_transports         filter     no     1
    591     http_headers_useragent         filter     no     2
    592     http_origin         filter     no     1
    593     http_request_args         filter     no     1
    594     http_request_host_is_external         filter     no     1
    595     http_request_redirection_count         filter     no     1
    596     http_request_reject_unsafe_urls         filter     no     1
    597     http_request_timeout         filter     no     1
    598     http_request_version         filter     no     1
    599     http_response         filter     no     1
    600     icon_dir         filter     no     3
    601     icon_dirs         filter     no     1
    602     icon_dir_uri         filter     no     1
    603     iis7_supports_permalinks         filter     no     1
    604     iis7_url_rewrite_rules         filter     no     1
    605     image_add_caption_shortcode         filter     no     1
    606     image_downsize         filter     no     2
    607     image_editor_default_mime_type         filter     no     1
    608     image_editor_save_pre         filter     no     2
    609     image_edit_before_change         filter     no     1
    610     image_make_intermediate_size         filter     no     2
    611     image_memory_limit         filter     no     3
    612     image_resize_dimensions         filter     no     1
    613     image_save_pre         filter     no     2
    614     image_send_to_editor         filter     no     1
    615     image_send_to_editor_url         filter     no     1
    616     image_size_names_choose         filter     no     5
    617     img_caption_shortcode         filter     no     1
    618     img_caption_shortcode_width         filter     no     1
    619     import_upload_size_limit         filter     no     1
    620     includes_url         filter     no     1
    621     incompatible_sql_modes         filter     YES     1
    622     index_rel_link         filter     no     1
    623     init         action     no     1
    624     install_plugins_nonmenu_tabs         filter     no     1
    625     install_plugins_pre_{$tab}     note     action     no     1
    626     install_plugins_table_api_args_{$tab}     note     filter     no     1
    627     install_plugins_table_header         action     no     1
    628     install_plugins_tabs         filter     no     1
    629     install_plugins_{$tab}     note     action     no     1
    630     install_plugin_complete_actions         filter     no     1
    631     install_themes_nonmenu_tabs         filter     no     1
    632     install_themes_pre_{$tab}     note     action     no     1
    633     install_themes_table_api_args_{$old_filter}     note     filter     YES     1
    634     install_themes_table_api_args_{$tab}     note     filter     no     1
    635     install_themes_table_header         action     no     1
    636     install_themes_tabs         filter     no     1
    637     install_themes_{$tab}     note     action     no     1
    638     install_theme_complete_actions         filter     no     1
    639     intermediate_image_sizes         filter     no     1
    640     intermediate_image_sizes_advanced         filter     no     1
    641     in_admin_footer         action     no     1
    642     in_admin_header         action     no     1
    643     in_plugin_update_message-{$file}     note     action     no     1
    644     in_theme_update_message-{$theme_key}     note     action     no     1
    645     in_widget_form         action     no     1
    646     is_active_sidebar         filter     YES     1
    647     is_email         filter     no     9
    648     is_email_address_unsafe         filter     no     1
    649     is_multi_author         filter     no     1
    650     is_protected_meta         filter     no     1
    651     is_wide_widget_in_customizer         filter     YES     1
    652     jpeg_quality         filter     no     2
    653     js_escape         filter     no     1
    654     kses_allowed_protocols         filter     no     1
    655     language_attributes         filter     no     1
    656     lang_codes         filter     no     1
    657     link_category         filter     no     3
    658     link_title         filter     no     1
    659     list_cats         filter     no     5
    660     list_pages         filter     no     1
    661     list_terms_exclusions         filter     no     1
    662     load-categories-php         action     no     1
    663     load-edit-link-categories-php         action     no     1
    664     load-importer-{$importer}     note     action     no     1
    665     load-page-new-php         action     no     1
    666     load-page-php         action     no     1
    667     load-widgets-php         action     no     3
    668     load-{$pagenow}     note     action     no     1
    669     load-{$page_hook}     note     action     no     1
    670     load-{$plugin_page}     note     action     no     1
    671     load_default_embeds         filter     no     1
    672     load_default_widgets         filter     no     1
    673     load_feed_engine         action     no     1
    674     load_image_to_edit         filter     no     1
    675     load_image_to_edit_attachmenturl         filter     no     1
    676     load_image_to_edit_filesystempath         filter     no     1
    677     load_image_to_edit_path         filter     no     1
    678     load_textdomain         action     no     1
    679     load_textdomain_mofile         filter     no     1
    680     locale         filter     no     2
    681     locale_stylesheet_uri         filter     no     1
    682     loginout         filter     no     2
    683     login_body_class         filter     no     1
    684     login_enqueue_scripts         action     no     1
    685     login_errors         filter     no     1
    686     login_footer         action     no     2
    687     login_form         action     no     1
    688     login_form_bottom         filter     no     1
    689     login_form_defaults         filter     no     1
    690     login_form_middle         filter     no     1
    691     login_form_top         filter     no     1
    692     login_form_{$action}     note     action     no     1
    693     login_head         action     no     1
    694     login_headertitle         filter     no     1
    695     login_headerurl         filter     no     1
    696     login_init         action     no     1
    697     login_message         filter     no     1
    698     login_messages         filter     no     1
    699     login_redirect         filter     no     1
    700     login_url         filter     no     1
    701     logout_url         filter     no     1
    702     loop_end         action     no     1
    703     loop_start         action     no     1
    704     lostpassword_form         action     no     1
    705     lostpassword_post         action     no     1
    706     lostpassword_redirect         filter     no     1
    707     lostpassword_url         filter     no     1
    708     lost_password         action     no     1
    709     make_delete_blog         action     no     2
    710     make_ham_blog         action     no     2
    711     make_ham_user         action     no     1
    712     make_spam_blog         action     no     2
    713     make_spam_user         action     no     1
    714     make_undelete_blog         action     no     2
    715     manage_comments_custom_column         action     no     1
    716     manage_comments_nav         action     no     1
    717     manage_link_custom_column         action     no     1
    718     manage_media_columns         filter     no     1
    719     manage_media_custom_column         action     no     1
    720     manage_pages_columns         filter     no     1
    721     manage_pages_custom_column         action     no     1
    722     manage_plugins_custom_column         action     no     1
    723     manage_posts_columns         filter     no     1
    724     manage_posts_custom_column         action     no     1
    725     manage_sites_action_links         filter     no     1
    726     manage_sites_custom_column         action     no     1
    727     manage_taxonomies_for_attachment_columns         filter     no     1
    728     manage_taxonomies_for_{$post_type}_columns     note     filter     no     1
    729     manage_themes_custom_column         action     no     1
    730     manage_users_custom_column         filter     no     2
    731     manage_{$post->post_type}_posts_custom_column     note     action     no     1
    732     manage_{$post_type}_posts_columns     note     filter     no     1
    733     manage_{$screen->id}_columns     note     filter     no     1
    734     manage_{$this->screen->id}_sortable_columns     note     filter     no     1
    735     manage_{$this->screen->taxonomy}_custom_column     note     filter     no     1
    736     map_meta_cap         filter     no     1
    737     mature_blog         action     no     2
    738     mce_buttons         filter     no     1
    739     mce_buttons_2         filter     no     1
    740     mce_buttons_3         filter     no     1
    741     mce_buttons_4         filter     no     1
    742     mce_css         filter     no     1
    743     mce_external_languages         filter     no     1
    744     mce_external_plugins         filter     no     1
    745     media_buttons         action     no     1
    746     media_buttons_context         filter     no     1
    747     media_meta         filter     no     3
    748     media_row_actions         filter     no     1
    749     media_send_to_editor         filter     no     2
    750     media_submitbox_misc_sections         filter     no     1
    751     media_upload_default_tab         filter     no     2
    752     media_upload_default_type         filter     no     1
    753     media_upload_form_url         filter     no     4
    754     media_upload_mime_type_links         filter     no     1
    755     media_upload_tabs         filter     no     2
    756     media_upload_{$tab}     note     action     no     1
    757     media_upload_{$type}     note     action     no     1
    758     media_view_settings         filter     no     1
    759     media_view_strings         filter     no     1
    760     menu_order         filter     no     1
    761     mime_types         filter     no     1
    762     mod_rewrite_rules         filter     no     1
    763     months_dropdown_results         filter     no     1
    764     month_link         filter     no     1
    765     ms_site_check         filter     no     1
    766     ms_site_not_found         action     YES     1
    767     ms_user_list_site_actions         filter     no     1
    768     ms_user_row_actions         filter     no     1
    769     muplugins_loaded         action     no     1
    770     mu_activity_box_end         action     no     1
    771     mu_dropdown_languages         filter     no     1
    772     mu_menu_items         filter     no     1
    773     mu_rightnow_end         action     no     1
    774     myblogs_allblogs_options         action     no     1
    775     myblogs_blog_actions         filter     no     1
    776     myblogs_options         filter     no     2
    777     nav_menu_attr_title         filter     no     2
    778     nav_menu_css_class         filter     no     1
    779     nav_menu_description         filter     no     2
    780     nav_menu_items_{$post_type_name}     note     filter     no     1
    781     nav_menu_item_id         filter     no     1
    782     nav_menu_link_attributes         filter     no     1
    783     nav_menu_meta_box_object         filter     no     3
    784     network_admin_edit_{$action}     note     action     no     1
    785     network_admin_menu         action     no     1
    786     network_admin_notices         action     no     1
    787     network_admin_url         filter     no     1
    788     network_by_path_segments_count         filter     YES     1
    789     network_home_url         filter     no     1
    790     network_sites_updated_message_{$updated}     note     filter     no     1
    791     network_site_url         filter     no     1
    792     network_site_users_after_list_table         action     no     1
    793     newblogname         filter     no     1
    794     newblog_notify_siteadmin         filter     no     1
    795     newuser_notify_siteadmin         filter     no     1
    796     new_admin_email_content         filter     no     1
    797     new_user_email_content         filter     no     1
    798     next_comments_link_attributes         filter     no     1
    799     next_posts_link_attributes         filter     no     1
    800     ngettext         filter     no     1
    801     ngettext_with_context         filter     no     1
    802     nocache_headers         filter     no     1
    803     nonce_life         filter     no     1
    804     nonce_user_logged_out         filter     no     2
    805     no_texturize_shortcodes         filter     no     1
    806     no_texturize_tags         filter     no     1
    807     number_format_i18n         filter     no     1
    808     oembed_dataparse         filter     no     1
    809     oembed_fetch_url         filter     no     1
    810     oembed_linktypes         filter     no     1
    811     oembed_providers         filter     no     1
    812     oembed_result         filter     no     1
    813     opml_head         action     no     1
    814     option_enable_xmlrpc         filter     no     1
    815     option_page_capability_{$option_page}     note     filter     no     1
    816     option_{$option_name}     note     filter     YES     1
    817     option_{$option}     note     filter     no     1
    818     override_load_textdomain         filter     no     1
    819     override_post_lock         filter     no     1
    820     override_unload_textdomain         filter     no     1
    821     page_attributes_dropdown_pages_args         filter     no     1
    822     page_css_class         filter     no     1
    823     page_link         filter     no     1
    824     page_rewrite_rules         filter     no     1
    825     page_row_actions         filter     no     1
    826     paginate_links         filter     no     3
    827     parent_file         filter     no     1
    828     parent_post_rel_link         filter     no     1
    829     parse_query         action     no     1
    830     parse_request         action     no     1
    831     parse_tax_query         action     no     1
    832     password_reset         action     no     1
    833     password_reset_key_expired         filter     no     1
    834     permalink_structure_changed         action     no     1
    835     personal_options         action     no     1
    836     personal_options_update         action     no     1
    837     phone_content         filter     no     1
    838     phpmailer_init         action     no     1
    839     pingback_ping_source_uri         filter     no     1
    840     pingback_post         action     no     1
    841     pingback_useragent         filter     no     1
    842     pings_open         filter     no     1
    843     plugins_api         filter     no     1
    844     plugins_api_args         filter     no     1
    845     plugins_api_result         filter     no     1
    846     plugins_loaded         action     no     1
    847     plugins_update_check_locales         filter     no     1
    848     plugins_url         filter     no     1
    849     plugin_install_action_links         filter     no     1
    850     plugin_locale         filter     no     2
    851     plugin_row_meta         filter     no     1
    852     plupload_default_params         filter     no     1
    853     plupload_default_settings         filter     no     1
    854     plupload_init         filter     no     1
    855     populate_network_meta         filter     no     1
    856     populate_options         action     no     1
    857     post-html-upload-ui         action     no     1
    858     post-plupload-upload-ui         action     no     3
    859     post-upload-ui         action     no     2
    860     postbox_classes_{$page}_{$id}     note     filter     no     1
    861     postmeta_form_limit         filter     no     1
    862     posts_clauses         filter     no     1
    863     posts_clauses_request         filter     no     1
    864     posts_distinct         filter     no     1
    865     posts_distinct_request         filter     no     1
    866     posts_fields         filter     no     1
    867     posts_fields_request         filter     no     1
    868     posts_groupby         filter     no     1
    869     posts_groupby_request         filter     no     1
    870     posts_join         filter     no     1
    871     posts_join_paged         filter     no     1
    872     posts_join_request         filter     no     1
    873     posts_orderby         filter     no     1
    874     posts_orderby_request         filter     no     1
    875     posts_request         filter     no     1
    876     posts_request_ids         filter     no     1
    877     posts_results         filter     no     1
    878     posts_search         filter     no     1
    879     posts_search_orderby         filter     no     1
    880     posts_selection         action     no     1
    881     posts_where         filter     no     1
    882     posts_where_paged         filter     no     1
    883     posts_where_request         filter     no     1
    884     post_class         filter     no     1
    885     post_comments_feed_link         filter     no     1
    886     post_comments_feed_link_html         filter     no     1
    887     post_comments_link         filter     no     1
    888     post_comment_status_meta_box-options         action     no     1
    889     post_date_column_time         filter     no     2
    890     post_edit_form_tag         action     no     1
    891     post_format_rewrite_base         filter     no     1
    892     post_gallery         filter     no     1
    893     post_limits         filter     no     1
    894     post_limits_request         filter     no     1
    895     post_link         filter     no     1
    896     post_link_category         filter     no     1
    897     post_locked_dialog         action     no     1
    898     post_lock_lost_dialog         action     no     1
    899     post_mime_types         filter     no     1
    900     post_password_expires         filter     no     1
    901     post_playlist         filter     YES     1
    902     post_rewrite_rules         filter     no     1
    903     post_row_actions         filter     no     1
    904     post_submitbox_misc_actions         action     no     1
    905     post_submitbox_start         action     no     2
    906     post_thumbnail_html         filter     no     1
    907     post_thumbnail_size         filter     no     1
    908     post_types_to_delete_with_user         filter     no     1
    909     post_type_archive_feed_link         filter     no     1
    910     post_type_archive_link         filter     no     1
    911     post_type_archive_title         filter     no     1
    912     post_type_labels_{$post_type}     note     filter     no     1
    913     post_type_link         filter     no     1
    914     post_updated         action     no     1
    915     post_updated_messages         filter     no     1
    916     post_{$field}     note     filter     no     1
    917     pre-html-upload-ui         action     no     1
    918     pre-plupload-upload-ui         action     no     2
    919     pre-upload-ui         action     no     2
    920     prepend_attachment         filter     no     1
    921     preprocess_comment         filter     no     1
    922     preprocess_signup_form         action     no     1
    923     preview_post_link         filter     no     4
    924     previous_comments_link_attributes         filter     no     1
    925     previous_posts_link_attributes         filter     no     1
    926     pre_add_site_option_{$option}     note     filter     no     1
    927     pre_category_nicename         filter     no     1
    928     pre_comment_approved         filter     no     1
    929     pre_comment_author_email         filter     no     2
    930     pre_comment_author_name         filter     no     2
    931     pre_comment_author_url         filter     no     2
    932     pre_comment_content         filter     no     1
    933     pre_comment_on_post         action     no     1
    934     pre_comment_user_agent         filter     no     1
    935     pre_comment_user_ip         filter     no     1
    936     pre_current_active_plugins         action     no     1
    937     pre_delete_site_option_{$option}     note     action     no     1
    938     pre_ent2ncr         filter     no     1
    939     pre_get_comments         action     no     1
    940     pre_get_network_by_path         filter     YES     1
    941     pre_get_posts         action     no     1
    942     pre_get_search_form         action     no     1
    943     pre_get_shortlink         filter     no     1
    944     pre_get_site_by_path         filter     YES     1
    945     pre_get_space_used         filter     no     1
    946     pre_http_request         filter     no     1
    947     pre_http_send_through_proxy         filter     no     1
    948     pre_insert_term         filter     no     1
    949     pre_kses         filter     no     1
    950     pre_option_enable_xmlrpc         filter     no     1
    951     pre_option_{$option}     note     filter     no     1
    952     pre_ping         action     no     1
    953     pre_post_link         filter     no     1
    954     pre_post_update         action     no     1
    955     pre_post_{$field}     note     filter     no     1
    956     pre_remote_source         filter     no     1
    957     pre_set_site_transient_{$transient}     note     filter     no     1
    958     pre_set_theme_mod_{$name}     note     filter     YES     1
    959     pre_set_transient_{$transient}     note     filter     no     1
    960     pre_site_option_{$option}     note     filter     no     1
    961     pre_site_transient_{$transient}     note     filter     no     1
    962     pre_term_{$field}     note     filter     no     1
    963     pre_transient_{$transient}     note     filter     no     1
    964     pre_update_option         filter     YES     1
    965     pre_update_option_{$option}     note     filter     no     1
    966     pre_update_site_option_{$option}     note     filter     no     1
    967     pre_upload_error         filter     no     1
    968     pre_user_description         filter     no     1
    969     pre_user_display_name         filter     no     1
    970     pre_user_email         filter     no     1
    971     pre_user_first_name         filter     no     1
    972     pre_user_id         filter     no     2
    973     pre_user_last_name         filter     no     1
    974     pre_user_login         filter     no     2
    975     pre_user_nicename         filter     no     1
    976     pre_user_nickname         filter     no     1
    977     pre_user_query         action     no     1
    978     pre_user_search         action     no     1
    979     pre_user_url         filter     no     1
    980     pre_user_{$field}     note     filter     no     1
    981     pre_wp_nav_menu         filter     YES     1
    982     pre_{$field}     note     filter     no     3
    983     pre_{$taxonomy}_{$field}     note     filter     no     1
    984     print_admin_styles         filter     no     1
    985     print_footer_scripts         filter     no     1
    986     print_head_scripts         filter     no     1
    987     print_late_styles         filter     no     1
    988     print_media_templates         action     no     1
    989     print_scripts_array         filter     no     1
    990     print_styles_array         filter     no     1
    991     privacy_on_link_text         filter     no     1
    992     privacy_on_link_title         filter     no     1
    993     private_title_format         filter     no     1
    994     private_to_published         action     no     1
    995     profile_personal_options         action     no     1
    996     profile_update         action     no     1
    997     protected_title_format         filter     no     1
    998     publish_phone         action     no     1
    999     pub_priv_sql_capability         filter     no     1
    1000     query         filter     no     1
    1001     query_string         filter     no     1
    1002     query_vars         filter     no     1
    1003     quicktags_settings         filter     no     1
    1004     quick_edit_custom_box         action     no     2
    1005     quick_edit_dropdown_pages_args         filter     no     1
    1006     random_password         filter     no     1
    1007     rdf_header         action     no     1
    1008     rdf_item         action     no     1
    1009     rdf_ns         action     no     1
    1010     redirect_canonical         filter     no     1
    1011     redirect_network_admin_request         filter     no     1
    1012     redirect_post_location         filter     no     1
    1013     redirect_user_admin_request         filter     no     1
    1014     refresh_blog_details         action     no     1
    1015     register         filter     no     5
    1016     registered_post_type         action     no     1
    1017     registered_taxonomy         action     no     1
    1018     register_form         action     no     1
    1019     register_post         action     no     1
    1020     register_sidebar         action     no     1
    1021     register_url         filter     no     1
    1022     registration_errors         filter     no     1
    1023     registration_redirect         filter     no     1
    1024     remove_user_from_blog         action     no     1
    1025     request         filter     no     1
    1026     request_filesystem_credentials         filter     no     1
    1027     resetpass_form         action     YES     1
    1028     restrict_manage_comments         action     no     1
    1029     restrict_manage_posts         action     no     2
    1030     restrict_manage_users         action     no     1
    1031     retreive_password         action     no     1
    1032     retrieve_password         action     no     1
    1033     retrieve_password_key         action     no     1
    1034     retrieve_password_message         filter     no     1
    1035     retrieve_password_title         filter     no     1
    1036     revoked_super_admin         action     no     1
    1037     revoke_super_admin         action     no     1
    1038     rewrite_rules         filter     no     1
    1039     rewrite_rules_array         filter     no     1
    1040     richedit_pre         filter     no     2
    1041     rightnow_end         action     no     1
    1042     robots_txt         filter     no     1
    1043     role_has_cap         filter     no     1
    1044     root_rewrite_rules         filter     no     1
    1045     rss2_comments_ns         action     no     1
    1046     rss2_head         action     no     2
    1047     rss2_item         action     no     1
    1048     rss2_ns         action     no     2
    1049     rss_enclosure         filter     no     1
    1050     rss_head         action     no     1
    1051     rss_item         action     no     1
    1052     rss_update_frequency         filter     no     3
    1053     rss_update_period         filter     no     3
    1054     safe_style_css         filter     no     1
    1055     salt         filter     no     2
    1056     sanitize_comment_cookies         action     no     1
    1057     sanitize_email         filter     no     8
    1058     sanitize_file_name         filter     no     2
    1059     sanitize_file_name_chars         filter     no     1
    1060     sanitize_html_class         filter     no     1
    1061     sanitize_key         filter     no     1
    1062     sanitize_mime_type         filter     no     1
    1063     sanitize_option_{$option}     note     filter     no     1
    1064     sanitize_text_field         filter     no     1
    1065     sanitize_title         filter     no     1
    1066     sanitize_trackback_urls         filter     no     1
    1067     sanitize_user         filter     no     1
    1068     sanitize_{$meta_type}_meta_{$meta_key}     note     filter     no     1
    1069     save_post         action     no     2
    1070     save_post_{$post->post_type}     note     action     no     2
    1071     schedule_event         filter     no     2
    1072     screen_layout_columns         filter     no     1
    1073     screen_options_show_screen         filter     no     1
    1074     screen_settings         filter     no     1
    1075     script_loader_src         filter     no     2
    1076     search_feed_link         filter     no     2
    1077     search_form_format         filter     no     1
    1078     search_link         filter     no     1
    1079     search_rewrite_rules         filter     no     1
    1080     secure_auth_cookie         filter     no     1
    1081     secure_auth_redirect         filter     no     1
    1082     secure_logged_in_cookie         filter     no     1
    1083     secure_signon_cookie         filter     no     1
    1084     self_link         filter     no     1
    1085     send_core_update_notification_email         filter     no     1
    1086     send_headers         action     no     1
    1087     set-screen-option         filter     no     1
    1088     setted_site_transient         action     no     1
    1089     setted_transient         action     no     1
    1090     setup_theme         action     no     1
    1091     set_auth_cookie         action     no     1
    1092     set_comment_cookies         action     no     1
    1093     set_current_user         action     no     1
    1094     set_logged_in_cookie         action     no     1
    1095     set_object_terms         action     no     1
    1096     set_site_transient_{$transient}     note     action     no     1
    1097     set_transient_{$transient}     note     action     no     1
    1098     set_url_scheme         filter     no     1
    1099     set_user_role         action     no     1
    1100     shake_error_codes         filter     no     1
    1101     shortcode_atts_{$shortcode}     note     filter     no     1
    1102     shortcut_link         filter     no     1
    1103     show_admin_bar         filter     no     1
    1104     show_advanced_plugins         filter     no     2
    1105     show_network_site_users_add_existing_form         filter     no     2
    1106     show_network_site_users_add_new_form         filter     no     1
    1107     show_password_fields         filter     no     2
    1108     show_post_locked_dialog         filter     no     1
    1109     show_recent_comments_widget_style         filter     no     1
    1110     show_user_profile         action     no     1
    1111     shutdown         action     no     1
    1112     sidebars_widgets         filter     no     1
    1113     sidebar_admin_page         action     no     1
    1114     sidebar_admin_setup         action     no     4
    1115     signup_another_blog_init         filter     no     1
    1116     signup_blogform         action     no     1
    1117     signup_blog_init         filter     no     1
    1118     signup_create_blog_meta         filter     no     1
    1119     signup_extra_fields         action     no     1
    1120     signup_finished         action     no     3
    1121     signup_header         action     no     1
    1122     signup_hidden_fields         action     no     3
    1123     signup_user_init         filter     no     1
    1124     single_cat_title         filter     no     1
    1125     single_post_title         filter     no     1
    1126     single_tag_title         filter     no     1
    1127     single_term_title         filter     no     1
    1128     site_by_path_segments_count         filter     YES     1
    1129     site_option_{$option}     note     filter     no     1
    1130     site_transient_{$transient}     note     filter     no     1
    1131     site_url         filter     no     1
    1132     smilies_src         filter     no     1
    1133     spammed_comment         action     no     1
    1134     spam_comment         action     no     1
    1135     split_the_query         filter     no     1
    1136     start_previewing_theme         action     no     1
    1137     status_header         filter     no     1
    1138     stop_previewing_theme         action     no     1
    1139     stylesheet         filter     no     1
    1140     stylesheet_directory         filter     no     1
    1141     stylesheet_directory_uri         filter     no     1
    1142     stylesheet_uri         filter     no     1
    1143     style_loader_src         filter     no     1
    1144     style_loader_tag         filter     no     2
    1145     subdirectory_reserved_names         filter     no     2
    1146     submitlink_box         action     no     2
    1147     submitpage_box         action     no     1
    1148     submitpost_box         action     no     1
    1149     switch_blog         action     no     4
    1150     switch_theme         action     no     1
    1151     tables_to_repair         filter     no     1
    1152     tagsperpage         filter     no     1
    1153     tag_cloud_sort         filter     no     1
    1154     tag_escape         filter     no     1
    1155     tag_feed_link         filter     no     1
    1156     tag_link         filter     no     1
    1157     tag_rewrite_rules         filter     no     1
    1158     tag_row_actions         filter     no     1
    1159     taxonomy_feed_link         filter     no     1
    1160     taxonomy_parent_dropdown_args         filter     no     1
    1161     teeny_mce_before_init         filter     no     1
    1162     teeny_mce_buttons         filter     no     1
    1163     teeny_mce_plugins         filter     no     1
    1164     template         filter     no     1
    1165     template_directory         filter     no     1
    1166     template_directory_uri         filter     no     1
    1167     template_include         filter     no     1
    1168     template_redirect         action     no     1
    1169     terms_clauses         filter     no     1
    1170     terms_to_edit         filter     no     1
    1171     term_id_filter         filter     no     2
    1172     term_link         filter     no     1
    1173     term_links-{$taxonomy}     note     filter     no     1
    1174     term_name         filter     no     1
    1175     term_updated_messages         filter     no     1
    1176     term_{$field}     note     filter     no     1
    1177     term_{$field}_rss     note     filter     no     1
    1178     themes_api         filter     no     1
    1179     themes_api_args         filter     no     1
    1180     themes_api_result         filter     no     1
    1181     themes_update_check_locales         filter     no     1
    1182     theme_action_links         filter     no     2
    1183     theme_action_links_{$stylesheet}     note     filter     no     2
    1184     theme_install_actions         filter     no     1
    1185     theme_locale         filter     no     1
    1186     theme_mod_{$name}     note     filter     no     2
    1187     theme_page_templates         filter     YES     1
    1188     theme_root         filter     no     1
    1189     theme_root_uri         filter     no     1
    1190     theme_row_meta         filter     no     1
    1191     the_author         filter     no     1
    1192     the_author_posts_link         filter     no     1
    1193     the_author_{$field}     note     filter     no     1
    1194     the_category         filter     no     7
    1195     the_category_rss         filter     no     1
    1196     the_comments         filter     no     1
    1197     the_content         filter     no     4
    1198     the_content_export         filter     no     1
    1199     the_content_feed         filter     no     1
    1200     the_content_more_link         filter     no     1
    1201     the_content_rss         filter     no     1
    1202     the_date         filter     no     1
    1203     the_editor         filter     no     1
    1204     the_editor_content         filter     no     1
    1205     the_excerpt         filter     no     2
    1206     the_excerpt_export         filter     no     1
    1207     the_excerpt_rss         filter     no     1
    1208     the_feed_link         filter     no     1
    1209     the_generator         filter     no     1
    1210     the_meta_key         filter     no     1
    1211     the_modified_author         filter     no     1
    1212     the_modified_date         filter     no     1
    1213     the_modified_time         filter     no     1
    1214     the_password_form         filter     no     1
    1215     the_permalink         filter     no     4
    1216     the_permalink_rss         filter     no     1
    1217     the_post         action     no     1
    1218     the_posts         filter     no     1
    1219     the_preview         filter     no     1
    1220     the_search_query         filter     no     1
    1221     the_shortlink         filter     no     1
    1222     the_tags         filter     no     1
    1223     the_terms         filter     no     1
    1224     the_time         filter     no     1
    1225     the_title         filter     no     13
    1226     the_title_rss         filter     no     4
    1227     the_weekday         filter     no     1
    1228     the_weekday_date         filter     no     1
    1229     the_widget         action     no     1
    1230     thread_comments_depth_max         filter     no     1
    1231     time_formats         filter     no     1
    1232     tiny_mce_before_init         filter     no     1
    1233     tiny_mce_plugins         filter     no     1
    1234     tool_box         action     no     1
    1235     trackback_post         action     no     1
    1236     trackback_url         filter     no     1
    1237     transient_{$transient}     note     filter     no     1
    1238     transition_comment_status         action     no     1
    1239     transition_post_status         action     no     1
    1240     trashed_comment         action     no     1
    1241     trashed_post         action     no     1
    1242     trashed_post_comments         action     no     1
    1243     trash_comment         action     no     1
    1244     trash_post_comments         action     no     1
    1245     twentyfourteen_attachment_size         filter     no     1
    1246     twentyfourteen_credits         action     no     1
    1247     twentyfourteen_custom_background_args         filter     no     1
    1248     twentyfourteen_custom_header_args         filter     no     1
    1249     twentyfourteen_featured_posts_after         action     no     1
    1250     twentyfourteen_featured_posts_before         action     no     1
    1251     twentyfourteen_get_featured_posts         filter     no     1
    1252     twentythirteen_attachment_size         filter     no     1
    1253     twentythirteen_author_bio_avatar_size         filter     no     1
    1254     twentythirteen_credits         action     no     1
    1255     twentytwelve_attachment_size         filter     no     1
    1256     twentytwelve_author_bio_avatar_size         filter     no     2
    1257     twentytwelve_credits         action     no     1
    1258     twentytwelve_status_avatar         filter     no     1
    1259     type_url_form_media         filter     no     1
    1260     unarchive_blog         action     no     2
    1261     uninstall_{$file}     note     action     no     1
    1262     unload_textdomain         action     no     1
    1263     unmature_blog         action     no     2
    1264     unspammed_comment         action     no     1
    1265     unspam_comment         action     no     1
    1266     untrashed_comment         action     no     1
    1267     untrashed_post         action     no     1
    1268     untrashed_post_comments         action     no     1
    1269     untrash_comment         action     no     1
    1270     untrash_post         action     no     1
    1271     untrash_post_comments         action     no     1
    1272     unzip_file_use_ziparchive         filter     no     1
    1273     update-core-custom_{$action}     note     action     no     1
    1274     update-custom_{$action}     note     action     no     1
    1275     updated_option         action     no     1
    1276     updated_postmeta         action     no     2
    1277     updated_usermeta         action     no     1
    1278     updated_{$meta_type}_meta     note     action     no     2
    1279     update_attached_file         filter     no     1
    1280     update_blog_public         action     no     1
    1281     update_bulk_plugins_complete_actions         filter     no     1
    1282     update_bulk_theme_complete_actions         filter     no     1
    1283     update_feedback         filter     no     8
    1284     update_footer         filter     no     1
    1285     update_option         action     no     1
    1286     update_option_{$option}     note     action     no     1
    1287     update_plugin_complete_actions         filter     no     1
    1288     update_postmeta         action     no     2
    1289     update_site_option         action     no     1
    1290     update_site_option_{$option}     note     action     no     1
    1291     update_theme_complete_actions         filter     no     1
    1292     update_translations_complete_actions         filter     no     1
    1293     update_usermeta         action     no     1
    1294     update_welcome_email         filter     no     1
    1295     update_welcome_subject         filter     no     1
    1296     update_welcome_user_email         filter     no     1
    1297     update_welcome_user_subject         filter     no     1
    1298     update_wpmu_options         action     no     1
    1299     update_{$meta_type}_meta     note     action     no     2
    1300     update_{$meta_type}_metadata     note     filter     no     1
    1301     upgrader_clear_destination         filter     no     1
    1302     upgrader_post_install         filter     no     1
    1303     upgrader_pre_download         filter     no     1
    1304     upgrader_pre_install         filter     no     1
    1305     upgrader_process_complete         action     no     4
    1306     upgrader_source_selection         filter     no     1
    1307     upload_dir         filter     no     1
    1308     upload_mimes         filter     no     1
    1309     upload_per_page         filter     no     1
    1310     upload_post_params         filter     no     1
    1311     upload_size_limit         filter     no     1
    1312     upload_ui_over_quota         action     no     2
    1313     url_to_postid         filter     no     1
    1314     user_admin_menu         action     no     1
    1315     user_admin_notices         action     no     1
    1316     user_admin_url         filter     no     1
    1317     user_can_richedit         filter     no     1
    1318     user_contactmethods         filter     no     1
    1319     user_dashboard_url         filter     no     1
    1320     user_edit_form_tag         action     no     1
    1321     user_has_cap         filter     no     1
    1322     user_new_form         action     no     2
    1323     user_new_form_tag         action     no     2
    1324     user_profile_update_errors         action     no     1
    1325     user_register         action     no     1
    1326     user_registration_email         filter     no     1
    1327     user_row_actions         filter     no     1
    1328     user_search_columns         filter     no     1
    1329     user_trailingslashit         filter     no     1
    1330     user_{$field}     note     filter     no     1
    1331     user_{$name}_label     note     filter     no     1
    1332     use_curl_transport         filter     no     1
    1333     use_default_gallery_style         filter     no     1
    1334     use_google_chrome_frame         filter     no     1
    1335     use_streams_transport         filter     no     1
    1336     validate_current_theme         filter     no     1
    1337     validate_password_reset         action     no     1
    1338     validate_username         filter     no     1
    1339     views_{$this->screen->id}     note     filter     no     1
    1340     walker_nav_menu_start_el         filter     no     1
    1341     welcome_panel         action     no     1
    1342     whitelist_options         filter     no     1
    1343     widgets-php         action     no     3
    1344     widgets_admin_page         action     no     1
    1345     widgets_init         action     no     1
    1346     widget_archives_args         filter     no     1
    1347     widget_archives_dropdown_args         filter     no     1
    1348     widget_categories_args         filter     no     1
    1349     widget_categories_dropdown_args         filter     no     1
    1350     widget_comments_args         filter     no     1
    1351     widget_customizer_setting_args         filter     YES     1
    1352     widget_display_callback         filter     no     1
    1353     widget_form_callback         filter     no     1
    1354     widget_links_args         filter     no     1
    1355     widget_meta_poweredby         filter     no     1
    1356     widget_pages_args         filter     no     1
    1357     widget_posts_args         filter     no     1
    1358     widget_tag_cloud_args         filter     no     1
    1359     widget_text         filter     no     1
    1360     widget_title         filter     no     13
    1361     widget_update_callback         filter     no     1
    1362     wp         action     no     1
    1363     wp-mail-php         action     no     1
    1364     wpmuadminedit         action     no     4
    1365     wpmuadminresult         action     no     1
    1366     wpmublogsaction         action     no     1
    1367     wpmueditblogaction         action     no     1
    1368     wpmu_activate_blog         action     no     1
    1369     wpmu_activate_user         action     no     1
    1370     wpmu_active_signup         filter     no     1
    1371     wpmu_blogs_columns         filter     no     1
    1372     wpmu_blog_updated         action     no     1
    1373     wpmu_delete_blog_upload_dir         filter     no     1
    1374     wpmu_delete_user         action     no     1
    1375     wpmu_drop_tables         filter     no     1
    1376     wpmu_new_blog         action     no     1
    1377     wpmu_new_user         action     no     1
    1378     wpmu_options         action     no     1
    1379     wpmu_signup_blog_notification         filter     no     1
    1380     wpmu_signup_blog_notification_email         filter     no     1
    1381     wpmu_signup_blog_notification_subject         filter     no     1
    1382     wpmu_signup_user_notification         filter     no     1
    1383     wpmu_signup_user_notification_email         filter     no     1
    1384     wpmu_signup_user_notification_subject         filter     no     1
    1385     wpmu_update_blog_options         action     no     1
    1386     wpmu_upgrade_page         action     no     1
    1387     wpmu_upgrade_site         action     no     1
    1388     wpmu_users_columns         filter     no     1
    1389     wpmu_validate_blog_signup         filter     no     1
    1390     wpmu_validate_user_signup         filter     no     1
    1391     wpmu_welcome_notification         filter     no     1
    1392     wpmu_welcome_user_notification         filter     no     1
    1393     wp_admin_bar_class         filter     no     1
    1394     wp_admin_css         filter     no     2
    1395     wp_admin_css_uri         filter     no     1
    1396     wp_after_admin_bar_render         action     no     1
    1397     wp_ajax_nopriv_{$action}     note     action     no     1
    1398     wp_ajax_{$action}     note     action     no     1
    1399     wp_audio_embed_handler         filter     no     1
    1400     wp_audio_extensions         filter     no     1
    1401     wp_audio_shortcode         filter     no     1
    1402     wp_audio_shortcode_class         filter     no     1
    1403     wp_audio_shortcode_library         filter     no     1
    1404     wp_audio_shortcode_override         filter     no     1
    1405     wp_authenticate         action     no     1
    1406     wp_authenticate_user         filter     no     1
    1407     wp_auth_check_interval         filter     no     1
    1408     wp_auth_check_load         filter     no     1
    1409     wp_auth_check_same_domain         filter     no     1
    1410     wp_before_admin_bar_render         action     no     1
    1411     wp_blacklist_check         action     no     1
    1412     wp_cache_themes_persistently         filter     no     2
    1413     wp_checkdate         filter     no     1
    1414     wp_check_filetype_and_ext         filter     no     1
    1415     wp_check_post_lock_window         filter     no     2
    1416     wp_comment_reply         filter     no     1
    1417     wp_count_attachments         filter     no     1
    1418     wp_count_comments         filter     no     1
    1419     wp_count_posts         filter     no     1
    1420     wp_create_file_in_uploads         action     no     2
    1421     wp_create_file_in_uploads         filter     no     3
    1422     wp_create_nav_menu         action     no     1
    1423     wp_create_thumbnail         filter     no     1
    1424     wp_dashboard_setup         action     no     1
    1425     wp_dashboard_widgets         filter     no     1
    1426     wp_default_editor         filter     no     1
    1427     wp_default_scripts         action     no     1
    1428     wp_default_styles         action     no     1
    1429     wp_delete_file         filter     no     9
    1430     wp_delete_nav_menu         action     no     1
    1431     wp_delete_post_revision         action     no     1
    1432     wp_die_ajax_handler         filter     no     1
    1433     wp_die_handler         filter     no     1
    1434     wp_die_xmlrpc_handler         filter     no     1
    1435     wp_dropdown_cats         filter     no     1
    1436     wp_dropdown_pages         filter     no     1
    1437     wp_dropdown_users         filter     no     1
    1438     wp_editor_set_quality         filter     no     1
    1439     wp_edit_nav_menu_walker         filter     no     2
    1440     wp_embed_handler_audio         filter     no     1
    1441     wp_embed_handler_video         filter     no     1
    1442     wp_enqueue_editor         action     YES     1
    1443     wp_enqueue_media         action     no     1
    1444     wp_enqueue_scripts         action     no     1
    1445     wp_feed_cache_transient_lifetime         filter     no     2
    1446     wp_feed_options         action     no     1
    1447     wp_footer         action     no     1
    1448     wp_fullscreen_buttons         filter     no     1
    1449     wp_generate_attachment_metadata         filter     no     1
    1450     wp_generate_tag_cloud         filter     no     1
    1451     wp_generator_type         filter     no     1
    1452     wp_get_attachment_id3_keys         filter     YES     1
    1453     wp_get_attachment_image_attributes         filter     no     1
    1454     wp_get_attachment_link         filter     no     1
    1455     wp_get_attachment_metadata         filter     no     1
    1456     wp_get_attachment_thumb_file         filter     no     1
    1457     wp_get_attachment_thumb_url         filter     no     1
    1458     wp_get_attachment_url         filter     no     1
    1459     wp_get_current_commenter         filter     no     1
    1460     wp_get_nav_menus         filter     no     1
    1461     wp_get_nav_menu_items         filter     no     1
    1462     wp_get_object_terms         filter     no     1
    1463     wp_get_update_data         filter     no     1
    1464     wp_handle_upload         filter     no     3
    1465     wp_handle_upload_prefilter         filter     no     1
    1466     wp_head         action     no     1
    1467     wp_headers         filter     no     1
    1468     wp_header_image_attachment_metadata         filter     YES     1
    1469     wp_http_accept_encoding         filter     no     1
    1470     wp_http_cookie_value         filter     no     1
    1471     wp_image_editors         filter     no     1
    1472     wp_image_editor_before_change         filter     no     1
    1473     wp_insert_attachment_data         filter     YES     1
    1474     wp_insert_comment         action     no     1
    1475     wp_insert_post         action     no     2
    1476     wp_insert_post_data         filter     no     1
    1477     wp_insert_post_empty_content         filter     no     1
    1478     wp_insert_post_parent         filter     no     1
    1479     wp_install         action     YES     1
    1480     wp_is_large_network         filter     no     2
    1481     wp_kses_allowed_html         filter     no     6
    1482     wp_link_pages         filter     no     1
    1483     wp_link_pages_args         filter     no     1
    1484     wp_link_pages_link         filter     no     3
    1485     wp_link_query         filter     no     1
    1486     wp_link_query_args         filter     no     1
    1487     wp_list_bookmarks         filter     no     1
    1488     wp_list_categories         filter     no     1
    1489     wp_list_pages         filter     no     1
    1490     wp_list_pages_excludes         filter     no     1
    1491     wp_loaded         action     no     1
    1492     wp_login         action     no     1
    1493     wp_login_errors         filter     no     1
    1494     wp_login_failed         action     no     1
    1495     wp_logout         action     no     1
    1496     wp_mail         filter     no     1
    1497     wp_mail_charset         filter     no     1
    1498     wp_mail_content_type         filter     no     1
    1499     wp_mail_from         filter     no     1
    1500     wp_mail_from_name         filter     no     1
    1501     wp_mail_original_content         filter     no     1
    1502     wp_maybe_auto_update         action     YES     1
    1503     wp_mce_translation         filter     YES     1
    1504     wp_mediaelement_fallback         filter     no     1
    1505     wp_meta         action     no     1
    1506     wp_mime_type_icon         filter     no     1
    1507     wp_nav_locations_listed_per_menu         filter     no     1
    1508     wp_nav_menu         filter     no     1
    1509     wp_nav_menu_args         filter     no     1
    1510     wp_nav_menu_container_allowedtags         filter     no     1
    1511     wp_nav_menu_items         filter     no     1
    1512     wp_nav_menu_objects         filter     no     1
    1513     wp_nav_menu_{$menu->slug}_items     note     filter     no     1
    1514     wp_network_dashboard_setup         action     no     1
    1515     wp_network_dashboard_widgets         filter     no     1
    1516     wp_page_menu         filter     no     1
    1517     wp_page_menu_args         filter     no     1
    1518     wp_parse_str         filter     no     1
    1519     wp_playlist_scripts         action     YES     1
    1520     wp_prepare_attachment_for_js         filter     no     1
    1521     wp_prepare_themes_for_js         filter     no     1
    1522     wp_print_footer_scripts         action     no     1
    1523     wp_print_scripts         action     no     3
    1524     wp_print_styles         action     no     1
    1525     wp_read_image_metadata         filter     no     1
    1526     wp_read_image_metadata_types         filter     no     1
    1527     wp_redirect         filter     no     1
    1528     wp_redirect_status         filter     no     1
    1529     wp_register_sidebar_widget         action     no     1
    1530     wp_restore_post_revision         action     no     1
    1531     wp_revisions_to_keep         filter     no     1
    1532     wp_save_image_editor_file         filter     no     1
    1533     wp_save_image_file         filter     no     1
    1534     wp_save_post_revision_check_for_changes         filter     no     1
    1535     wp_search_stopwords         filter     no     1
    1536     wp_setup_nav_menu_item         filter     no     1
    1537     wp_set_comment_status         action     no     2
    1538     wp_signup_location         filter     no     3
    1539     wp_sprintf         filter     no     1
    1540     wp_sprintf_l         filter     no     1
    1541     wp_tag_cloud         filter     no     1
    1542     wp_terms_checklist_args         filter     no     1
    1543     wp_tiny_mce_init         action     YES     1
    1544     wp_title         filter     no     1
    1545     wp_title_rss         filter     no     1
    1546     wp_trash_post         action     no     1
    1547     wp_trim_excerpt         filter     no     1
    1548     wp_trim_words         filter     no     1
    1549     wp_unique_post_slug         filter     no     1
    1550     wp_unique_post_slug_is_bad_attachment_slug         filter     no     1
    1551     wp_unique_post_slug_is_bad_flat_slug         filter     no     1
    1552     wp_unique_post_slug_is_bad_hierarchical_slug         filter     no     1
    1553     wp_unregister_sidebar_widget         action     no     1
    1554     wp_update_attachment_metadata         filter     no     1
    1555     wp_update_comment_count         action     no     1
    1556     wp_update_nav_menu         action     no     2
    1557     wp_update_nav_menu_item         action     no     1
    1558     wp_update_term_parent         filter     no     1
    1559     wp_upgrade         action     YES     1
    1560     wp_upload_bits         filter     no     1
    1561     wp_user_dashboard_setup         action     no     1
    1562     wp_user_dashboard_widgets         filter     no     1
    1563     wp_video_embed_handler         filter     no     1
    1564     wp_video_extensions         filter     no     1
    1565     wp_video_shortcode         filter     no     1
    1566     wp_video_shortcode_class         filter     no     1
    1567     wp_video_shortcode_library         filter     no     1
    1568     wp_video_shortcode_override         filter     no     1
    1569     wp_xmlrpc_server_class         filter     no     1
    1570     wxr_export_skip_postmeta         filter     no     1
    1571     xmlrpc_allow_anonymous_comments         filter     no     1
    1572     xmlrpc_blog_options         filter     no     1
    1573     xmlrpc_call         action     no     67
    1574     xmlrpc_call_success_blogger_deletePost         action     no     1
    1575     xmlrpc_call_success_blogger_editPost         action     no     1
    1576     xmlrpc_call_success_blogger_newPost         action     no     1
    1577     xmlrpc_call_success_mw_editPost         action     no     1
    1578     xmlrpc_call_success_mw_newMediaObject         action     no     1
    1579     xmlrpc_call_success_mw_newPost         action     no     1
    1580     xmlrpc_call_success_wp_deleteCategory         action     no     1
    1581     xmlrpc_call_success_wp_deleteComment         action     no     1
    1582     xmlrpc_call_success_wp_deletePage         action     no     1
    1583     xmlrpc_call_success_wp_editComment         action     no     1
    1584     xmlrpc_call_success_wp_newCategory         action     no     1
    1585     xmlrpc_call_success_wp_newComment         action     no     1
    1586     xmlrpc_default_posttype_fields         filter     no     2
    1587     xmlrpc_default_post_fields         filter     no     2
    1588     xmlrpc_default_revision_fields         filter     no     1
    1589     xmlrpc_default_taxonomy_fields         filter     no     2
    1590     xmlrpc_default_user_fields         filter     no     3
    1591     xmlrpc_enabled         filter     no     1
    1592     xmlrpc_login_error         filter     no     1
    1593     xmlrpc_methods         filter     no     1
    1594     xmlrpc_pingback_error         filter     no     1
    1595     xmlrpc_prepare_comment         filter     no     1
    1596     xmlrpc_prepare_media_item         filter     no     1
    1597     xmlrpc_prepare_page         filter     no     1
    1598     xmlrpc_prepare_post         filter     no     1
    1599     xmlrpc_prepare_post_type         filter     no     1
    1600     xmlrpc_prepare_taxonomy         filter     no     1
    1601     xmlrpc_prepare_term         filter     no     1
    1602     xmlrpc_prepare_user         filter     no     1
    1603     xmlrpc_publish_post         action     no     1
    1604     xmlrpc_rsd_apis         action     no     1
    1605     xmlrpc_text_filters         filter     no     1
    1606     xmlrpc_wp_insert_post_data         filter     no     1
    1607     year_link         filter     no     1
    1608     _admin_menu         action     no     1
    1609     _core_updated_successfully         action     no     1
    1610     _get_page_link         filter     no     1
    1611     _network_admin_menu         action     no     1
    1612     _user_admin_menu         action     no     1
    1613     _wp_post_revision_fields         filter     no     1
    1614     _wp_post_revision_field_{$field}     note     filter     no     2
    1615     _wp_put_post_revision         action     no     1
    1616     _wp_relative_upload_path         filter     no     1
    1617     {$action}     note     action     no     1
    1618     {$adjacent}_image_link     note     filter     no     1
    1619     {$adjacent}_post_link     note     filter     no     1
    1620     {$adjacent}_post_rel_link     note     filter     no     1
    1621     {$boundary}_post_rel_link     note     filter     no     1
    1622     {$field_no_prefix}_edit_pre     note     filter     no     1
    1623     {$field_no_prefix}_save_pre     note     filter     no     1
    1624     {$field}     note     filter     no     3
    1625     {$field}_pre     note     filter     no     1
    1626     {$hook}     note     action     no     2
    1627     {$new_status}_{$post->post_type}     note     action     no     1
    1628     {$old_status}_to_{$new_status}     note     action     no     1
    1629     {$option}     note     filter     no     2
    1630     {$page_hook}     note     action     no     1
    1631     {$permastructname}_rewrite_rules     note     filter     no     1
    1632     {$per_page}     note     filter     no     1
    1633     {$prefix}plugin_action_links     note     filter     no     1
    1634     {$prefix}plugin_action_links_{$plugin_file}     note     filter     no     1
    1635     {$tag}     note     action     no     2
    1636     {$tag}     note     filter     no     2
    1637     {$taxonomy}_add_form     note     action     no     1
    1638     {$taxonomy}_add_form_fields     note     action     no     1
    1639     {$taxonomy}_edit_form     note     action     no     1
    1640     {$taxonomy}_edit_form_fields     note     action     no     1
    1641     {$taxonomy}_pre_add_form     note     action     no     1
    1642     {$taxonomy}_pre_edit_form     note     action     no     1
    1643     {$taxonomy}_row_actions     note     filter     no     1
    1644     {$taxonomy}_term_edit_form_tag     note     action     no     1
    1645     {$taxonomy}_term_new_form_tag     note     action     no     1
    1646     {$taxonomy}_{$field}     note     filter     no     1
    1647     {$taxonomy}_{$field}_rss     note     filter     no     1
    1648     {$type}_send_to_editor_url     note     filter     no     2
    1649     {$type}_template     note     filter     no     1
    1650     {$type}_upload_iframe_src     note     filter     no     1
    Important warning about variable hooks
    Some hooks have variables in their names. For example, pre_${taxonomy}_$field and admin_head- both have variable names. In general, any hook that ends (or begins) with - or _, or contains a $, has a variable name. Since the syntax with which these variables are defined may change from version to version, this page may think that a hook is deprecated (or new) even if it is not. You can usually catch this sort of thing by comparing this hook to the list of "related hooks" below.
    You are viewing the regular version of this page. Switch to mobile version.
    Hi. My name is Adam Brown. How to contact me. I am on the BYU political science faculty. My PhD is from the University of California, San Diego (UCSD). All content and code ©2005-2014 by Adam R Brown unless noted. Do not republish any material from this site anywhere else without permission. Featuring glorious hand-coded PHP and valid XHTML/CSS. This page last updated October 8th, 2013.
    You're browsing the WordPress hooks database, which contains information about action hooks and filter hooks in WordPress's code. The hooks in WordPress make it the most flexible blogging software available. Plugin authors and theme developers rely on WordPress hooks to interact with the blog platform's PHP code. More information about this database is at WordPress Hooks Database (home). You may also be interested in my easy PHP tutorial for WordPress users. Note that my website is not a WordPress support forum, though; you should ask you WP questions over at the WordPress support forums.
    <end node> 5P9i0s8y19Z
    dt=
    <node>SESSIONS
    2
    Though this would work, it is not the most efficient way to start a session in WordPress. WordPress provides an Actions Api that we are able to attach custom functions to. That is the method we will be using in this example. We are going to add all the following code to the very top of our themes functions.php file.
    1: We will use the init action provided by WordPress to handle starting a PHP session. First, we add the action that will call a function called start_session like this when WordPress first initiates.
    add_action('init', 'start_session', 1);
    2: Second we will create the start_session function. Notice the function is first checking to see if a session is already active before setting a new one using a function called session_id.
    function start_session() {
    if(!session_id()) {
    session_start();
    }
    }
    Ending A PHP Session
    PHP provides a built-in function called session_destroy, that will handle clearing out all session data. However, when to call this function can be tricky to handle depending on the application. WordPress also provides a few ways for us to do just that in the Actions Api.
    1: In WordPress we are going to need to clear out the session once a user has logged out or a new user has logged into the website. We will use two provided actions, wp_logout and wp_login, to call a function we will create called end_session();
    add_action(‘wp_logout’, ‘end_session’);
    add_action(‘wp_login’, ‘end_session’);
    2: Second we will create the end_session function like this:
    function end_session() {
    session_destroy ();
    }
    Forcing A Session To End
    We can use a custom hook to end a session anywhere within the theme by using the do_action function provided by WordPress to call the end_session function we created above.
    1: In the functions.php file we would add the following.
    add_action('end_session_action', 'end_session');
    2: Add the following anywhere in the application you want to end the session.
    do_action('end_session_action');

    If done correctly your functions.php file should now look like this at the top.
    add_action('init', 'start_session', 1);
    function start_session() {
    if(!session_id()) {
    session_start();
    }
    add_action(‘wp_logout’, ‘end_session’);
    add_action(‘wp_login’, ‘end_session’);
    add_action(‘end_session_action’, ‘end_session’);
    function end_session() {
    session_destroy ();
    }
    You can now add data to the global $_SESSION variable that will be accessible at any point within the application during a user session by accessing the $_SESSION variable. The variable is an array; below is an example of adding data to the session array.
    $foo = ‘Foo Data’;
    $_SESSION[‘foo’] = $foo;
    Something to think about:
    If you are building a scalable or load balanced website, you may not want to use sessions. HTTP is Stateless and PHP SESSIONS are State driven. Sessions are stored and handled by the server. Routing each session to the proper server requires more complex configuration and creates a single point of failure for the users who’s sessions are stored on that server. When possible, it is best to store session information in the client’s browser. Though it may not be extremely expensive to the server resources to query session objects, it is always wise to reduce overhead whenever possible.
    Thank you for reading. I hope you find this article helpful and please comment below with any questions. Happy coding! ??
    <end node> 5P9i0s8y19Z
    dt=
    <node>html5
    1
    <input  required min='' max='' placeholder='' >
    <input type="number" min="0" max="100" step="5">
    accept     audio/*
    video/*
    image/*
    MIME_type     Specifies the types of files that the server accepts (only for type="file")
    align     left
    right
    top
    middle
    bottom     Not supported in HTML5. Deprecated in HTML 4.01. Specifies the alignment of an image input (only for type="image")
    alt     text     Specifies an alternate text for images (only for type="image")
    autocompleteNew     on
    off     Specifies whether an <input> element should have autocomplete enabled
    autofocusNew     autofocus     Specifies that an <input> element should automatically get focus when the page loads
    checked     checked     Specifies that an <input> element should be pre-selected when the page loads (for type="checkbox" or type="radio")
    disabled     disabled     Specifies that an <input> element should be disabled
    formNew     form_id     Specifies one or more forms the <input> element belongs to
    formactionNew     URL     Specifies the URL of the file that will process the input control when the form is submitted (for type="submit" and type="image")
    formenctypeNew     application/x-www-form-urlencoded
    multipart/form-data
    text/plain     Specifies how the form-data should be encoded when submitting it to the server (for type="submit" and type="image")
    formmethodNew     get
    post     Defines the HTTP method for sending data to the action URL (for type="submit" and type="image")
    formnovalidateNew     formnovalidate     Defines that form elements should not be validated when submitted
    formtargetNew     _blank
    _self
    _parent
    _top
    framename     Specifies where to display the response that is received after submitting the form (for type="submit" and type="image")
    heightNew     pixels     Specifies the height of an <input> element (only for type="image")
    listNew     datalist_id     Refers to a <datalist> element that contains pre-defined options for an <input> element
    max        New     number
    date     Specifies the maximum value for an <input> element
    maxlength     number     Specifies the maximum number of characters allowed in an <input> element
    min New     number
    date     Specifies a minimum value for an <input> element
    multiple      New     multiple     Specifies that a user can enter more than one value in an <input> element
    name     text     Specifies the name of an <input> element
    patternNew     regexp     Specifies a regular expression that an <input> element's value is checked against
    placeholder New     text     Specifies a short hint that describes the expected value of an <input> element
    readonly     readonly     Specifies that an input field is read-only
    required    New     required     Specifies that an input field must be filled out before submitting the form
    size     number     Specifies the width, in characters, of an <input> element
    src     URL     Specifies the URL of the image to use as a submit button (only for type="image")
    stepNew     number     Specifies the legal number intervals for an input field
    HTML5 Input Types
    checkbox
    color
    date
    datetime
    datetime-local
    email
    file
    hidden
    image
    month
    number
    password
    radio
    range
    reset
    search
    submit
    tel
    text
    time
    url
    week     Specifies the type <input> element to display
    value     text     Specifies the value of an <input> element

    width      New     pixels     Specifies the width of an <input> element (only for type="image")
    <end node> 5P9i0s8y19Z
    dt=
    <node>reserved words
    1
    List of reserved names in $_POST and $_REQUEST used by WordPress 3.5
    _ajax_nonce
    _page
    _per_page
    _signup_form
    _total
    _url
    _wp_http_referer
    _wp_original_http_referer
    _wp_unfiltered_html_comment
    _wpnonce
    _wpnonce-custom-header-upload
    aa
    action
    action2
    active_post_lock
    add_new
    add_new_users
    addmeta
    admin_bar_front
    admin_color
    admin_email
    admin_password
    admin_password2
    ajax
    align
    allblogs
    allusers
    alt
    approve_parent
    approved
    attachment
    attachment_id
    attachments
    auth_cookie
    author
    author_name
    autocomplete_type
    auto_draft
    auto-add-pages
    autosave
    background-attachment
    background-color
    background-position-x
    background-repeat
    banned_email_domains
    blog
    blog_name
    blog_public
    blog_upload_space
    blogname
    bulk_edit
    c
    calendar
    cat
    category_base
    category_name
    catslist
    changeit
    changes
    charset
    checkbox
    checked
    clear-recent-list
    closed
    comment
    comment_approved
    comment_author
    comment_author_email
    comment_author_url
    comment_content
    comment_date
    comment_ID
    comment_parent
    comment_post_ID
    comment_shortcuts
    comment_status
    comments_listing
    comments_popup
    confirmdelete
    connection_type
    content
    context
    cpage
    create-new-attachment
    createuser
    customize_messenger_channel
    customized
    customlink-tab
    date
    date_format
    date_format_custom
    day
    default-header
    delete
    delete_all
    delete_all2
    delete_comments
    delete_option
    delete_tags
    delete_widget
    deletebookmarks
    deletecomment
    deleted
    deletemeta
    deletepost
    description
    detached
    dismiss
    display_name
    do
    edit_date
    email
    error
    exact
    excerpt
    features
    feed
    fetch
    fheight
    file
    fileupload_maxk
    filter
    find_detached
    first_comment
    first_comment_author
    first_comment_url
    first_name
    first_page
    first_post
    found_post_id
    fwidth
    global_terms_enabled
    GLOBALS
    gmt_offset
    guid
    height
    hh
    hidden
    hidden_aa
    hidden_jj
    hidden_mm
    hidden_mn
    hidden_hh
    history
    hostname
    hour
    html-upload
    id
    ID
    ids
    id_base
    illegal_names
    insert-gallery
    insertonlybutton
    interim-login
    item-object
    item-type
    jj
    json
    json_data
    key
    last_name
    limited_email_domains
    link_id
    link_image
    link_name
    link_rss
    link_url
    link_visible
    linkcheck
    locale
    locked
    log
    logged_in_cookie
    m
    media
    media_type
    menu
    menu_items
    menu-item
    menu-item-attr-title
    menu-item-classes
    menu-item-db-id
    menu-item-description
    menu-item-object
    menu-item-object-id
    menu-item-parent-id
    menu-item-position
    menu-item-target
    menu-item-title
    menu-item-type
    menu-item-url
    menu-item-xfn
    menu-locations
    menu-name
    message
    meta
    metakeyinput
    metakeyselect
    metavalue
    minute
    mm
    mn
    mode
    monthnum
    more
    move
    multi_number
    name
    nav-menu-locations
    new
    new_role
    new_slug
    new_title
    newcat
    newcomment_author
    newcomment_author_email
    newcomment_author_url
    newcontent
    newuser
    nickname
    no_placeholder
    noapi
    noconfirmation
    noredir
    number
    offset
    oitar
    option
    option_page
    order
    orderby
    p
    pb
    page
    page_columns
    page_id
    page_options
    paged
    pagegen_timestamp
    pagename
    parent_id
    pass1
    pass2
    password
    permalink_structure
    photo_description
    photo_src
    phperror
    ping_status
    plugin
    plugin_status
    pointer
    position
    post
    post_category
    post_data
    post_format
    post_ID
    post_id
    post_mime_type
    post_password
    post_status
    post_title
    post_type
    post_view
    postid
    posts
    preview
    primary_blog
    private_key
    ps
    public_key
    publish
    pwd
    query
    reassign_user
    reauth
    redirect
    redirect_to
    ref
    referredby
    registration
    registrationnotification
    rememberme
    remove-background
    removeheader
    removewidget
    reset-background
    resetheader
    review
    rich_editing
    robots
    role
    s
    same
    save
    savewidget
    savewidgets
    screen
    scrollto
    search
    second
    section
    selectall
    selection
    send
    send_password
    sentence
    short
    show_sticky
    sidebar
    sidebars
    signup_for
    signup_form_id
    site_id
    site_name
    sitename
    size
    skip-cropping
    spam
    spammed
    src
    ss
    stage
    start
    static
    status
    sticky
    subdomain_install
    submit
    subpost
    subpost_id
    super_admin
    tab
    tag
    tag_ID
    tag-name
    tag_base
    tags_input
    tax
    tax_input
    tag-name
    target
    taxonomy
    tb
    term
    text-color
    the-widget-id
    theme
    theme_status
    thumb
    timezone_string
    time_format
    time_format_custom
    title
    thumbnail_id
    trash
    trashed
    type
    undismiss
    unspam
    unspammed
    untrash
    untrashed
    url
    update_home_url
    updated
    upgrade
    upload_filetypes
    upload_space_check_disabled
    use_ssl
    user
    user_id
    user_login
    user_name
    username
    users
    verify-delete
    version
    visibility
    visible
    w
    weblog_title
    welcome_email
    welcome_user_email
    widget_id
    widget_number
    widget-id
    widget-recent-comments
    widget-rss
    width
    withcomments
    withoutcomments
    wp_customize
    wp_http_referer
    wp_screen_options
    wp-preview
    WPLANG
    x1
    y1
    year
    <end node> 5P9i0s8y19Z
    dt=
    <node>Settings
    1
    wp_options in the database table
    <end node> 5P9i0s8y19Z
    dt=
    <node>Upgrades
    1
    http://codex.wordpress.org/Files_Automatically_Replaced_by_Core_Upgrade
    When using the core upgrade function, introduced with Version 2.7, some old files, which are no longer included with the latest release, will be deleted. The list of files to be deleted is in the wp-admin/includes/update-core.php file.
    In addition to the files to be deleted, all other core files are replaced with the newer versions. If you have made modifications to any core files, including the WordPress Default theme files, you'll need to insure they are backed up before attempting the core upgrade. After the upgrade, you'll have to retrofit the modifications to the new core files again. Simply re-using the old modified files is NOT recommended.
    Files Set For Deletion
    $_old_files = array(
    // 2.0
    'wp-admin/import-b2.php',
    'wp-admin/import-blogger.php',
    'wp-admin/import-greymatter.php',
    'wp-admin/import-livejournal.php',
    'wp-admin/import-mt.php',
    'wp-admin/import-rss.php',
    'wp-admin/import-textpattern.php',
    'wp-admin/quicktags.js',
    'wp-images/fade-butt.png',
    'wp-images/get-firefox.png',
    'wp-images/header-shadow.png',
    'wp-images/smilies',
    'wp-images/wp-small.png',
    'wp-images/wpminilogo.png',
    'wp.php',
    // 2.0.8
    'wp-includes/js/tinymce/plugins/inlinepopups/readme.txt',
    // 2.1
    'wp-admin/edit-form-ajax-cat.php',
    'wp-admin/execute-pings.php',
    'wp-admin/inline-uploading.php',
    'wp-admin/link-categories.php',
    'wp-admin/list-manipulation.js',
    'wp-admin/list-manipulation.php',
    'wp-includes/comment-functions.php',
    'wp-includes/feed-functions.php',
    'wp-includes/functions-compat.php',
    'wp-includes/functions-formatting.php',
    'wp-includes/functions-post.php',
    'wp-includes/js/dbx-key.js',
    'wp-includes/js/tinymce/plugins/autosave/langs/cs.js',
    'wp-includes/js/tinymce/plugins/autosave/langs/sv.js',
    'wp-includes/links.php',
    'wp-includes/pluggable-functions.php',
    'wp-includes/template-functions-author.php',
    'wp-includes/template-functions-category.php',
    'wp-includes/template-functions-general.php',
    'wp-includes/template-functions-links.php',
    'wp-includes/template-functions-post.php',
    'wp-includes/wp-l10n.php',
    // 2.2
    'wp-admin/cat-js.php',
    'wp-admin/import/b2.php',
    'wp-includes/js/autosave-js.php',
    'wp-includes/js/list-manipulation-js.php',
    'wp-includes/js/wp-ajax-js.php',
    // 2.3
    'wp-admin/admin-db.php',
    'wp-admin/cat.js',
    'wp-admin/categories.js',
    'wp-admin/custom-fields.js',
    'wp-admin/dbx-admin-key.js',
    'wp-admin/edit-comments.js',
    'wp-admin/install-rtl.css',
    'wp-admin/install.css',
    'wp-admin/upgrade-schema.php',
    'wp-admin/upload-functions.php',
    'wp-admin/upload-rtl.css',
    'wp-admin/upload.css',
    'wp-admin/upload.js',
    'wp-admin/users.js',
    'wp-admin/widgets-rtl.css',
    'wp-admin/widgets.css',
    'wp-admin/xfn.js',
    'wp-includes/js/tinymce/license.html',
    // 2.5
    'wp-admin/css/upload.css',
    'wp-admin/images/box-bg-left.gif',
    'wp-admin/images/box-bg-right.gif',
    'wp-admin/images/box-bg.gif',
    'wp-admin/images/box-butt-left.gif',
    'wp-admin/images/box-butt-right.gif',
    'wp-admin/images/box-butt.gif',
    'wp-admin/images/box-head-left.gif',
    'wp-admin/images/box-head-right.gif',
    'wp-admin/images/box-head.gif',
    'wp-admin/images/heading-bg.gif',
    'wp-admin/images/login-bkg-bottom.gif',
    'wp-admin/images/login-bkg-tile.gif',
    'wp-admin/images/notice.gif',
    'wp-admin/images/toggle.gif',
    'wp-admin/includes/upload.php',
    'wp-admin/js/dbx-admin-key.js',
    'wp-admin/js/link-cat.js',
    'wp-admin/profile-update.php',
    'wp-admin/templates.php',
    'wp-includes/images/wlw/WpComments.png',
    'wp-includes/images/wlw/WpIcon.png',
    'wp-includes/images/wlw/WpWatermark.png',
    'wp-includes/js/dbx.js',
    'wp-includes/js/fat.js',
    'wp-includes/js/list-manipulation.js',
    'wp-includes/js/tinymce/langs/en.js',
    'wp-includes/js/tinymce/plugins/autosave/editor_plugin_src.js',
    'wp-includes/js/tinymce/plugins/autosave/langs',
    'wp-includes/js/tinymce/plugins/directionality/images',
    'wp-includes/js/tinymce/plugins/directionality/langs',
    'wp-includes/js/tinymce/plugins/inlinepopups/css',
    'wp-includes/js/tinymce/plugins/inlinepopups/images',
    'wp-includes/js/tinymce/plugins/inlinepopups/jscripts',
    'wp-includes/js/tinymce/plugins/paste/images',
    'wp-includes/js/tinymce/plugins/paste/jscripts',
    'wp-includes/js/tinymce/plugins/paste/langs',
    'wp-includes/js/tinymce/plugins/spellchecker/classes/HttpClient.class.php',
    'wp-includes/js/tinymce/plugins/spellchecker/classes/TinyGoogleSpell.class.php',
    'wp-includes/js/tinymce/plugins/spellchecker/classes/TinyPspell.class.php',
    'wp-includes/js/tinymce/plugins/spellchecker/classes/TinyPspellShell.class.php',
    'wp-includes/js/tinymce/plugins/spellchecker/css/spellchecker.css',
    'wp-includes/js/tinymce/plugins/spellchecker/images',
    'wp-includes/js/tinymce/plugins/spellchecker/langs',
    'wp-includes/js/tinymce/plugins/spellchecker/tinyspell.php',
    'wp-includes/js/tinymce/plugins/wordpress/images',
    'wp-includes/js/tinymce/plugins/wordpress/langs',
    'wp-includes/js/tinymce/plugins/wordpress/wordpress.css',
    'wp-includes/js/tinymce/plugins/wphelp',
    'wp-includes/js/tinymce/themes/advanced/css',
    'wp-includes/js/tinymce/themes/advanced/images',
    'wp-includes/js/tinymce/themes/advanced/jscripts',
    'wp-includes/js/tinymce/themes/advanced/langs',
    // 2.5.1
    'wp-includes/js/tinymce/tiny_mce_gzip.php',
    // 2.6
    'wp-admin/bookmarklet.php',
    'wp-includes/js/jquery/jquery.dimensions.min.js',
    'wp-includes/js/tinymce/plugins/wordpress/popups.css',
    'wp-includes/js/wp-ajax.js',
    // 2.7
    'wp-admin/css/press-this-ie-rtl.css',
    'wp-admin/css/press-this-ie.css',
    'wp-admin/css/upload-rtl.css',
    'wp-admin/edit-form.php',
    'wp-admin/images/comment-pill.gif',
    'wp-admin/images/comment-stalk-classic.gif',
    'wp-admin/images/comment-stalk-fresh.gif',
    'wp-admin/images/comment-stalk-rtl.gif',
    'wp-admin/images/del.png',
    'wp-admin/images/gear.png',
    'wp-admin/images/media-button-gallery.gif',
    'wp-admin/images/media-buttons.gif',
    'wp-admin/images/postbox-bg.gif',
    'wp-admin/images/tab.png',
    'wp-admin/images/tail.gif',
    'wp-admin/js/forms.js',
    'wp-admin/js/upload.js',
    'wp-admin/link-import.php',
    'wp-includes/images/audio.png',
    'wp-includes/images/css.png',
    'wp-includes/images/default.png',
    'wp-includes/images/doc.png',
    'wp-includes/images/exe.png',
    'wp-includes/images/html.png',
    'wp-includes/images/js.png',
    'wp-includes/images/pdf.png',
    'wp-includes/images/swf.png',
    'wp-includes/images/tar.png',
    'wp-includes/images/text.png',
    'wp-includes/images/video.png',
    'wp-includes/images/zip.png',
    'wp-includes/js/tinymce/tiny_mce_config.php',
    'wp-includes/js/tinymce/tiny_mce_ext.js',
    // 2.8
    'wp-admin/js/users.js',
    'wp-includes/js/swfupload/plugins/swfupload.documentready.js',
    'wp-includes/js/swfupload/plugins/swfupload.graceful_degradation.js',
    'wp-includes/js/swfupload/swfupload_f9.swf',
    'wp-includes/js/tinymce/plugins/autosave',
    'wp-includes/js/tinymce/plugins/paste/css',
    'wp-includes/js/tinymce/utils/mclayer.js',
    'wp-includes/js/tinymce/wordpress.css',
    // 2.8.5
    'wp-admin/import/btt.php',
    'wp-admin/import/jkw.php',
    // 2.9
    'wp-admin/js/page.dev.js',
    'wp-admin/js/page.js',
    'wp-admin/js/set-post-thumbnail-handler.dev.js',
    'wp-admin/js/set-post-thumbnail-handler.js',
    'wp-admin/js/slug.dev.js',
    'wp-admin/js/slug.js',
    'wp-includes/gettext.php',
    'wp-includes/js/tinymce/plugins/wordpress/js',
    'wp-includes/streams.php',
    // MU
    'README.txt',
    'htaccess.dist',
    'index-install.php',
    'wp-admin/css/mu-rtl.css',
    'wp-admin/css/mu.css',
    'wp-admin/images/site-admin.png',
    'wp-admin/includes/mu.php',
    'wp-admin/wpmu-admin.php',
    'wp-admin/wpmu-blogs.php',
    'wp-admin/wpmu-edit.php',
    'wp-admin/wpmu-options.php',
    'wp-admin/wpmu-themes.php',
    'wp-admin/wpmu-upgrade-site.php',
    'wp-admin/wpmu-users.php',
    'wp-includes/images/wordpress-mu.png',
    'wp-includes/wpmu-default-filters.php',
    'wp-includes/wpmu-functions.php',
    'wpmu-settings.php',
    // 3.0
    'wp-admin/categories.php',
    'wp-admin/edit-category-form.php',
    'wp-admin/edit-page-form.php',
    'wp-admin/edit-pages.php',
    'wp-admin/images/admin-header-footer.png',
    'wp-admin/images/browse-happy.gif',
    'wp-admin/images/ico-add.png',
    'wp-admin/images/ico-close.png',
    'wp-admin/images/ico-edit.png',
    'wp-admin/images/ico-viewpage.png',
    'wp-admin/images/fav-top.png',
    'wp-admin/images/screen-options-left.gif',
    'wp-admin/images/wp-logo-vs.gif',
    'wp-admin/images/wp-logo.gif',
    'wp-admin/import',
    'wp-admin/js/wp-gears.dev.js',
    'wp-admin/js/wp-gears.js',
    'wp-admin/options-misc.php',
    'wp-admin/page-new.php',
    'wp-admin/page.php',
    'wp-admin/rtl.css',
    'wp-admin/rtl.dev.css',
    'wp-admin/update-links.php',
    'wp-admin/wp-admin.css',
    'wp-admin/wp-admin.dev.css',
    'wp-includes/js/codepress',
    'wp-includes/js/codepress/engines/khtml.js',
    'wp-includes/js/codepress/engines/older.js',
    'wp-includes/js/jquery/autocomplete.dev.js',
    'wp-includes/js/jquery/autocomplete.js',
    'wp-includes/js/jquery/interface.js',
    'wp-includes/js/scriptaculous/prototype.js',
    'wp-includes/js/tinymce/wp-tinymce.js',
    // 3.1
    'wp-admin/edit-attachment-rows.php',
    'wp-admin/edit-link-categories.php',
    'wp-admin/edit-link-category-form.php',
    'wp-admin/edit-post-rows.php',
    'wp-admin/images/button-grad-active-vs.png',
    'wp-admin/images/button-grad-vs.png',
    'wp-admin/images/fav-arrow-vs-rtl.gif',
    'wp-admin/images/fav-arrow-vs.gif',
    'wp-admin/images/fav-top-vs.gif',
    'wp-admin/images/list-vs.png',
    'wp-admin/images/screen-options-right-up.gif',
    'wp-admin/images/screen-options-right.gif',
    'wp-admin/images/visit-site-button-grad-vs.gif',
    'wp-admin/images/visit-site-button-grad.gif',
    'wp-admin/link-category.php',
    'wp-admin/sidebar.php',
    'wp-includes/classes.php',
    'wp-includes/js/tinymce/blank.htm',
    'wp-includes/js/tinymce/plugins/media/css/content.css',
    'wp-includes/js/tinymce/plugins/media/img',
    'wp-includes/js/tinymce/plugins/safari',
    // 3.2
    'wp-admin/images/logo-login.gif',
    'wp-admin/images/star.gif',
    'wp-admin/js/list-table.dev.js',
    'wp-admin/js/list-table.js',
    'wp-includes/default-embeds.php',
    'wp-includes/js/tinymce/plugins/wordpress/img/help.gif',
    'wp-includes/js/tinymce/plugins/wordpress/img/more.gif',
    'wp-includes/js/tinymce/plugins/wordpress/img/toolbars.gif',
    'wp-includes/js/tinymce/themes/advanced/img/fm.gif',
    'wp-includes/js/tinymce/themes/advanced/img/sflogo.png',
    // 3.3
    'wp-admin/css/colors-classic-rtl.css',
    'wp-admin/css/colors-classic-rtl.dev.css',
    'wp-admin/css/colors-fresh-rtl.css',
    'wp-admin/css/colors-fresh-rtl.dev.css',
    'wp-admin/css/dashboard-rtl.dev.css',
    'wp-admin/css/dashboard.dev.css',
    'wp-admin/css/global-rtl.css',
    'wp-admin/css/global-rtl.dev.css',
    'wp-admin/css/global.css',
    'wp-admin/css/global.dev.css',
    'wp-admin/css/install-rtl.dev.css',
    'wp-admin/css/login-rtl.dev.css',
    'wp-admin/css/login.dev.css',
    'wp-admin/css/ms.css',
    'wp-admin/css/ms.dev.css',
    'wp-admin/css/nav-menu-rtl.css',
    'wp-admin/css/nav-menu-rtl.dev.css',
    'wp-admin/css/nav-menu.css',
    'wp-admin/css/nav-menu.dev.css',
    'wp-admin/css/plugin-install-rtl.css',
    'wp-admin/css/plugin-install-rtl.dev.css',
    'wp-admin/css/plugin-install.css',
    'wp-admin/css/plugin-install.dev.css',
    'wp-admin/css/press-this-rtl.dev.css',
    'wp-admin/css/press-this.dev.css',
    'wp-admin/css/theme-editor-rtl.css',
    'wp-admin/css/theme-editor-rtl.dev.css',
    'wp-admin/css/theme-editor.css',
    'wp-admin/css/theme-editor.dev.css',
    'wp-admin/css/theme-install-rtl.css',
    'wp-admin/css/theme-install-rtl.dev.css',
    'wp-admin/css/theme-install.css',
    'wp-admin/css/theme-install.dev.css',
    'wp-admin/css/widgets-rtl.dev.css',
    'wp-admin/css/widgets.dev.css',
    'wp-admin/includes/internal-linking.php',
    'wp-includes/images/admin-bar-sprite-rtl.png',
    'wp-includes/js/jquery/ui.button.js',
    'wp-includes/js/jquery/ui.core.js',
    'wp-includes/js/jquery/ui.dialog.js',
    'wp-includes/js/jquery/ui.draggable.js',
    'wp-includes/js/jquery/ui.droppable.js',
    'wp-includes/js/jquery/ui.mouse.js',
    'wp-includes/js/jquery/ui.position.js',
    'wp-includes/js/jquery/ui.resizable.js',
    'wp-includes/js/jquery/ui.selectable.js',
    'wp-includes/js/jquery/ui.sortable.js',
    'wp-includes/js/jquery/ui.tabs.js',
    'wp-includes/js/jquery/ui.widget.js',
    'wp-includes/js/l10n.dev.js',
    'wp-includes/js/l10n.js',
    'wp-includes/js/tinymce/plugins/wplink/css',
    'wp-includes/js/tinymce/plugins/wplink/img',
    'wp-includes/js/tinymce/plugins/wplink/js',
    'wp-includes/js/tinymce/themes/advanced/img/wpicons.png',
    'wp-includes/js/tinymce/themes/advanced/skins/wp_theme/img/butt2.png',
    'wp-includes/js/tinymce/themes/advanced/skins/wp_theme/img/button_bg.png',
    'wp-includes/js/tinymce/themes/advanced/skins/wp_theme/img/down_arrow.gif',
    'wp-includes/js/tinymce/themes/advanced/skins/wp_theme/img/fade-butt.png',
    'wp-includes/js/tinymce/themes/advanced/skins/wp_theme/img/separator.gif',
    // Don't delete, yet: 'wp-rss.php',
    // Don't delete, yet: 'wp-rdf.php',
    // Don't delete, yet: 'wp-rss2.php',
    // Don't delete, yet: 'wp-commentsrss2.php',
    // Don't delete, yet: 'wp-atom.php',
    // Don't delete, yet: 'wp-feed.php',
    // 3.4
    'wp-admin/images/gray-star.png',
    'wp-admin/images/logo-login.png',
    'wp-admin/images/star.png',
    'wp-admin/index-extra.php',
    'wp-admin/network/index-extra.php',
    'wp-admin/user/index-extra.php',
    'wp-admin/images/screenshots/admin-flyouts.png',
    'wp-admin/images/screenshots/coediting.png',
    'wp-admin/images/screenshots/drag-and-drop.png',
    'wp-admin/images/screenshots/help-screen.png',
    'wp-admin/images/screenshots/media-icon.png',
    'wp-admin/images/screenshots/new-feature-pointer.png',
    'wp-admin/images/screenshots/welcome-screen.png',
    'wp-includes/css/editor-buttons.css',
    'wp-includes/css/editor-buttons.dev.css',
    'wp-includes/js/tinymce/plugins/paste/blank.htm',
    'wp-includes/js/tinymce/plugins/wordpress/css',
    'wp-includes/js/tinymce/plugins/wordpress/editor_plugin.dev.js',
    'wp-includes/js/tinymce/plugins/wordpress/img/embedded.png',
    'wp-includes/js/tinymce/plugins/wordpress/img/more_bug.gif',
    'wp-includes/js/tinymce/plugins/wordpress/img/page_bug.gif',
    'wp-includes/js/tinymce/plugins/wpdialogs/editor_plugin.dev.js',
    'wp-includes/js/tinymce/plugins/wpeditimage/css/editimage-rtl.css',
    'wp-includes/js/tinymce/plugins/wpeditimage/editor_plugin.dev.js',
    'wp-includes/js/tinymce/plugins/wpfullscreen/editor_plugin.dev.js',
    'wp-includes/js/tinymce/plugins/wpgallery/editor_plugin.dev.js',
    'wp-includes/js/tinymce/plugins/wpgallery/img/gallery.png',
    'wp-includes/js/tinymce/plugins/wplink/editor_plugin.dev.js',
    // Don't delete, yet: 'wp-pass.php',
    // Don't delete, yet: 'wp-register.php',
    // 3.5
    'wp-admin/gears-manifest.php',
    'wp-admin/includes/manifest.php',
    'wp-admin/images/archive-link.png',
    'wp-admin/images/blue-grad.png',
    'wp-admin/images/button-grad-active.png',
    'wp-admin/images/button-grad.png',
    'wp-admin/images/ed-bg-vs.gif',
    'wp-admin/images/ed-bg.gif',
    'wp-admin/images/fade-butt.png',
    'wp-admin/images/fav-arrow-rtl.gif',
    'wp-admin/images/fav-arrow.gif',
    'wp-admin/images/fav-vs.png',
    'wp-admin/images/fav.png',
    'wp-admin/images/gray-grad.png',
    'wp-admin/images/loading-publish.gif',
    'wp-admin/images/logo-ghost.png',
    'wp-admin/images/logo.gif',
    'wp-admin/images/menu-arrow-frame-rtl.png',
    'wp-admin/images/menu-arrow-frame.png',
    'wp-admin/images/menu-arrows.gif',
    'wp-admin/images/menu-bits-rtl-vs.gif',
    'wp-admin/images/menu-bits-rtl.gif',
    'wp-admin/images/menu-bits-vs.gif',
    'wp-admin/images/menu-bits.gif',
    'wp-admin/images/menu-dark-rtl-vs.gif',
    'wp-admin/images/menu-dark-rtl.gif',
    'wp-admin/images/menu-dark-vs.gif',
    'wp-admin/images/menu-dark.gif',
    'wp-admin/images/required.gif',
    'wp-admin/images/screen-options-toggle-vs.gif',
    'wp-admin/images/screen-options-toggle.gif',
    'wp-admin/images/toggle-arrow-rtl.gif',
    'wp-admin/images/toggle-arrow.gif',
    'wp-admin/images/upload-classic.png',
    'wp-admin/images/upload-fresh.png',
    'wp-admin/images/white-grad-active.png',
    'wp-admin/images/white-grad.png',
    'wp-admin/images/widgets-arrow-vs.gif',
    'wp-admin/images/widgets-arrow.gif',
    'wp-admin/images/wpspin_dark.gif',
    'wp-includes/images/upload.png',
    'wp-includes/js/prototype.js',
    'wp-includes/js/scriptaculous',
    'wp-admin/css/wp-admin-rtl.dev.css',
    'wp-admin/css/wp-admin.dev.css',
    'wp-admin/css/media-rtl.dev.css',
    'wp-admin/css/media.dev.css',
    'wp-admin/css/colors-classic.dev.css',
    'wp-admin/css/customize-controls-rtl.dev.css',
    'wp-admin/css/customize-controls.dev.css',
    'wp-admin/css/ie-rtl.dev.css',
    'wp-admin/css/ie.dev.css',
    'wp-admin/css/install.dev.css',
    'wp-admin/css/colors-fresh.dev.css',
    'wp-includes/js/customize-base.dev.js',
    'wp-includes/js/json2.dev.js',
    'wp-includes/js/comment-reply.dev.js',
    'wp-includes/js/customize-preview.dev.js',
    'wp-includes/js/wplink.dev.js',
    'wp-includes/js/tw-sack.dev.js',
    'wp-includes/js/wp-list-revisions.dev.js',
    'wp-includes/js/autosave.dev.js',
    'wp-includes/js/admin-bar.dev.js',
    'wp-includes/js/quicktags.dev.js',
    'wp-includes/js/wp-ajax-response.dev.js',
    'wp-includes/js/wp-pointer.dev.js',
    'wp-includes/js/hoverIntent.dev.js',
    'wp-includes/js/colorpicker.dev.js',
    'wp-includes/js/wp-lists.dev.js',
    'wp-includes/js/customize-loader.dev.js',
    'wp-includes/js/jquery/jquery.table-hotkeys.dev.js',
    'wp-includes/js/jquery/jquery.color.dev.js',
    'wp-includes/js/jquery/jquery.color.js',
    'wp-includes/js/jquery/jquery.hotkeys.dev.js',
    'wp-includes/js/jquery/jquery.form.dev.js',
    'wp-includes/js/jquery/suggest.dev.js',
    'wp-admin/js/xfn.dev.js',
    'wp-admin/js/set-post-thumbnail.dev.js',
    'wp-admin/js/comment.dev.js',
    'wp-admin/js/theme.dev.js',
    'wp-admin/js/cat.dev.js',
    'wp-admin/js/password-strength-meter.dev.js',
    'wp-admin/js/user-profile.dev.js',
    'wp-admin/js/theme-preview.dev.js',
    'wp-admin/js/post.dev.js',
    'wp-admin/js/media-upload.dev.js',
    'wp-admin/js/word-count.dev.js',
    'wp-admin/js/plugin-install.dev.js',
    'wp-admin/js/edit-comments.dev.js',
    'wp-admin/js/media-gallery.dev.js',
    'wp-admin/js/custom-fields.dev.js',
    'wp-admin/js/custom-background.dev.js',
    'wp-admin/js/common.dev.js',
    'wp-admin/js/inline-edit-tax.dev.js',
    'wp-admin/js/gallery.dev.js',
    'wp-admin/js/utils.dev.js',
    'wp-admin/js/widgets.dev.js',
    'wp-admin/js/wp-fullscreen.dev.js',
    'wp-admin/js/nav-menu.dev.js',
    'wp-admin/js/dashboard.dev.js',
    'wp-admin/js/link.dev.js',
    'wp-admin/js/user-suggest.dev.js',
    'wp-admin/js/postbox.dev.js',
    'wp-admin/js/tags.dev.js',
    'wp-admin/js/image-edit.dev.js',
    'wp-admin/js/media.dev.js',
    'wp-admin/js/customize-controls.dev.js',
    'wp-admin/js/inline-edit-post.dev.js',
    'wp-admin/js/categories.dev.js',
    'wp-admin/js/editor.dev.js',
    'wp-includes/js/tinymce/plugins/wpeditimage/js/editimage.dev.js',
    'wp-includes/js/tinymce/plugins/wpdialogs/js/popup.dev.js',
    'wp-includes/js/tinymce/plugins/wpdialogs/js/wpdialog.dev.js',
    'wp-includes/js/plupload/handlers.dev.js',
    'wp-includes/js/plupload/wp-plupload.dev.js',
    'wp-includes/js/swfupload/handlers.dev.js',
    'wp-includes/js/jcrop/jquery.Jcrop.dev.js',
    'wp-includes/js/jcrop/jquery.Jcrop.js',
    'wp-includes/js/jcrop/jquery.Jcrop.css',
    'wp-includes/js/imgareaselect/jquery.imgareaselect.dev.js',
    'wp-includes/css/wp-pointer.dev.css',
    'wp-includes/css/editor.dev.css',
    'wp-includes/css/jquery-ui-dialog.dev.css',
    'wp-includes/css/admin-bar-rtl.dev.css',
    'wp-includes/css/admin-bar.dev.css',
    'wp-includes/js/jquery/ui/jquery.effects.clip.min.js',
    'wp-includes/js/jquery/ui/jquery.effects.scale.min.js',
    'wp-includes/js/jquery/ui/jquery.effects.blind.min.js',
    'wp-includes/js/jquery/ui/jquery.effects.core.min.js',
    'wp-includes/js/jquery/ui/jquery.effects.shake.min.js',
    'wp-includes/js/jquery/ui/jquery.effects.fade.min.js',
    'wp-includes/js/jquery/ui/jquery.effects.explode.min.js',
    'wp-includes/js/jquery/ui/jquery.effects.slide.min.js',
    'wp-includes/js/jquery/ui/jquery.effects.drop.min.js',
    'wp-includes/js/jquery/ui/jquery.effects.highlight.min.js',
    'wp-includes/js/jquery/ui/jquery.effects.bounce.min.js',
    'wp-includes/js/jquery/ui/jquery.effects.pulsate.min.js',
    'wp-includes/js/jquery/ui/jquery.effects.transfer.min.js',
    'wp-includes/js/jquery/ui/jquery.effects.fold.min.js',
    'wp-admin/images/screenshots/captions-1.png',
    'wp-admin/images/screenshots/captions-2.png',
    'wp-admin/images/screenshots/flex-header-1.png',
    'wp-admin/images/screenshots/flex-header-2.png',
    'wp-admin/images/screenshots/flex-header-3.png',
    'wp-admin/images/screenshots/flex-header-media-library.png',
    'wp-admin/images/screenshots/theme-customizer.png',
    'wp-admin/images/screenshots/twitter-embed-1.png',
    'wp-admin/images/screenshots/twitter-embed-2.png',
    'wp-admin/js/utils.js',
    'wp-admin/options-privacy.php',
    'wp-app.php',
    'wp-includes/class-wp-atom-server.php',
    'wp-includes/js/tinymce/themes/advanced/skins/wp_theme/ui.css',
    // 3.5.2
    'wp-includes/js/swfupload/swfupload-all.js',
    // 3.6
    'wp-admin/js/revisions-js.php',
    'wp-admin/images/screenshots',
    'wp-admin/js/categories.js',
    'wp-admin/js/categories.min.js',
    'wp-admin/js/custom-fields.js',
    'wp-admin/js/custom-fields.min.js',
    // 3.7
    'wp-admin/js/cat.js',
    'wp-admin/js/cat.min.js',
    'wp-includes/js/tinymce/plugins/wpeditimage/js/editimage.min.js',
    // 3.8
    'wp-includes/js/tinymce/themes/advanced/skins/wp_theme/img/page_bug.gif',
    'wp-includes/js/tinymce/themes/advanced/skins/wp_theme/img/more_bug.gif',
    'wp-includes/js/thickbox/tb-close-2x.png',
    'wp-includes/js/thickbox/tb-close.png',
    'wp-includes/images/wpmini-blue-2x.png',
    'wp-includes/images/wpmini-blue.png',
    'wp-admin/css/colors-fresh.css',
    'wp-admin/css/colors-classic.css',
    'wp-admin/css/colors-fresh.min.css',
    'wp-admin/css/colors-classic.min.css',
    'wp-admin/js/about.min.js',
    'wp-admin/js/about.js',
    'wp-admin/images/arrows-dark-vs-2x.png',
    'wp-admin/images/wp-logo-vs.png',
    'wp-admin/images/arrows-dark-vs.png',
    'wp-admin/images/wp-logo.png',
    'wp-admin/images/arrows-pr.png',
    'wp-admin/images/arrows-dark.png',
    'wp-admin/images/press-this.png',
    'wp-admin/images/press-this-2x.png',
    'wp-admin/images/arrows-vs-2x.png',
    'wp-admin/images/welcome-icons.png',
    'wp-admin/images/wp-logo-2x.png',
    'wp-admin/images/stars-rtl-2x.png',
    'wp-admin/images/arrows-dark-2x.png',
    'wp-admin/images/arrows-pr-2x.png',
    'wp-admin/images/menu-shadow-rtl.png',
    'wp-admin/images/arrows-vs.png',
    'wp-admin/images/about-search-2x.png',
    'wp-admin/images/bubble_bg-rtl-2x.gif',
    'wp-admin/images/wp-badge-2x.png',
    'wp-admin/images/wordpress-logo-2x.png',
    'wp-admin/images/bubble_bg-rtl.gif',
    'wp-admin/images/wp-badge.png',
    'wp-admin/images/menu-shadow.png',
    'wp-admin/images/about-globe-2x.png',
    'wp-admin/images/welcome-icons-2x.png',
    'wp-admin/images/stars-rtl.png',
    'wp-admin/images/wp-logo-vs-2x.png',
    'wp-admin/images/about-updates-2x.png',
    // 3.9
    'wp-admin/css/colors.css',
    'wp-admin/css/colors.min.css',
    'wp-admin/css/colors-rtl.css',
    'wp-admin/css/colors-rtl.min.css',
    'wp-admin/css/media-rtl.min.css',
    'wp-admin/css/media.min.css',
    'wp-admin/css/farbtastic-rtl.min.css',
    'wp-admin/images/lock-2x.png',
    'wp-admin/images/lock.png',
    'wp-admin/js/theme-preview.js',
    'wp-admin/js/theme-install.min.js',
    'wp-admin/js/theme-install.js',
    'wp-admin/js/theme-preview.min.js',
    'wp-includes/js/plupload/plupload.html4.js',
    'wp-includes/js/plupload/plupload.html5.js',
    'wp-includes/js/plupload/changelog.txt',
    'wp-includes/js/plupload/plupload.silverlight.js',
    'wp-includes/js/plupload/plupload.flash.js',
    'wp-includes/js/plupload/plupload.js',
    'wp-includes/js/tinymce/plugins/spellchecker',
    'wp-includes/js/tinymce/plugins/inlinepopups',
    'wp-includes/js/tinymce/plugins/media/js',
    'wp-includes/js/tinymce/plugins/media/css',
    'wp-includes/js/tinymce/plugins/wordpress/img',
    'wp-includes/js/tinymce/plugins/wpdialogs/js',
    'wp-includes/js/tinymce/plugins/wpeditimage/img',
    'wp-includes/js/tinymce/plugins/wpeditimage/js',
    'wp-includes/js/tinymce/plugins/wpeditimage/css',
    'wp-includes/js/tinymce/plugins/wpgallery/img',
    'wp-includes/js/tinymce/plugins/wpfullscreen/css',
    'wp-includes/js/tinymce/plugins/paste/js',
    'wp-includes/js/tinymce/themes/advanced',
    'wp-includes/js/tinymce/tiny_mce.js',
    'wp-includes/js/tinymce/mark_loaded_src.js',
    'wp-includes/js/tinymce/wp-tinymce-schema.js',
    'wp-includes/js/tinymce/plugins/media/editor_plugin.js',
    'wp-includes/js/tinymce/plugins/media/editor_plugin_src.js',
    'wp-includes/js/tinymce/plugins/media/media.htm',
    'wp-includes/js/tinymce/plugins/wpview/editor_plugin_src.js',
    'wp-includes/js/tinymce/plugins/wpview/editor_plugin.js',
    'wp-includes/js/tinymce/plugins/directionality/editor_plugin.js',
    'wp-includes/js/tinymce/plugins/directionality/editor_plugin_src.js',
    'wp-includes/js/tinymce/plugins/wordpress/editor_plugin.js',
    'wp-includes/js/tinymce/plugins/wordpress/editor_plugin_src.js',
    'wp-includes/js/tinymce/plugins/wpdialogs/editor_plugin_src.js',
    'wp-includes/js/tinymce/plugins/wpdialogs/editor_plugin.js',
    'wp-includes/js/tinymce/plugins/wpeditimage/editimage.html',
    'wp-includes/js/tinymce/plugins/wpeditimage/editor_plugin.js',
    'wp-includes/js/tinymce/plugins/wpeditimage/editor_plugin_src.js',
    'wp-includes/js/tinymce/plugins/fullscreen/editor_plugin_src.js',
    'wp-includes/js/tinymce/plugins/fullscreen/fullscreen.htm',
    'wp-includes/js/tinymce/plugins/fullscreen/editor_plugin.js',
    'wp-includes/js/tinymce/plugins/wplink/editor_plugin_src.js',
    'wp-includes/js/tinymce/plugins/wplink/editor_plugin.js',
    'wp-includes/js/tinymce/plugins/wpgallery/editor_plugin_src.js',
    'wp-includes/js/tinymce/plugins/wpgallery/editor_plugin.js',
    'wp-includes/js/tinymce/plugins/tabfocus/editor_plugin.js',
    'wp-includes/js/tinymce/plugins/tabfocus/editor_plugin_src.js',
    'wp-includes/js/tinymce/plugins/wpfullscreen/editor_plugin.js',
    'wp-includes/js/tinymce/plugins/wpfullscreen/editor_plugin_src.js',
    'wp-includes/js/tinymce/plugins/paste/editor_plugin.js',
    'wp-includes/js/tinymce/plugins/paste/pasteword.htm',
    'wp-includes/js/tinymce/plugins/paste/editor_plugin_src.js',
    'wp-includes/js/tinymce/plugins/paste/pastetext.htm',
    'wp-includes/js/tinymce/langs/wp-langs.php',
    // 4.1
    'wp-includes/js/jquery/ui/jquery.ui.accordion.min.js',
    'wp-includes/js/jquery/ui/jquery.ui.autocomplete.min.js',
    'wp-includes/js/jquery/ui/jquery.ui.button.min.js',
    'wp-includes/js/jquery/ui/jquery.ui.core.min.js',
    'wp-includes/js/jquery/ui/jquery.ui.datepicker.min.js',
    'wp-includes/js/jquery/ui/jquery.ui.dialog.min.js',
    'wp-includes/js/jquery/ui/jquery.ui.draggable.min.js',
    'wp-includes/js/jquery/ui/jquery.ui.droppable.min.js',
    'wp-includes/js/jquery/ui/jquery.ui.effect-blind.min.js',
    'wp-includes/js/jquery/ui/jquery.ui.effect-bounce.min.js',
    'wp-includes/js/jquery/ui/jquery.ui.effect-clip.min.js',
    'wp-includes/js/jquery/ui/jquery.ui.effect-drop.min.js',
    'wp-includes/js/jquery/ui/jquery.ui.effect-explode.min.js',
    'wp-includes/js/jquery/ui/jquery.ui.effect-fade.min.js',
    'wp-includes/js/jquery/ui/jquery.ui.effect-fold.min.js',
    'wp-includes/js/jquery/ui/jquery.ui.effect-highlight.min.js',
    'wp-includes/js/jquery/ui/jquery.ui.effect-pulsate.min.js',
    'wp-includes/js/jquery/ui/jquery.ui.effect-scale.min.js',
    'wp-includes/js/jquery/ui/jquery.ui.effect-shake.min.js',
    'wp-includes/js/jquery/ui/jquery.ui.effect-slide.min.js',
    'wp-includes/js/jquery/ui/jquery.ui.effect-transfer.min.js',
    'wp-includes/js/jquery/ui/jquery.ui.effect.min.js',
    'wp-includes/js/jquery/ui/jquery.ui.menu.min.js',
    'wp-includes/js/jquery/ui/jquery.ui.mouse.min.js',
    'wp-includes/js/jquery/ui/jquery.ui.position.min.js',
    'wp-includes/js/jquery/ui/jquery.ui.progressbar.min.js',
    'wp-includes/js/jquery/ui/jquery.ui.resizable.min.js',
    'wp-includes/js/jquery/ui/jquery.ui.selectable.min.js',
    'wp-includes/js/jquery/ui/jquery.ui.slider.min.js',
    'wp-includes/js/jquery/ui/jquery.ui.sortable.min.js',
    'wp-includes/js/jquery/ui/jquery.ui.spinner.min.js',
    'wp-includes/js/jquery/ui/jquery.ui.tabs.min.js',
    'wp-includes/js/jquery/ui/jquery.ui.tooltip.min.js',
    'wp-includes/js/jquery/ui/jquery.ui.widget.min.js',
    );
    <end node> 5P9i0s8y19Z
    dt=
    <node>uploads
    1
    wpconfig.php file
    define( 'UPLOADS', 'uploads/' );
    <end node> 5P9i0s8y19Z
    dt=
    <node>urls
    1
    https://wordpress.org/plugins/bulletproof-security/installation/
    http://clicknathan.com/web-design/include-wordpress-page/
    How to Include a WordPress Page on Another WP Page or Part of Your Theme (without using a Plugin)
    Dec052012
    So you have some content from one WordPress post or page and you want to include it elsewhere in your theme. Perhaps you have a “Store Hours” page that you’d like to be able to only update once and have it show in various spots of your website, not just on that particular page.
    The following snippet of code shows you how to tell PHP to grab a particular page via get_pages, and then sets two variables depending on that page’s content and title.
    The last line shows you how to output the content.
    $include = get_pages('include=4177');
    $content = apply_filters('the_content',$include[0]->post_content);
    $title = apply_filters('the_title',$include[0]->post_title); echo '<h1>'.$title.'</h1>'; echo $content;
    Remember to change the 4177 to whatever the ID of your particular page is, and note that you don’t need to keep the last “echo” line in there, you could use that elsewhere in your template.
    <end node> 5P9i0s8y19Z
    dt=
    <node>How to Include a WordPress Page
    2
    <h1>How to Include a WordPress Page on Another WP Page or Part of Your Theme (without using a Plugin)</h1>
    <?php
        $pages = get_pages('include=144');
        $count = 0;
        foreach($pages as $page)
        {
            $content = $page->post_content;
            if(!$content)
                continue;
            if($count >= 2)
                break;
            $count++;
            $content = apply_filters('the_content', $content);
        ?>
            <div class=\\"entry\\"><?php echo $content ?></div>
        <?php
        }
    ?>
                    
                        <time datetime="2012-12-05"><span>Dec</span><span>05</span><span>2012</span></time>
                        
                                            
                                            
                    </header>
                        
                    <p>So you have some content from one WordPress post or page and you want to include it elsewhere in your theme. Perhaps you have a “Store Hours” page that you’d like to be able to only update once and have it show in various spots of your website, not just on that particular page.</p>
    <p>The following snippet of code shows you how to tell PHP to grab a particular page via <code>get_pages</code>, and then sets two variables depending on that page’s content and title. </p>
    <p>The last line shows you how to output the content.</p>
    <div class="code-snippet">
    <code>$include = get_pages('include=4177');<br>
    $content = apply_filters('the_content',$include[0]->post_content);<br>
    $title = apply_filters('the_title',$include[0]->post_title);<br>
    echo '<h1>'.$title.'</h1>'; echo $content;    </code>
    </div>
    <p><strong>Remember to change the <code>4177</code> to whatever the ID of your particular page is</strong>, and note that you don’t need to keep the last “echo” line in there, you could use that elsewhere in your template.</p>
    <end node> 5P9i0s8y19Z
    dt=
    <node>Stupid WordPress Tricks
    2
    http://perishablepress.com/stupid-wordpress-tricks/
    Perishable Press
    WordPress, Web Design, Code & Tutorials
        Tutorials
        Plugins
        Archives
        Demos
        Tools
    New book on WordPress Theme Development: WordPress Themes In Depth
    x
    « Getting Serious with a New Design
    The New Clearfix Method »
    Stupid WordPress Tricks
    [ WordPress ]
    One of the most popular articles here at Perishable Press is my January 2005 post, Stupid htaccess Tricks. In that article, I bring together an extensive collection of awesome copy-&-paste HTAccess code snippets. Four years later, people continue to tell me how much they enjoy and use the content as a bookmarked reference for many of their HTAccess needs. The article was even published in a book on Joomla! Security.
    This is very inspiring to me, so I have decided to create a similar post for all of the useful WordPress code snippets, tips and tricks that I have collected while working on Digging into WordPress, the new book by co-author Chris Coyier and myself that really “digs in” to all of the awesome ways to get the most out of WordPress. While writing the DiW book, I collected hundreds of incredibly useful WordPress tips and tricks. After packing the book with as many of these techniques as possible, I decided to share the “best of the rest” here at Perishable Press.
    If you are one of the millions of people who use WordPress, this article will help you improve the appearance, functionality, and performance of your WordPress-powered websites. Each of these “stupid WordPress tricks” is presented as clearly and succinctly as possible, including as many notes, instructions, and pointers as needed for successful implementation. Of course, keep in mind that we are only scratching the surface here. For a much more complete resource that is packed with tons of tasty techniques, you need to get Digging into WordPress.
    So now, without further ado, here is my personal collection of easy-to-use, copy-&-paste WordPress tricks. Enjoy! :)
    Table of Contents
        WordPress Shortcodes
        WordPress Permalinks Outside of the Loop
        Custom Message to Returning Visitors
        Recently Updated Posts and Pages
        Custom Content to Search Engine Visitors
        Last Modified Time and Date for Posts
        Display Total Number of Trackbacks and Pingbacks
        Display Recently Registered Users
        List all of Your Site’s Posts
        List WordPress User Information
        Display List of Scheduled Posts
        Display Private Posts to Logged-in Users
        Display Posts from Exactly One Year Ago
        Custom CSS Styles for Recent Posts
        New WordPress-2.7 Comments Loop
        Backwards-Compatible Comment Templates
        Disable WordPress Post Revisions
        Limit WordPress Post Revisions
        Remove WordPress Post Revisions from the Database
        Reduce Comment Spam by Blocking No-Referrer Requests
        Prevent Google Analytics from Tracking Admin Pages
        Meta Descriptions without a Plugin
        Differentiate Between Posts Depending on Presence of Excerpt
        Modify the wp_options Table via the WordPress Admin
        Alternate Comment Styles
        Automatically Remove Code Mistakes in Posts
        Automatically Disable Comments and Trackbacks in Old Posts
        Access Post Data Outside the Loop
        Display Posts for a Specified Time Period
        Unique Single Post Templates for Different Categories
        Display Performance Statistics for WordPress Pages
        Custom Post Thumbnails in Two Steps
        Highlight Author Comments
        Easy Random Posts
        Display Dates for Groups of Posts
        Display a Sticky Post in the Sidebar
        Display Latest Comments without a Plugin
        Display Most Commented Posts without a Plugin
        Change Permalinks from Date-Based to Post-Date Only
        Test for Sub-Pages
        Multiple Widgetizable Sidebars
        Remove Fancy Quotes from Comments
        Display a List of All Untagged Posts
        Easy Display of Custom Headers, Footers, and Sidebars
        A Better Way for Users to Logout
        Display a Custom Message on a Specific Date
        Display Three Columns of Posts
        Disable WordPress Search Functionality
        Display Posts with Specific Custom Fields
        How to Number Your Comments, Pingbacks, & Trackbacks in 2.7+
        How to Number Your Comments Using the Classic Loop
        Invite Readers to Comment via Feed
        Display the Total Number of Users for Your Blog
        Automatically Insert Content into Your WordPress Post Editor
        How to Prevent Duplicate Content
        Conditionally Display Full Posts or Excerpts
        Display Related Posts without a Plugin
        Drop-Dead Easy Styles for Author Comments
        Display Posts Upcoming Scheduled Posts
        Display Automatic TinyURLs for Your Posts
        Implement a Site-Maintenance Page for Your Blog
        Display the First Image from Each of Your Posts
        Display Most Popular Posts without a Plugin
        Automatically Highlight Search Terms
        Automatically Disable Widgets
        Display All Images from Your Post Content
        Display Category List in Two Columns
        Show Ads or Other Content Only in the First Three Posts
        A Better Way to Display Recent Comments without a Plugin
        Selectively Disable Automatic Post Formatting
        Browser Detection via WordPress’ body_class Function
        Get Post or Page Contents as a PHP Variable
        Simple Example of How to Use WordPress Cron
        Add More Default Avatar Choices to the WordPress Admin
        Add a Private Page to Your Navigation Menu
        How to Add Additional Links to wp_list_pages
    WordPress Shortcodes ?
    Save time by replacing your most commonly typed words and phrases with WordPress shortcodes. For example, if you are frequently typing your blog’s URL, you could place the following code your theme’s functions.php file:
    function shortURL() {
        return 'http://perishablepress.com/';
    }
    add_shortcode('myurl', 'shortURL');
    Now whenever I write a post via “HTML-mode”, all I need to include my blog’s URL is type “[myurl]”. Works great in WordPress 2.5 or better.
    Shortcodes with Attributes
    To create a shortcode for links, we need to include the href attribute information as well as the anchor text for the link itself. We can do this by placing this function in your theme’s functions.php file:
    function shortLink($atts, $content = null) {
        extract(shortcode_atts(array(
            "href" => 'http://' // default URL
        ), $atts));
        return '<a href="'.$href.'">'.$content.'</a>';
    }
    add_shortcode('link', 'shortLink');
    Then, when creating a post, emulate the following format to include any links you wish:
    [link href="http://perishablepress.com/"]Perishable Press[/link]
    ..which will output the following code:
    <a href="http://perishablepress.com/">Perishable Press</a>
    When the href attribute is removed from the shortcode, the default URL will be used. You may specify the default URL in the third line of the funtion (see comment).
    Source: Digging into WordPress
    Display WordPress Permalinks Outside of the Loop ?
    Normally, permalink display via the_permalink() requires the loop. To display permalinks outside of the loop, we may use either of the following methods:
    <!-- external permalink via post ID -->
    <a href="<?php echo get_permalink(33); ?>" >Permalink</a>
    <!-- external permalink via global $post variable -->
    <a href="<?php echo get_permalink($post->ID); ?>" >Permalink</a>
    Source: Julien Chauvin (404 link removed 2013/06/27)
    Display Custom Message to Returning Visitors ?
    We can greet returning commentators with a custom message by extracting their information from the comment cookie left on their machine. Place the following code into the desired location in your theme and customize the message and markup to whatever you wish:
    <?php if(isset($_COOKIE['comment_author_'.COOKIEHASH])) {
        $lastCommenter = $_COOKIE['comment_author_'.COOKIEHASH];
        echo "Welcome Back ". $lastCommenter ."!";
        } else {
        echo "Welcome, Guest!";
    } ?>
    Source: ifohdesigns (404 link removed 2012/09/14)
    Display Recently Updated Posts and Pages ?
    Easily display a list of recently updated posts by placing the following code into the desired location in your theme:
    <?php
    $today  = current_time('mysql', 1);
    $number = 5; // number of posts
    if($recentposts = $wpdb->get_results("SELECT ID, post_title FROM $wpdb->posts WHERE post_status = 'publish' AND post_modified_gmt < '$today' ORDER BY post_modified_gmt DESC LIMIT $number")):
    ?>
    <h2><?php _e("Recently Updated"); ?></h2>
    <ul>
    <?php
    foreach($recentposts as $post) {
        if($post->post_title == '') $post->post_title = sprintf(__('Post #%s'), $post->ID);
        echo '<li><a href="'.get_permalink($post->ID).'">'.the_title().'</a></li>';
    } ?>
    </ul>
    <?php endif; ?>
    Of course, customize the details as necessary and remember to set the number of posts via the “$howMany” variable.
    Source: Corey (404 link removed 2014/06/08)
    Display Custom Content to Search Engine Visitors ?
    Display custom content to your search-engine traffic by placing the following code into your theme’s functions.php file:
    <?php function scratch99_fromasearchengine() {
        $ref = $_SERVER['HTTP_REFERER'];
        $SE  = array('/search?', 'images.google.', 'web.info.com', 'search.', 'del.icio.us/search', 'soso.com', '/search/', '.yahoo.');
        
        foreach($SE as $source) {
            if(strpos($ref, $source) !== false) return true;
        }
        return false;
    } ?>
    After checking and editing the $SE array with the search-engine referrer information of your choice, place this next chunk of code into the desired display location in your theme file(s):
    <?php if(function_exists('scratch99_fromasearchengine')) {
        if (scratch99_fromasearchengine()) {
            // INSERT YOUR CODE HERE
        }
    } ?>
    Add whatever content or code you wish to the specified area and enjoy targeted delivery to search-engine visitors only.
    Source: Stephen Cronin
    Display Last Modified Time and Date for Posts ?
    Display the “last-modified” time for your posts by placing this code anywhere within the loop:
    Posted on <?php the_time('F jS, Y') ?>
    <?php $u_time = get_the_time('U');
    $u_modified_time = get_the_modified_time('U');
    if($u_modified_time != $u_time) {
        echo "and last modified on ";
        the_modified_time('F jS, Y');
        echo ". ";
    } ?>
    Source: Kyle Eslick
    Display Total Number of Trackbacks and Pingbacks ?
    Display the trackback/pingback count for each of your posts by first placing this code into your theme’s functions.php file:
    function comment_count() {
        global $wpdb;
        $count = "SELECT COUNT(*) FROM $wpdb->comments WHERE comment_type = 'pingback' OR comment_type = 'trackback'";
        echo $wpdb->get_var($count);
    }
    And then call the number for display anywhere in your theme by adding this code to the desired location:
    <?php comment_count(); ?>
    Alternately, in WordPress 2.7, you may display the total number of comments by inserting this code directly into your comments.php template:
    <?php if(!empty($comments_by_type['comment'])) :
        $count = count($comments_by_type['comment']);
        ($count !== 1) ? $txt = "Comments" : $txt = "Comment";
    ?>
    <h3><?php echo $count . " " . $txt; ?></h3>
    Edit the markup as desired. Will display “” or “”, depending on the number of comments.
    Source: WPengineer.com
    Display Recently Registered Users ?
    Quick and easy method for displaying a list of recently registered users. Place the following code directly into your theme, wherever you would like to display the list:
    <ul>
        <?php $usernames = $wpdb->get_results("SELECT user_nicename, user_url FROM $wpdb->users ORDER BY ID DESC LIMIT 5");
            foreach ($usernames as $username) {
                    echo '<li><a href="'.$username->user_url.'">'.$username->user_nicename."</a></li>";
            }
        ?>
    </ul>
    As-is, this code will spit out the five most recent registered users. This is easily changed to whatever number you wish by simply editing the number “5” in the first line.
    Source: WPRecipes.com
    List all of Your Site’s Posts ?
    If the default wp_get_archives(type=postbypost&limit=) function doesn’t provide enough flexibility to meet your needs, here is another way to list all of your site’s posts:
    <?php while(have_posts()) : the_post(); ?>
    <ul>
        <?php $allposts = get_posts('numberposts=-1&offset=0'); foreach($allposts as $post) : ?>
        <li><?php the_time('d/m/y'); ?>: <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
        <?php endforeach; ?>
    </ul>
    <?php endwhile; ?>
    In place, that code will display a list of all of your blog’s posts. As a bonus, you may use any of the applicable parameters available to the get_posts() function to do just about anything you need with your posts list.
    Source: WPRecipes.com
    List WordPress User Information ?
    Here is an easy way to display flexible lists of your blog’s registered users’ information. In this example, we will list the first and last name of each user registered in the database:
    <ul>
    <?php $szSort = "user_nicename";  
    $aUsersID = $wpdb->get_col($wpdb->prepare("SELECT $wpdb->users.ID FROM $wpdb->users ORDER BY %s ASC", $szSort));
        foreach($aUsersID as $iUserID) :
            $user = get_userdata($iUserID);
            echo '<li>'.ucwords(strtolower($user->first_name.' '.$user->last_name)).'</li>';
        endforeach;
    ?>
    </ul>
    The following variables may be used to display different types of user information and also to specify the sort order of the output list:
        ID - User ID number
        user_login - User Login name
        user_nicename - nice version of login name
        user_email - User Email Address
        user_url - User Website URL
        user_registered - User Registration date
    To display any of these different types of user information, call it with $user->name_of_the_column anywhere within the function’s foreach() loop. To change the display order of the output, use any of the above as the value of the $szSort variable in the first line of the function. Note that strtolower and ucwords are used to ensure proper capitalization of the user names.
    Source: Matt Varone
    Display List of Scheduled Posts ?
    Got scheduled posts? Cool. Here’s how to display them to your readers:
    <ul>
    <?php $my_query = new WP_Query('post_status=future&order=DESC&showposts=5');
    if ($my_query->have_posts()) {
        while ($my_query->have_posts()) : $my_query->the_post(); $do_not_duplicate = $post->ID; ?>
            <li><?php the_title(); ?></li>
        <?php endwhile; } ?>
    </ul>
    Place that code in the desired location of your WordPress template and display a list of scheduled posts to your readers. To change the total number of displayed posts, edit the showposts=5 parameter to any number you wish. You may also use other parameters available to the WP_Query() function to further customize the output.
    Source: Pascal Birchler
    Display Private Posts to Logged-in Users ?
    To display private posts to your logged-in users, you will need to add a custom field called “private” for each private post and give it a value of “true”. Then, replace your default WordPress loop with the following:
    <?php if (have_posts()) : while (have_posts()) : the_post();
        $private = get_post_custom_values("private");
        if (isset($private[0]) && $private == "true") {
            if (is_user_logged_in()) {
                // Display private post to logged user
            }
        } else {
            // Display public post to everyone
        }
    endwhile; endif; ?>
    This custom loop will check each post for the presence of a custom-field value of true. For each post that has this value, the loop will then check to see if the user is logged into your site. If the user is in fact logged in, the loop will display the private post(s). Public posts will be displayed as usual and regardless of whether the user is logged in or not.
    Source: Digging into WordPress
    Display Posts from Exactly One Year Ago ?
    Use this code to display posts that are exactly one year old:
    <?php
    $current_day = date('j');
    $last_year   = date('Y')-1;
    ?>
    <?php query_posts('day='.$current_day.'&year='.$last_year);
        if (have_posts()): while (have_posts()) : the_post(); ?>
        <h1><?php the_title(); ?></h1>
        <?php the_excerpt(); ?>
    <?php endwhile; endif; ?>
    To display posts from different days or different years, edit the two variables in the beginning of the method.
    Custom CSS Styles for Recent Posts ?
    Use some custom CSS styles to highlight your recent posts. To do this, replace your existing loop with the following:
    <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
        $currentdate = date('Y-m-d',mktime(0,0,0,date('m'),date('d'),date('Y')));
        $postdate = get_the_time('Y-m-d');
        if ($postdate == $currentdate) {
            echo '<div class="post new">';
        } else {
            echo '<div class="post">';
        } ?>
            <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
        </div>
    <?php endwhile; endif; ?>
    This new loop will check the date of each post and include a CSS class of “new” to any post published within the previous 24-hour time period. Once the new post class is included, you may style it with some custom CSS such as the following:
    .post{
        /* styles for all posts */
        }
    .post.new {
        /* styles for new posts */
        }
    Source: Fred jaillet [via] WPRecipes.com
    New WordPress-2.7 Comments Loop ?
    Due to the changes made to comment-related functions in WordPress 2.7, you will need to upgrade your comments template in order accomodate for the new functionality. The major changes are the new wp_list_comments() function and the next/previous_comments_link() functions. Here is an example comments.php loop to get you started:
    <?php if (have_comments()) : ?>
        <h4><?php comments_number('No Comments', 'One Comment', '% Comments' );?></h4>
        <ul class="commentlist">
            <?php wp_list_comments(); ?>
        </ul>
        <div class="navigation">
            <div class="alignleft"><?php previous_comments_link(); ?></div>
            <div class="alignright"><?php next_comments_link(); ?></div>
        </div>
    <?php else : // if there are no comments so far ?>
        <?php if ('open' == $post->comment_status) : ?>
            <p>Comments are open, but there are no comments.</p>
        <?php else : ?>
            <p>Comments are closed, and there are no comments.</p>
        <?php endif; ?>
    <?php endif; ?>
    As you can see, we are now using the wp_list_comments() function as the method by which our individual comments are displayed. This function wraps each comment with a set of <li> elements, but this may be changed via customized parameters. We are also using the next/previous_comments_link() functions to accommodate the new built-in paged comments feature.
    Source: Digging into WordPress
    Backwards-Compatible Comment Templates ?
    The easiest way to accommodate for both old (pre-2.7) and new (2.7+) WordPress comment loops is to create two different versions of the comments template and then use some conditional logic to process the correct file. Place the 2.7-compatible code from the previous section into your default comments.php file, and then place your existing (pre-2.7) comments code into a file called legacy-comments.php. Once you have both of these files setup and included among your theme files, place the following function in your theme’s functions.php file:
    <?php add_filter('comments_template', 'legacy_comments');
    function legacy_comments($file) {
        if(!function_exists('wp_list_comments')) : // WP 2.7-only check
            $file = TEMPLATEPATH.'/legacy-comments.php';
        endif;
        return $file;
    } ?>
    This code will then check for the presence of the new wp_list_comments() function. If it exists, then the version of WordPress is at least 2.7, and the default comments.php file will be used. If the new function doesn’t exist, we have a dinosaur on our hands and so the legacy comments file will be used instead.
    Source: Justin Tadlock
    Disable WordPress Post Revisions ?
    One of the new features rolled out in WordPress 2.6 involved post revisions. Revisions are a way for users to keep a working collection of each different version of a post and then revert back to it in the future if necessary. Some people think this is the greatest thing since lightsabers, others (such as myself) find it to be a royal pain in the database. It convolutes the Admin area, gobbles up disk space, and usually doesn’t work as intended. Fortunately, we can disable this amazing new “feature” (which should NOT have been included in the core) by adding the following line to the wp-config.php file:
    /* disable post-revisioning nonsense */
    define('WP_POST_REVISIONS', FALSE);
    Just place that line above the “Happy blogging” comment and say goodbye to needless revisioning bloat.
    Source: Digging into WordPress
    Limit WordPress Post Revisions ?
    If you like the idea of WordPress-2.6’s new post-revisioning feature, but don’t want thousands of extra records bloating up your database, here is an easy way to limit the total number of revisions that WordPress is allowed to keep. This code will instruct WordPress to keep only the most recent “x” number of revisions:
    /* limit number of post revisions */
    define('WP_POST_REVISIONS', 3);
    Place that line above the “Happy blogging” comment in the wp-config.php file and enjoy conserved disk space and less Admin clutter. Change the number “3” to any number you wish. Works a treat.
    Source: Digging into WordPress
    Remove WordPress Post Revisions from the Database ?
    In line with the previous two sections, here we will remove all existing post revisions from the WordPress database. This is useful if you have disabled the post-revisioning feature or perhaps even reduced the total number of allowed revisions. The easiest way to do this is to run the following SQL command via your favorite database interface (such as my personal favorite, phpMyAdmin):
    DELETE a,b,c FROM wp_posts a LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id) LEFT JOIN wp_postmeta c ON (a.ID = c.post_id) WHERE a.post_type = 'revision';
    Note that if you have changed the default WordPress database table prefix to something other than “wp_”, you will want to edit the command to reflect the correct prefix information. This information is available in your site’s wp-config.php file. Also note that you should backup your database before casting any SQL spells on it.
    Upon successful execution of the above command, all data associated with post revisions will be removed the database. This includes the post revisions themselves and all the meta data associated with each revision.
    Credit: Andrei Neculau
    Reduce Comment Spam by Blocking No-Referrer Requests ?
    As explained in my article, denying access to no-referrer requests, you can greatly reduce the number of spam comments by eliminating all direct requests for your blog’s comments-post.php file. This will block automated spam scripts from bypassing your comments form by hitting the comment processing script directly. Here are two ways to block no-referrer comment requests, one uses HTAccess and the other uses PHP. Here is the HTAccess method:
    RewriteEngine On
    RewriteCond %{REQUEST_METHOD} POST
    RewriteCond %{REQUEST_URI} .wp-comments-post.php
    RewriteCond %{HTTP_REFERER} !domain.tld [OR]
    RewriteCond %{HTTP_USER_AGENT} ^$
    RewriteRule (.*) http://%{REMOTE_ADDR}/$ [R=301,L]
    Place that code in your site’s root HTAccess file and edit the “domain.tld” to match your own domain. Once in place, this code will redirect any request for your blog’s comments-post.php file that didn’t originate from your site back to the URL from whence it came.
    This may also be accomplished via PHP. Place the following function in your theme’s functions.php file:
    function check_referrer() {
        if (!isset($_SERVER['HTTP_REFERER']) || $_SERVER['HTTP_REFERER'] == '') {
            wp_die(__('Please do not access this file directly.'));
        }
    }
    add_action('check_comment_flood', 'check_referrer');
    Source: Perishable Press
    Prevent Google Analytics from Tracking Admin Pages ?
    This handy snippet will prevent Google Analytics from tracking your Admin pages or anything else that you wish. Replace your default Google Analytics code with the following:
    <?php if (!current_user_can('level_10')) { ?>
        /* Google Analytics Code */
    <?php } ?>
    This code will then include your Google Analytics code only on non-Admin pages. This in turn will prevent Google Analytics from gathering statistics about your Admin pages. Note that the basic functionality of this method is great for restricting just about anything - scripts, markup, content - to logged-in administrators.
    Meta Descriptions without a Plugin ?
    We don’t need no stinkin’ plugin for custom meta descriptions. All you need is a custom field named “metadescription” with the desired meta description for each post. Once you have that going, include the following function to your theme’s header.php file (within the <head> section:
    <meta name="description" content="
    <?php if ((is_home()) || (is_front_page())) {
        echo ('Your main description goes here');
    } elseif(is_category()) {
        echo category_description();
    } elseif(is_tag()) {
        echo 'Tag archive page for this blog - ' . single_tag_title();
    } elseif(is_month()) {
        echo 'Archive page for this blog - ' . the_time('F, Y');
    } else {
        echo get_post_meta($post->ID, 'metadescription', true);
    } ?>" />
    This function enables you to customize the descriptions for various types of pages, such as the home page, category pages, tag archives, and so on. For single post-view pages, this function will display the value of the metadescription custom field.
    Source: Malcolm Coles (404 link removed)
    Differentiate Between Posts Depending on Presence of Excerpt ?
    Here is a quick conditional snippet that displays different content depending on the presence of an excerpt:
    <?php if(!empty($post->post_excerpt)) {
        // this post has an excerpt, so display it:
        the_excerpt();
    } else {
        // this post has no excerpt, so display something else instead:
        the_content();
    } ?>
    Placed inside the loop, this code will check each post for an excerpt. If one is found, the excerpt is displayed; otherwise, the code specified in the else condition is displayed.
    Modify the wp_options Table via the WordPress Admin ?
    As you probably know, the wp_options table stores a great deal of useful information, including everything from custom-field values, plugin settings, blog information, and much more. If any table in the WordPress database needs its own friendly user-interface, this would be it.
    Normally, you would access the wp_options table using a database interface such as phpMyAdmin. This certainly works, but there is a much easier way to work with the options table, especially if you are already logged into WordPress. Once logged in to the Admin area, navigate to the following URL:
    http://domain.tld/wp-admin/options.php
    This will open a “secret” Admin page that provides editable options fields for every record in the wp_options table. Bookmark this page, and save yourself a trip to phpMyAdmin!
    Source: Digging into WordPress
    Alternate Comment Styles ?
    Alternating comments for old versions of WordPress (pre-2.7)
    This is one of the oldest tricks in the book, but it is still a favorite. Alternating comment styles is a great way to enhance usability and add some stylistic flair to your comments display. The trick is to add an alternating set of classes - odd or even - to the containing element of each comment. While there are many ways to do this, here is one of the easiest. Open your comments.php and modify the comments loop as follows:
    <ul>
        <?php $i = 0; ?>
        <?php foreach ($comments as $comment) : ?>
        <?php $i++; ?>
        <li id="comment-<?php comment_ID(); ?>" <?php if($i&1) { echo 'class="odd"'; } else { echo 'class="even"'; } ?>>
            <?php comment_text(); ?>
        </li>
        <php endforeach; ?>
    </ul>
    With that code in place, your comments will now have alternating CSS classes with which to apply custom styles to your oddly and evenly numbered comments:
    .odd {
        background: white;
        color: black;
        }
    .even {
        background: black;
        color: white;
        }
    Alternating comments for old versions of WordPress (pre-2.7)
    In WordPress 2.7 and better, comments automagically include “odd” and “even” classes for oddly and evenly numbered comments, respectively. This makes it a snap to throw down your own custom CSS styles for each of these classes.
    Credit: WordPress Garage
    Automatically Remove Code Mistakes in Posts ?
    Here is a handy trick that will automatically remove basic mistakes in XHTML markup, such as empty paragraphs, inline font styles, and more. Place this function in your functions.php file:
    function clean_bad_content($bPrint = false) {
        global $post;
        $szPostContent  = $post->post_content;
        $szRemoveFilter = array("~<p[^>]*>\\s?</p>~", "~<a[^>]*>\\s?</a>~", "~<font[^>]*>~", "~<\\/font>~", "~style\\=\\"[^\\"]*\\"~", "~<span[^>]*>\\s?</span>~");
        $szPostContent  = preg_replace($szRemoveFilter, '', $szPostContent);
        $szPostContent  = apply_filters('the_content', $szPostContent);
        if ($bPrint == false) return $szPostContent;
        else echo $szPostContent;
    }
    Once in place, use the following function call to display your “cleaned” content in the loop:
    <?php if (function_exists('clean_bad_content')) clean_bad_content(true); ?>
    Note that the clean_bad_content() accepts a boolean argument (true or false) specifying whether or not to print the function output.
    Credit: Matt Varone
    Automatically Disable Comments and Trackbacks in Old Posts ?
    Here is yet another method for auto-disabling comments and trackbacks on old posts. This function automatically closes comments and trackbacks after the specified number of days. Add the following to your functions.php file:
    <?php function autoclose_comments() {
        global $wpdb, $tableposts;
        if (!isset($tableposts))
            $tableposts = $wpdb->posts;
            $age = '21 DAY';

            $date = $wpdb->get_var("SELECT DATE_ADD(DATE_SUB(CURDATE(), INTERVAL $age), INTERVAL 1 DAY)");
            $wpdb->query("UPDATE $tableposts SET comment_status = 'closed' WHERE comment_status = 'open' AND post_status = 'publish' AND post_date < '$date'");
    }
    function autoclose_trackback() {
        global $wpdb, $tableposts;
        if (!isset($tableposts))
            $tableposts = $wpdb->posts;
            $age = '21 DAY';

            $date = $wpdb->get_var("SELECT DATE_ADD(DATE_SUB(CURDATE(), INTERVAL $age), INTERVAL 1 DAY)");
            $wpdb->query("UPDATE $tableposts SET ping_status = 'closed' WHERE comment_status = 'open' AND post_status = 'publish' AND post_date < '$date'");
    }
    add_action('publish_post',   'autoclose_trackback', 7);
    add_action('edit_post',      'autoclose_trackback', 7);
    add_action('delete_post',    'autoclose_trackback', 7);
    add_action('comment_post',   'autoclose_trackback', 7);
    add_action('trackback_post', 'autoclose_trackback', 7);
    add_action('pingback_post',  'autoclose_trackback', 7);
    add_action('edit_comment',   'autoclose_trackback', 7);
    add_action('delete_comment', 'autoclose_trackback', 7);
    add_action('template_save',  'autoclose_trackback', 7);

    add_action('publish_post',   'autoclose_comments', 7);
    add_action('edit_post',      'autoclose_comments', 7);
    add_action('delete_post',    'autoclose_comments', 7);
    add_action('comment_post',   'autoclose_comments', 7);
    add_action('trackback_post', 'autoclose_comments', 7);
    add_action('pingback_post',  'autoclose_comments', 7);
    add_action('edit_comment',   'autoclose_comments', 7);
    add_action('delete_comment', 'autoclose_comments', 7);
    add_action('template_save',  'autoclose_comments', 7);
    ?>
    Once in place, you may change the number of days allowed for comments and trackbacks to stay open by editing the two instances of the $age variable to whatever you wish. No other editing or code is required for this function to operate effectively. The function is executed automatically upon various posting actions. Note that this function is included in newer versions of WordPress (2.7 or better), and is therefore only required for older versions.
    Source: WP EngineerPlugin: Autoclose
    Access Post Data Outside the Loop ?
    The easiest way to access and display post data outside of the loop is to use the built-in WordPress core function get_post(); however, for more control over the process, check out this nifty little function from WP Recipes:
    function get_post_data($postId) {
        global $wpdb;
        return $wpdb->get_row("SELECT * FROM $wpdb->posts WHERE ID=$postId");
    }
    Place this function in your functions.php and then add this code to the desired location outside of the loop:
    <?php $data = get_post_data(77);
        echo $data->post_date;     // post date
        echo $data->post_title;    // post title
        echo $data->post_content;  // post content
        echo $data->comment_count; // comments number
    ?>
    For the argument of the function, specify the post ID for which you would like to display data. The function will return an array containing all of the available fields for the specified post (post_title, date, content, author_id, post_id, etc).
    Display Posts for a Specified Time Period ?
    Here is an easy way to create posts that will only be displayed for the duration of a specified time period. Replace your current loop with the following:
    <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
        $expirationtime = get_post_custom_values('expiration');
        if (is_array($expirationtime)) {
            $expirestring = implode($expirationtime);
        }
        $secondsbetween = strtotime($expirestring)-time();
        if ($secondsbetween > 0) { ?>
            <h1><?php the_title(); ?></h1>
            <?php the_excerpt(); ?>
    <?php } endwhile; endif; ?>
    And then add a custom field named “expiration” to any post that needs an expiration date. For the value of the expiration key, specify the date/time in the following format: mm/dd/yyyy 00:00:00. Each post that contains such a custom field will expire after the specified date and time and will no longer appear in the loop.
    Unique Single Post Templates for Different Categories ?
    Here is an easy way to display custom post styles depending on the post’s category. With the following code, each single-view post will be displayed according to a template that is specific to the post’s category:
    <?php $post = $wp_query->post;
    if (in_category('1')) {
        include(TEMPLATEPATH.'/single-01.php');
    } elseif (in_category('2')) {
        include(TEMPLATEPATH.'/single-02.php');
    } else {
        include(TEMPLATEPATH.'/single-default.php');
    } ?>
    This code should be placed in your theme’s single.php file. As written, this code will display posts from the first category with the single template, “single-01.php”; also, posts from the second category will be displayed with a single template named “single-02.php”; finally, all other posts will be displayed via the default single template, “single-default.php”. Of course, you will want to customize the category IDs according to your own needs, and also you will want to create the customized single files as they are called. That’s all there is to it.
    Having said that, here is an alternate version of the custom-post-template script:
    <?php add_filter('single_template', create_function('$t', 'foreach((array) get_the_category() as $cat) { if (file_exists(TEMPLATEPATH . "/single-{$cat->term_id}.php")) return TEMPLATEPATH . "/single-{$cat->term_id}.php"; } return $t;')); ?>
    Placed in your theme’s functions.php file, this alternate script checks all categories for the presence of a custom single template. Any category with a custom single-post template will then have its posts displayed with that template. If a post’s category does not feature a custom template, the default single.php template will be used. Note that this code will use the template for the first listed category of each post. Even so, you should only create custom post templates for categories that will always be mutually exclusive. That is, make sure that your posts aren’t in more than one custom-templated category.
    Source: Austin Matzko
    Display Performance Statistics for WordPress Pages ?
    Everyone is familair with the following information:
    <!-- 33 queries in 0.333 seconds -->
    These statistics are usually seen in the footer area of individual pages and serve as a general indicator of performance. The “queries” refer to the number of times WordPress requested information from the database, while the number of seconds indicates the amount of time required for Apache to generate the page. This information is generated by including the following code in your footer template file (or wherever you would like):
    <!-- <?php echo get_num_queries(); ?> queries in <?php timer_stop(3); ?> seconds -->
    Or, if you don’t like the idea of sharing this information with the entire world, you can limit its display to logged-in administrators only:
    <?php if (current_user_can('level_10')) {
        echo '<!-- ' . get_num_queries() . ' queries in ' . timer_stop(3) . ' seconds -->';
    } ?>
    Easy breezy beautiful!
    Source: Digging into WordPress
    Custom Post Thumbnails in Two Steps ?
    Alright, kids. Time for the ‘ol three-step custom-field tutorial. This time we’re going to implement post thumbnails. You know, representative images for each of your posts that may be displayed anywhere you wish, including outside of the flow of post content, and even outside of the loop. This is a great trick for advanced page layouts. Ready? Sharpen your keystrokes!
    Step 1:
    Open your write panel and create a key called “thumbnail”. Then, for the value of the “thumbnail” key, enter the URL of the thumbnail image for that particular post. Write the post and then publish it as normal. Wash, rinse, repeat to get a nice collection of posts with thumbnails. Or, go back to exisiting posts and add a thumbnail as we have just described.
    Step 2:
    Open your theme template file containing the loop and add the following code to the location where you would like the post thumbnail images to appear:
    <?php $thumbnail = get_post_meta($post->ID, 'image', true); if ($thumbnail) { ?>
    <img src="<?php echo $thumbnail; ?>" alt="" width="100" height="100" />
    <?php } ?>
    That’s it! Don’t forget to edit the width and height attributes of the <img> element to account for the proper image size.
    Source: Perishable Press
    Highlight Author Comments ?
    Make your author comments look fabulous darling! Newer versions of WordPress come equipped with a specific “author” class that may be targeted with the CSS of your choice. For older versions of WordPress, however, you will need to add the custom class attribute with a little PHP magic.
    First, open your theme’s comments.php template and add the following code snippet in the (X)HTML element that contains the comment information:
    <div<?php if ($comment->comment_author_email == "email@domain.tld") echo ' class="author"'; ?> id="comment-<?php comment_ID(); ?>">
    .
    .
    .
    </div>
    After changing the email address to that of your own (i.e., the one used for your WP Admin user profile), style it up with a little CSS:
    .author {
        background: red !important;
        color: yellow   !important;
        }
    You probably don’t want your author comments to appear with yellow text on a red background, but you get the idea. Anything is possible.
    For blogs with multiple authors, you can style each of their comments differently as well by using something like this:
    <div<?php if ($comment->comment_author_email == "email-01@domain.tld") echo ' class="author-01"'; elseif ($comment->comment_author_email == "email-02@domain.tld") echo ' class="author-02"'; elseif ($comment->comment_author_email == "email-03@domain.tld") echo ' class="author-03"'; ?> id="comment-<?php comment_ID(); ?>">
    .
    .
    .
    </div>
    Replace each of the email addresses with those of the various authors. Style to taste.
    Credit: Nyssa Brown (404 link removed)
    Easy Random Posts ?
    Newer versions of WordPress enable easy randomizing of posts by using the (relatively) new “orderby=rand” parameter in any query_posts loop:
    <?php query_posts('orderby=rand"); ?>
    But for older versions of WordPress, this randomizing functionality must be added manually. Here is a quick and painless plugin that will enable you to randomize post queries in older versions:
    <?php
    /*
    Plugin Name: Random Posts Query
    */
    function query_random_posts($query) {
        return query_posts($query . '&random=true');
    }
    class RandomPosts {
        function orderby($orderby) {
            if (get_query_var('random') == 'true')
                return "RAND()";
            else
                return $orderby;
        }
        function register_query_var($vars) {
            $vars[] = 'random';
            return $vars;
        }
    }
    add_filter( 'posts_orderby', array('RandomPosts', 'orderby') );
    add_filter( 'query_vars', array('RandomPosts', 'register_query_var') );
    ?>
    Once activated, invoke the randomness by adding the “random=true” parameter in your query_posts loop:
    <?php query_posts('cat=11&showposts=11&random=true'); ?>
    Here, we are specifying “cat=11” for the category and “showposts=11” for the number of posts to display. There are many other parameters available as well, so knock yourself out.
    Credit: rembem
    Display Dates for Groups of Posts ?
    In order to display the date that a post was published, you have two options:
        <?php the_time(); ?> - displays the date for each and every post
        <?php the_date(); ?> - displays the date only once for each group of posts published on a certain day
    So, if you want to list the post date next to each post, use the the_time(). If, on the other hand, you have multiple posts on any given day, use the_date() to list the post date only once for each days’ posts. Something like this:
    // the_time();
        Jan 01, 2009 - Post #1
        Jan 01, 2009 - Post #2
        Jan 01, 2009 - Post #3
        Jan 02, 2009 - Post #4
        Jan 02, 2009 - Post #5
        Jan 02, 2009 - Post #6
        Jan 03, 2009 - Post #7
        Jan 03, 2009 - Post #8
        Jan 03, 2009 - Post #9
    // the_date();
        Jan 01, 2009
            Post #1
            Post #2
            Post #3
        Jan 02, 2009
            Post #4
            Post #5
            Post #6
        Jan 03, 2009
            Post #7
            Post #8
            Post #9
    See the difference? Good, because I’m not going to explain the concept any further. Instead, I will move on by showing you how to use either template tag in your loop. This really doesn’t need explaining either, but for the sake of completeness, here it is. First, the_time() tag:
    <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
        <h1><?php the_title(); ?></h1>
        <p><?php the_time(); ?><p>
        <?php the_content(); ?>
    <?php endwhile; ?>
    <?php else : ?>
    <?php endif; ?>
    This loop will output the post title, date, and content for every post. Alternately, here is how to use the_date tag:
    <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
        <?php the_date('','<p>','</p><hr />'); ?>
        <h1><?php the_title(); ?></h1>
        <?php the_content(); ?>

    <?php endwhile; ?>
    <?php else : ?>
    <?php endif; ?>
    This loop will output the post title and content for every post, and also output the date for each group of posts published on any given day, as explained above. Notice we are adding the paragraph elements for the post date based on whether or not the date is actually output. If it is, then the date will be wrapped in <p> elements; if it’s not, no <p> elements will be output, thereby preventing repetitive sets of empty paragraph elements. Make sense? Good. Here are the available parameters for the nifty the_date() template tag:
    <?php the_date('date format', 'before the date', 'after the date'); ?>
    Display a Sticky Post in the Sidebar ?
    Here is a juicy little nugget that displays a “sticky” post in the sidebar of your theme:
    <?php
    // initialize new query of one post from category 11
    $my_query = new WP_Query('cat=11&showposts=1');
    // loop through the database to find related information
    while ($my_query->have_posts()) : $my_query->the_post();
    // set expiration time of two days
    $goAwayDate = time() - (60 * 60 * 24 * 2);
    // get date of sticky post
    $postDate = get_the_time('U');
    // if post is too old, do nothing
    if ($postDate < $goAwayDate) {
    // else show the post
    } else { ?>
        <h1><?php the_title(); ?></h1>
        <?php the_excerpt(); ?>
    <?php } endwhile; ?>
    This method employs a second loop to display the sticky post, so it may be placed just about anywhere in your theme’s template files. You can also change the number of days that the post will remain sticky by editing the expiration variable with a number other than "2". For example, to set a duration period of seven days, you would use this:
    $goAwayDate = time() - (60 * 60 * 24 * 7);
    Credit: The Closet Entrepreneur
    Display Latest Comments without a Plugin ?
    Good rule of thumb when working with WordPress: don’t use a plugin if you can acheive the same functionality without one. Case in point: displaying latest comments on your blog. Sure, you could always install a plugin to do it for you, but you really don’t need to. In fact, it’s actually easier to display recent comments without a plugin. SImply add the following code to the desired location within your theme’s template files:
    <?php global $wpdb;
    $sql = "SELECT DISTINCT ID, post_title, post_password, comment_ID,
    comment_post_ID, comment_author, comment_date_gmt, comment_approved,
    comment_type,comment_author_url,
    SUBSTRING(comment_content,1,50) // NUMBER OF CHARACTERS
    AS com_excerpt FROM $wpdb->comments
    LEFT OUTER JOIN $wpdb->posts
    ON ($wpdb->comments.comment_post_ID = $wpdb->posts.ID)
    WHERE comment_approved = '1'
    AND comment_type = ''
    AND post_password = ''
    ORDER BY comment_date_gmt
    DESC LIMIT 5"; // NUMBER OF COMMENTS
    $comments = $wpdb->get_results($sql);
    $output   = $pre_HTML;
    $output  .= "\\n<ul>";
    foreach ($comments as $comment) {
        $output .= "\\n<li>"."<a href=\\"" . get_permalink($comment->ID) .
        "#comment-" . $comment->comment_ID . "\\" title=\\"on " .
        $comment->post_title . "\\">" .strip_tags($comment->comment_author)
        .":<br/><div>" . strip_tags($comment->com_excerpt)
        ."</div></a></li>";
    }
    $output .= "\\n</ul>";
    $output .= $post_HTML;
    echo $output;
    ?>
    This code will display the 5 most recent comments in the following (X)HTML output format:
    <ul>
        <li>
            <a href="http://domain.tld/post#comment-01" title="on Post Title">Comment Author:<br />
            <div>This is the first 50 characters of the first most recent comment</div></a>
        </li>
        <li>
            <a href="http://domain.tld/post#comment-01" title="on Post Title">Comment Author:<br />
            <div>This is the first 50 characters of the first most recent comment</div></a>
        </li>
        <li>
            <a href="http://domain.tld/post#comment-01" title="on Post Title">Comment Author:<br />
            <div>This is the first 50 characters of the first most recent comment</div></a>
        </li>
        <li>
            <a href="http://domain.tld/post#comment-01" title="on Post Title">Comment Author:<br />
            <div>This is the first 50 characters of the first most recent comment</div></a>
        </li>
        <li>
            <a href="http://domain.tld/post#comment-01" title="on Post Title">Comment Author:<br />
            <div>This is the first 50 characters of the first most recent comment</div></a>
        </li>
    </ul>
    By editing the commented lines in the PHP script, you may specify alternate number of comments and characters.
    Source: StylizedWeb
    Display Most Commented Posts without a Plugin ?
    Here is another trick that will enable you avoid yet another needless plugin. This code results in the display of your most-commented posts in list format:
    <ul>
    <?php
    $result = $wpdb->get_results("SELECT comment_count, ID, post_title FROM $wpdb->posts ORDER BY comment_count DESC LIMIT 0 , 10"); // NUMBER OF POSTS
    foreach ($result as $topten) {
        $postid = $topten->ID;
        $title = $topten->post_title;
        $commentcount = $topten->comment_count;
        if ($commentcount != 0) {
    ?>
    <li><a href="<?php echo get_permalink($postid); ?>"><?php echo $title ?></a></li>
    <?php } } ?>
    </ul>
    This code may be modified to display any number of posts by changing the LIMIT from “10” to whatever you wish. You may also change the display order from DESC (descending order) to ASC (ascending order).
    Once in place, this code will display a list of the 10 most-commented posts in the following (X)HTML output format:
    <ul>
    <li><a href="http://domain.tld/post-01/">Post Title 01</a></li>
    <li><a href="http://domain.tld/post-02/">Post Title 02</a></li>
    <li><a href="http://domain.tld/post-03/">Post Title 03</a></li>
    .
    .
    .
    </ul>
    Source: StylizedWeb
    Change Permalinks from Date-Based to Post-Date Only ?
    Here is an HTAccess method for switching your permalinks from the lengthy date-based format (i.e., http://domain.tld/2009/03/03/post-name/) to the concise post-name format (i.e., http://domain.tld/post-name/).
    To do so, first login to the WordPress Admin and switch your permalink structure from this:
    /%year%/%monthnum%/%day%/%postname%/
    ..to this:
    /%postname%/
    This change will ensure that all future posts are located at the new post-name-only URL, but we still need to redirect all requests for existing posts via the old date-based URL format. This is easily accomplished with a single directive in your site’s root HTAccess file:
    RedirectMatch 301 /([0-9]+)/([0-9]+)/([0-9]+)/(.*)$ http://domain.tld/$4
    And that’s all there is to it! Remember to test vigorously to convince yourself that everything is working properly.
    Source: Perishable Press
    Test for Sub-Pages ?
    Until WordPress includes an is_subpage() function, here is a manual method of testing for sub-pages:
    <?php global $post;
    if ( is_page() && $post->post_parent ) {
        // subpage content goes here
    } else {
        // non-subpage content goes here
    } ?>
    Further, here are some other ways to use this method to test for different combinations of pages and sub-pages:
    <?php if (is_page('about') || $post->post_parent == '1') {
        $banner = 'business.png';
    } elseif (is_page('archives') || $post->post_parent == '2') {    
        $banner = 'pleasure.png';
    } elseif (is_page('contact') || $post->post_parent == '3') {
        $banner = 'personal.png';
    } else {
        $banner = 'default.png';
    } ?>
    Note that the numbers “1”, “2”, and “3” represent the IDs of the target parent pages.
    Multiple Widgetizable Sidebars ?
    Instead of using multiple “if” statements to include multiple widgetizable areas, WPEngineer shows us how to do it a better way:
    <?php // multiple widgetizable sidebars
    if (function_exists('register_sidebar')) {
        $sidebars = array('Home Sidebar', 'Post Sidebar', 'Page Sidebar');
        foreach($sidebars as $name) {
            register_sidebar(array('name'=> $name,
                'before_widget' => '<div id="%1$s" class="widget %2$s">',
                'after_widget' => '</div>',
                'before_title' => '<h3 class="widgetTitle">',
                'after_title' => '</h3>',
            ));
        }
    }
    ?>
    Source: wpengineer
    Remove Fancy Quotes from Comments ?
    Prevent invalid markup and sloppy code by disabling WordPress’ automatic generation of “fancy” or “curly” quotes where they fail the most: your comments area.
    Only one simple line of code is required, placed into your theme’s functions.php file:
    remove_filter(‘comment_text’, ‘wptexturize’);
    Source: WPRecipes.com
    Display a List of All Untagged Posts ?
    Here is an easy way to display a list of all untagged posts. All that’s required is a custom loop and a quick check of the get_the_tags variable. Here is the code to make it work:
    <?php query_posts('orderby=title&order=asc&showposts=-1'); ?>
    <?php if (have_posts()) : ?>
        <ul>
        <?php while (have_posts()) : the_post(); ?>
        <?php $tag = get_the_tags(); if (!$tag) { ?>
            <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
            <?php edit_post_link('Edit', ' ',''); ?></li>
        <?php } ?>
        <?php endwhile; ?>
        </ul>
    <?php endif; ?>
    Place that snippet into the theme file of your choice and navigate to that page in a browser to see a permlink-linked list of all posts that have not yet been tagged. Even better, next to each post title will be a an easy-access “Edit” link that will make it easy to quickly edit each of your untagged posts and add some tags, if necessary. Nothing on this planet could be easier. Almost.
    Easy Display of Custom Headers, Footers, and Sidebars ?
    WordPress 2.7 includes new functionality that makes it super-easy to include custom headers, footers, and sidebars into your theme. Normally, you include the default files with the following tags:
    <?php get_header(); ?>
    <?php get_sidebar(); ?>
    <?php get_footer(); ?>
    These will include the files named “header.php”, “sidebar.php”, and “footer.php”, respectively.
    Now, to include alternate versions of these files, simply include the name of the file as a parameter in its associated tag. Here is an example that should illustrate the idea:
    <?php get_header('custom-header'); ?>
    <?php get_sidebar('custom-sidebar'); ?>
    <?php get_footer('custom-footer'); ?>
    These will include the files named “custom-header.php”, “custom-sidebar.php”, and “custom-footer.php”, respectively.
    We can now use this new functionality to get fine-grained with includes. For example, if we wanted to display a custom footer for the “Bananaz” category, we could use the following code:
    <?php if is_category('Bananaz') {
        get_footer('Bananaz');
    } else {
        get_footer();
    } ?>
    Source: WordPress Codex
    A Better Way for Users to Logout ?
    The old way of displaying a “Logout” link for your users looks like this:
    <a href="<?php echo get_option('siteurl'); ?>/wp-login.php?action=logout">Logout</a>
    Now, since WordPress 2.7, we can simplify this hodgepodge with a sleeker, cleaner, built-in template tag:
    <a href="<?php echo wp_logout_url(); ?>">Logout</a>
    Sweetness.
    Display a Custom Message on a Specific Date ?
    Using a snippet of PHP, we can display a custom message (or any code, markup, or content) on a specific date:
    <?php
    if ((date('m') == 4) && (date('d') == 9)) { ?>
        <p>Today is <a href="http://naked.dustindiaz.com/">CSS Naked Day</a>!</p>
    <?php } ?>
    You could even use this technique to join in on CSS Naked Day by removing your stylesheet on that day. Simply wrap your CSS <link> as follows:
    <?php // strip for CSS Naked Day
    if ((date('m') !== 4) && (date('d') !== 9)) { ?>
    <link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); ?>" type="text/css" media="screen" />
    <?php } ?>
    The possibilities are endless!
    Display Three Columns of Posts ?
    Displaying content in multiple columns is a much sought-after WordPress technique. There are some good tutorials around explaining various ways of doing the job, but this one is perhaps the easiest.
    To display your posts in three columns, begin by segmenting your post with some HTML comments:
    Lorem ipsum blah blah. This content appears before the three columns.
    <!--column-->
    This content will appear in the first column.
    <!--column-->
    This content will appear in the second column.
    <!--column-->
    This content will appear in the third column.
    The next step is to create columns based on the markup comments. Open your theme file and include the following code within the loop:
    <?php // multiple columns
    $page_columns = explode("<--column-->", $post->post_content);
    echo $page_columns[0]; // before columns
    echo '<div class="first column">'.$page_columns[1].'</div>'; // first column
    echo '<div class="second column">'.$page_columns[2].'</div>'; // second column
    echo '<div class="third column">'.$page_columns[3].'</div>'; // third column
    ?>
    That’s essentially all there is to it. To get the columns to actually look like columns, add something similar to the following in your CSS file:
    /* column structure */
    .column {
        margin-right: 10px;
        float: left;
        width: 33%;
        }
    /* column styles */
    column.first, column.second, column.third {}
    The cool thing about this method is that you have full control over the layout of each particular post. Each column may contain as much or as little content as desired, and adding or removing columns is straightforward. Even better is that you can easily remove the column functionality and display your content in a single column by simply removing the custom code from the loop. The post markup consists of HTML comments, so they will be ignored if not acted upon from within the loop.
    Source: Enhanced version of krimsly’s technique (via the WP Codex)
    Disable WordPress Search Functionality ?
    Disabling the WordPress search functionality is as simple as adding the following code to your functions.php file:
    function fb_filter_query($query, $error = true) {

        if (is_search()) {
            $query->is_search = false;
            $query->query_vars[s] = false;
            $query->query[s] = false;

            // to error
            if ($error == true)
                $query->is_404 = true;
        }
    }
    if (!is_admin()) {
        add_action('parse_query', 'fb_filter_query');
        add_filter('get_search_form', create_function('$a', "return null;"));
    }
    In place, this code will disable the search form for your theme while leaving search functionality intact for the Admin area. As is, the $error variable is set to TRUE, which causes the function to display the theme’s error page. Setting this variable to FALSE will prevent the error message and keep the user on the same page.
    Source: WPengineer
    Display Posts with Specific Custom Fields ?
    Displaying posts that are associated with a certain custom field is as easy as adding an “if” condition to your loop. Here is an example that checks for the presence of a custom field called “name-of-custom-field”. If such a custom field is associated with the post, the entire post is displayed; otherwise, only the excerpt is displayed.
    <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
    <?php $custom_field = get_post_custom_values("name-of-custom-field"); ?>
        <?php if (isset($custom_field[0])) { ?>
            <h1><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h1>
            <?php the_content(); ?>
        <?php } else { ?>
            <h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
            <?php the_excerpt(); ?>
        <?php } ?>
    <?php endwhile; endif; ?>
    To get more specific and display only posts associated with a custom-field that is set to a certain value, we simply add an additional parameter to the “if” condition:
    <?php if ((isset($custom_field[0])) && ($custom_field[0] == "name-of-value")) { ?>
    Using that line of code, we modify our previous loop as follows:
    <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
    <?php $custom_field = get_post_custom_values("name-of-custom-field"); ?>
        <?php if ((isset($custom_field[0])) && ($custom_field[0] == "name-of-value")) { ?>
            <h1><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h1>
            <?php the_content(); ?>
        <?php } else { ?>
            <h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
            <?php the_excerpt(); ?>
        <?php } ?>
    <?php endwhile; endif; ?>
    With this code, any post with a custom-field of “name-of-custom-field” that has a specific value of “name-of-value” will be displayed in its entirety. All other posts will be displayed as an excerpt.
    Source: Perishable Press
    How to Number Your Comments, Pingbacks, and Trackbacks in 2.7+ ?
    Numbering comments, pingbacks, and trackbacks in WordPress versions 2.7 and greater requires two steps. First, you need to add a couple of parameters to your comments_template tag, which is used to display your comments template and normally located in your single.php file. Edit this tag so that it looks like this:
    <?php comments_template('/comments.php',true); ?>
    Once this is in place, you can display the number of your comments, pingbacks, trackbacks, and both using the following tags:
    echo count($wp_query->comments_by_type['comment']); // display comment count
    echo count($wp_query->comments_by_type['pingback']); // display pingback count
    echo count($wp_query->comments_by_type['trackback']); // display trackback count
    echo count($wp_query->comments_by_type['pings']); // display pingback and trackback count
    comments_number('No Responses', 'One Response', '% Responses' ); // display total response count
    These tags can be placed anywhere in your comments loop. For more information on how to implement this, check out our in-depth article at Digging into WordPress.
    How to Number Your Comments Using the Classic Loop ?
    Before, WordPress added the new comments API in version 2.7, the “classic” comment-loop mechanism was used. This loop still works in any version of WordPress, and is useful for extreme formatting of the comment display area. Numbering your comments in the classic loop is as easy as it is in the new-fangled loop. Here’s how:
    In your comments.php file, add a counter variable ( <?php $i = 0; ?> ) just above the loop’s foreach statement, like so:
    <?php $i = 0; ?>
    <?php foreach ($comments as $comment) : ?>
    Then, to increment the counter variable with each iteration of the loop, we add another snippet just below the foreach line, like so:
    <?php $i = 0; ?>
    <?php foreach ($comments as $comment) : ?>
    <?php $i++; ?>
    Everything is now set. To display the number of comments, simply echo the value of the counter variable anywhere within your comment loop. Here is an example:
    There are comments so far!
    Source: Digging into WordPress
    Invite Readers to Comment via Feed ?
    Nice little snippet showing how to invite your readers to leave a comment by clicking on a link within your feed. Just add the following code to your theme’s functions.php file:
    // comment invite feed link
    function rss_comment_footer($content) {
        if (is_feed()) {
            if (comments_open()) {
                $content .= 'Comments are open! <a href="'.get_permalink().'">Add yours!</a>';
            }
        }
        return $content;
    }
    In place, this function will output a link that says, “Comments are open! Add yours!” This message will be displayed at the end of each post for which comments are open. If comments are closed, no invite message is displayed.
    Source: Hendry Lee
    Display the Total Number of Users for Your Blog ?
    Here is a tasty little snippet from WPRecipes that will enable you to display the total number of users for your WordPress-powered blog. All you need to do is place the following code in your theme file(s) where you would like to display your total number of users:
    $users = $wpdb->get_var("SELECT COUNT(ID) FROM $wpdb->users");
    echo $users." registered users.";
    Source: WPRecipes.com
    Automatically Insert Content into Your WordPress Post Editor ?
    Here is a nice way to automatically insert some custom content into your post editor. This makes it easy to add repetitive content to your posts while retaining the ability to make changes before publishing. To try it out, add the following code to your functions.php file:
    <?php // auto-insert content to post editor
    function my_editor_content($content) {
        $content = "<h5>Thank you for your generous attention!</h5>.";
        return $content;
    }
    add_filter('default_content', 'my_editor_content');
    ?>
    This code will display a message thanking people for their generous attention, but you can easily edit the message to display whatever content (text/markup) that you wish. After configuring your message, open your WordPress text editor to see the automatically inserted content.
    Source: Justin Tadlock
    How to Prevent Duplicate Content ?
    Unless you’re using excerpts for non-single page views, your post content is being displayed in your single pages, date-based archives, category archive, tags archives, author archives, and so on. From an SEO perspective, this “duplicate” content may be detrimental to your search-engine rankings.
    To prevent duplicate content, we can conditionally display one of two <meta> tags depending on the type of page being displayed. Pages that we want to have indexed in the search engines will display a “meta-index” tag, while duplicate pages will display a “meta-noindex” tag.
    To do this, simply add the following code to the <head> section of your theme’s header.php file:
    <?php if ((is_home() && ($paged < 2 )) || is_single() || is_page() || is_category()) {
        echo '<meta name="robots" content="index,archive,follow" />';
    } else {
        echo '<meta name="robots" content="noindex,noarchive,follow" />';
    }
    Once in place, this code effectively stops search engines from indexing all types of pages except for single-post, page-page, category-archive, and the first two index pages. These are considered by many to be the most effective pages to have indexed, but feel free to add or remove anything you see fit to customize the technique.
    Source: Perishable Press
    Conditionally Display Full Posts or Excerpts ?
    By default, you can either display full-posts or excerpts when displaying your posts. This may be fine for common blogging purposes, but specialized blogs may find it beneficial to exercise control over which type of post format is displayed. Here’s how to conditionally display either full-post or excerpt based on the presence of a custom field named “full-post-display”.
    To implement this technique, setup the following loop in your theme file(s):
    <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
    <?php $customdisplay = get_post_custom_values("full-post-display"); ?>
        <?php if (isset($customdisplay[0])) { ?>
                  
            <h1><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h1>
            <?php the_content(); ?>
        <?php } else { ?>
            <h1><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h1>
            <?php the_excerpt(); ?>
        <?php } ?>
    <?php endwhile; endif; ?>
    Then, for any post that you would like to display with full-post formatting, simply add a custom-field of “full-post-display” and give it a value of “true”.
    Display Related Posts without a Plugin ?
    We don’t need no stinking plugins to display related posts! Here’s how to do the job using tags as the associative criteria.
    Place the following code in your loop and take a nap or something:
    <?php // related posts based on first tag of current post
    $tags = wp_get_post_tags($post->ID);
    if ($tags) {
        echo '<h3>Related Posts</h3>';
        $first_tag = $tags[0]->term_id;
        $args = array(
                'tag__in' => array($first_tag),
                'post__not_in' => array($post->ID),
                'showposts' => 7, // how many posts?
                'caller_get_posts' => 1
                );
        $my_query = new WP_Query($args);
          if ($my_query->have_posts()) { ?>
            <ul>
            <?php while ($my_query->have_posts()) : $my_query->the_post(); ?>
                <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
            <?php endwhile; ?>
            </ul>
        <?php } ?>
    <?php } ?>
    Customize as needed. To change the number of posts, edit the line that says, “how many posts?”
    Source: Enhanced version of the code provided by MichaelH (via WP Codex)
    Drop-Dead Easy Styles for Author Comments ?
    This is almost too easy. To make your Author comments stand out from the crowd in WordPress 2.7 or better, use this code to apply some custom CSS stylez:
    li.bypostauthor {
        background: red;
        color: white;
        }
    li.byuser {
        background: white;
        color: black;
        }
    Display Upcoming Scheduled Posts ?
    Here’s an easy way to display a list of posts that are scheduled to be published at some point in the future. Create a page called “Upcoming Posts” (or whatever), and use this code for the loop:
    <?php query_posts('showposts=7&post_status=future'); ?>
    <?php if (have_posts()) : ?>
        <h3>Upcoming Scheduled Posts</h3>
        <ul>
        <?php while (have_posts()) : the_post(); ?>
            <li><?php the_title(); ?> — <?php the_time('l, F j, Y'); ?></li>
        <?php endwhile; ?>
        </ul>
    <?php else: ?>
        <p>Nothing new in queue!</p>
    <?php endif; ?>
    In place, this code will output a list of all posts that exist within the database that have a post_status of “future”. I.e., anything that you have setup in draft mode that is set to auto-publish at a certain point in the future.
    Display Automatic TinyURLs for Your Posts ?
    Make it super-easy for your visitors to share the URL of your posts with their favorite social-media service. Providing an alternate “short” version of your URLs is possible using the free TinyURL service and a couple snippets of code.
    To display short URLs at the end of your posts, place this code into your theme’s functions.php file:
    function getTinyUrl($url) {
        $tinyurl = file_get_contents("http://tinyurl.com/api-create.php?url=".$url);
        return $tinyurl;
    }
    Then, call the function and display the URL by placing this code into your single.php file in the desired location within the loop:
    <?php $turl = getTinyUrl(get_permalink($post->ID));
    echo 'TinyURL for this post: <a href="'.$turl.'">'.$turl.'</a>'; ?>
    That’s it! Your posts now feature super-short URLs for all of your tweet-hungry visitors. Tuper Tweet Tude!
    Source: Perishable Press
    Implement a Site-Maintenance Page for Your Blog ?
    Ever do maintenance on your site? Certainly, we all do. Here’s an easy way to display a “site-maintenance” page that will display whatever content you desire. The key here is setting up your HTAccess file to handle the redirect properly.
    First, you need to create your maintenance page. This can be as simple or as advanced as you would like. At minimum, you could include something like this into a file named “maintenance.html”:
    <h1>Site Maintenance</h1>
    <p>Please check back in 15 minutes</p>
    Then, add this bit of voodoo to your site’s root htaccess file:
    # SITE MAINTENANCE PAGE
    RewriteEngine on
    RewriteCond %{REQUEST_URI} !/maintenance.html$
    RewriteCond %{REMOTE_ADDR} !^111\\.222\\.333\\.444
    RewriteRule $/maintenance.html [R=302,L]
    Once that’s in place, replace the example IP address with that of your own. Upload to your site and check it out. What you will see is that you have full access to your site, but all other visitors will see the maintenance page.
    Once maintenance is complete, simply comment out the code in your htaccess file to allow visitors back into the site.
    Source: Catswhocode
    Display the First Image from Each of Your Posts ?
    If your posts include an image that you would like to display as a thumbnail elsewhere on your blog, here is an easy way to do it with no custom fields required. Place the following code into your theme’s functions.php file:
    function catch_that_image() {
        global $post, $posts;
        $first_img = '';
        ob_start();
        ob_end_clean();
        $output = preg_match_all('/<img.+src=[\\'"]([^\\'"]+)[\\'"].*>/i', $post->post_content, $matches);
        $first_img = $matches [1] [0];
        if(empty($first_img)){
            $first_img = "/images/default.jpg"; // default image
        }  
        return $first_img;
    }
    Then, to call the function and display the images as thumbnails, place the following code into the desired location within your loop:
    <?php echo catch_that_image(); ?>
    That’s all there is to it. If you would like to display a default image for posts that may not have one, specify its path in the code (on the line that says “default image).
    Source: WPRecipes
    Display Most Popular Posts without a Plugin ?
    Simple but effective method of displaying your blog’s most popular posts based on comment count. This code snippet may be placed anywhere within your theme’s files (i.e., no loop required). Check it out:
    <h3>Popular Posts</h3>
    <ul>
    <?php $result = $wpdb->get_results("
        SELECT comment_count, ID, post_title
        FROM $wpdb->posts ORDER BY comment_count DESC LIMIT 0 , 7
        ");
    foreach ($result as $post) {
        setup_postdata($post);
        $postid = $post->ID;
        $title = $post->post_title;
        $commentcount = $post->comment_count;
        if ($commentcount != 0) { ?>
        <li><a href="<?php echo get_permalink($postid); ?>">
        <?php echo $title; ?></a> [<?php echo $commentcount ?>]</li>
        <?php } ?>
    <?php } ?>
    </ul>
    Once in place, this code will display the seven most popular posts along with their associated comment count in unordered list format. Customize according to your needs.
    Source: ProBlogDesign (404 link removed 2013/09/15)
    Automatically Highlight Search Terms ?
    Make things easy for people who are searching your site by applying some custom styling to the search terms that are displayed in the search results. A common way to display search terms is with a yellow background so that users can easily identify locations of the text that may apply to their query. It’s all about about usability, and improving the way search results are displayed on your site. Here’s how to do it:
    First, replace the the_title() tag in your search.php file with the following:
    <?php // highlight search terms in title
        $title = get_the_title();
        $keys  = explode(" ", $s);
        $title = preg_replace('/('.implode('|',$keys).')/iu','<span class="search-terms">\\0</span>',$title);
        echo $title;
    ?>
    This will setup styling for search terms located in the title of each result. Then, for the content, replace the the_excerpt() tag in your search.php file with the following:
    <?php // highlight search terms in content
        $excerpt = get_the_excerpt();
        $keys  = explode(" ", $s);
        $excerpt = preg_replace('/('.implode('|',$keys).')/iu','<span class="search-terms">\\0</span>',$excerpt);
        echo $excerpt;
    ?>
    Finally, open your theme’s CSS file and add some custom styles for the search terms. A great way to highlight each term is to display it in bold text with yellow highlighting. Something like this:
    span.search-terms {
        background: yellow;
        font-weight: bold;
        }
    That’s all there is to it! Go run a few searches to see it in action.
    Source: Enhanced version of code provided by Yoast.com
    Automatically Disable Widgets ?
    Quick tip to disable all widget functionality from your theme. Add the following to your functions.php file and call it done:
    <?php // disable all widgets
    function disable_all_widgets($sidebars_widgets) {
        $sidebars_widgets = array(false);
        return $sidebars_widgets;
    }
    add_filter('sidebars_widgets', 'disable_all_widgets');
    ?>
    Source: Justin Tadlock
    Display All Images from Your Post Content ?
    Want to display all of the images from each of your posts somewhere on your blog? Easy. Check out this code snippet from Matt Varone:
    <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
    <?php
    $szPostContent = $post->post_content;
    $szSearchPattern = '~<img [^\\>]*\\ />~';
    // Run preg_match_all to grab all the images and save the results in $aPics
    preg_match_all($szSearchPattern, $szPostContent, $aPics);
    // Check to see if we have at least 1 image
    $iNumberOfPics = count($aPics[0]);
    if ($iNumberOfPics > 0) {
        // now here you would do whatever you need to do with the images
        // for this example the images are just displayed
        for ( $i=0; $i < $iNumberOfPics ; $i++ ) {
            echo $aPics[0][$i];
        };
    };
    endwhile;
    endif;
    ?>
    Just customize the output in the second part of the code (see code comments) and paste the function wherever you would like to display the images. Sweetness.
    Source: Matt Varone
    Display Category List in Two Columns ?
    Tired of that boring, single-column category display? Spice things up with a spiffy two-column category list that will get your visitors’ hearts pumping. Let’s deface a WordPress tag, shall we?
    See this bad boy:
    <?php wp_list_categories(); ?>
    We’re going to blow it up, divide its contents into two pieces, and spit it all back out as two unordered lists. Impossible, you say? Nah, just a little PHP to make it all go.
    Wherever you would like to display your categories in two columns, throw down the following code snippet:
    <?php // display categories in columns
    $cats = explode("<br />",wp_list_categories('title_li=&echo=0&depth=1&style=none'));
    $cat_n = count($cats) - 1;
    for ($i=0;$i<$cat_n;$i++) :
        if ($i<$cat_n/2) :
            $cat_left = $cat_left.'<li>'.$cats[$i].'</li>';
        elseif ($i>=$cat_n/2):
            $cat_right = $cat_right.'<li>'.$cats[$i].'</li>';
        endif;
    endfor; ?>
    <ul class="left">
        <?php echo $cat_left;?>
    </ul>
    <ul class="right">
        <?php echo $cat_right;?>
    </ul>
    Completely awesome. Now let’s add some style to make the columns work:
    .right {
        float: left;
        width: 140px;
        }
    .left {
        float: left;
        width: 140px;
        }
    You are all set. You should probably fine-tune this business until it’s all good. You know.
    Source: Blog Oh Blog (404 link removed 2013/06/24)
    Show Ads or Other Content Only in the First Three Posts ?
    Advertising may require you to limit the number of advertisements on your page to three. For some, this is three too many. For others, it’s far too few. Still others feel that it’s just the right amount.
    Regardless of your feelings, here is a trick that will enable you to limit the number of posts that displays some specific content - ads, images, scripts, whatever you want. Check out the three indented lines in the following loop:
    <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
        <?php if ($wp_query->current_post < 3) { ?>
        <!-- any content here will be displayed only in first three posts -->
        <?php } ?>
    <?php endwhile; else: ?>
    <?php endif; ?>
    See what’s happening here. We’ve got a loop, see. In this loop, we specify a condition that says, “if this is one of the first three posts, display this content.” And that’s the magic. Of course, you can use whatever content you would like, and there is nothing special about the number “3” either.
    Source: Blog Oh Blog (404 link removed 2013/06/24)
    A Better Way to Display Recent Comments without a Plugin ?
    Here is a better way to display your recent comments without a plugin. Instead of slapping a bunch of gnarly code into our index.php or sidebar.php file, we are going to slap it right where it belongs: in your theme’s functions.php file.
    Here is the code, all exploded for your viewing and analytical pleasure (well, for mine anyway). For a more minified version of this snippet, be sure to check out the source link.
    <?php // display recent comments without a plugin
    function recent_comments($src_count=10, $src_length=60, $pre_HTML='<ul>', $post_HTML='</ul>') {
    global $wpdb;
    $sql = "
        SELECT DISTINCT
            ID,
            post_title,
            post_password,
            comment_ID,
            comment_post_ID,
            comment_author,
            comment_date_gmt,
            comment_approved,
            comment_type,
        SUBSTRING(
            comment_content, 1, $src_length
            )
        AS com_excerpt
        FROM $wpdb->comments
        LEFT OUTER JOIN $wpdb->posts
        ON (
            $wpdb->comments.comment_post_ID = $wpdb->posts.ID
            )
        WHERE comment_approved = '1'
        AND comment_type = ''
        AND post_password = ''
        ORDER BY comment_date_gmt
        DESC
        LIMIT $src_count
    ";
    $comments = $wpdb->get_results($sql);
    $output = $pre_HTML;
    foreach ($comments as $comment) {
        $output .= '<li><a href="'.get_permalink($comment->ID).'#comment-'.$comment->comment_ID.'" title="on '.$comment->post_title.'">'.strip_tags($comment->com_excerpt).'...</a></li>';
    }
    $output .= $post_HTML;
    echo $output;
    } ?>
    Ah, it’s a thing of beauty. Once you have that code in place, rock it out anywhere in your theme with this charming little tag:
    <?php recent_comments(); ?>
    see also: Display Latest Comments without a PluginSource: Blog Oh Blog (404 link removed 2013/06/24)
    Selectively Disable Automatic Post Formatting ?
    This trick is by far my favorite “stupid WordPress trick.” You know how WordPress likes to mangle HTML comments, empty elements, blockquotes, curly quotes, and other miscellaneous markup elements? Here is a tight little method that will enable you to selectively disable WordPress’ automatic post formatting.
    Do this: Place the following code into your theme’s functions.php file:
    // disable auto-formatting
    function my_formatter($content) {
        $new_content = '';
        $pattern_full = '{(\\[raw\\].*?\\[/raw\\])}is';
        $pattern_contents = '{\\[raw\\](.*?)\\[/raw\\]}is';
        $pieces = preg_split($pattern_full, $content, -1, PREG_SPLIT_DELIM_CAPTURE);
        foreach ($pieces as $piece) {
            if (preg_match($pattern_contents, $piece, $matches)) {
                $new_content .= $matches[1];
            } else {
                $new_content .= wptexturize(wpautop($piece));
            }
        }
        return $new_content;
    }
    remove_filter('the_content', 'wpautop');
    remove_filter('the_content', 'wptexturize');
    add_filter('the_content', 'my_formatter', 99);
    Then do this: Use the [raw] shortcode wherever you would like to disable auto-formatting in your post content. For example, if you wanted to prevent the following sentence from being formatted, you would write this:
    [raw]This text will not be automatically formatted.[/raw]
    Absolutely brilliant.
    Source: WPRecipes
    Browser Detection via WordPress’ body_class Function ?
    WordPress makes it possible to detect a handful of different browsers using a variety of built-in global variables. WordPress also provides a body_class tag that outputs a variety of class attributes depending on various page properties. Why not combine these two techniques so that the user’s detected browser is added to the list of output classes for the body tag? Here’s the code that will do it via functions.php:
    // browser detection via body_class
    function browser_body_class($classes) {
        global $is_lynx, $is_gecko, $is_IE, $is_opera, $is_NS4, $is_safari, $is_chrome, $is_iphone;
        if($is_lynx)       $classes[] = 'lynx';
        elseif($is_gecko)  $classes[] = 'gecko';
        elseif($is_opera)  $classes[] = 'opera';
        elseif($is_NS4)    $classes[] = 'ns4';
        elseif($is_safari) $classes[] = 'safari';
        elseif($is_chrome) $classes[] = 'chrome';
        elseif($is_IE)     $classes[] = 'ie';
        else               $classes[] = 'unknown';
        if($is_iphone) $classes[] = 'iphone';
        return $classes;
    }
    add_filter('body_class','browser_body_class');
    This code will output the detected browser along with the other body_class tags. Here is an example:
    <body class="home blog logged-in safari">
    Hooked.
    Sources: Nathan Rice
    Get Post or Page Contents as a PHP Variable ?
    Here is a quick snippet for placing all post or page content into a variable. We’re talking the entire page contents here, not just the content of the post. Place this code into your theme’s functions.php file:
    // post contents as variable
    function callback($buffer) {
        return $buffer;
        }
    function buffer_start() {
        ob_start("callback");
        }
    function buffer_end() {
        ob_end_flush();
        }
    add_action('wp_head', 'buffer_start');
    add_action('wp_footer', 'buffer_end');
    Once in place, this function will capture the entire page contents into a variable called “$buffer”. You may then do whatever you wish to this variable. Filter it, match it, slap it around a little and show it who’s boss. That sort of thing.
    Source: Dagon DesignSee also: Digging into WordPress
    Simple Example of How to Use WordPress Cron ?
    I have been meaning to get into WordPress’ wp-cron functionality, and this looks like a good way to get started with it. This code snippet uses wp-cron to schedule an automatic email that will be sent every hour.
    // send automatic scheduled email
    if (!wp_next_scheduled('my_task_hook')) {
        wp_schedule_event(time(), 'hourly', 'my_task_hook');
    }
    add_action('my_task_hook', 'my_task_function');
    function my_task_function() {
        wp_mail('you@yoursite.com', 'Automatic email', 'Hello, this is an automatically scheduled email from WordPress.');
    }
    Of course, this is meant only as an example. The key here is to schedule and event and then hook into it with some specific function.
    Source: slaven.net (404 link removed 2013/02/04)
    Add More Default Avatar Choices to the WordPress Admin ?
    Here is a quick and easy way to add more default avatars to the list of available gravatars in the Settings area of the WordPress Admin. Here is the functions.php code to make it happen:
    // add more default avatars to options
    if (!function_exists('fb_addgravatar')) {
        function fb_addgravatar($avatar_defaults) {
            $myavatar1 = get_bloginfo('template_directory').'/images/avatar-01.png';
            $avatar_defaults[$myavatar1] = 'dude';

            $myavatar2 = get_bloginfo('template_directory').'/images/avatar-02.png';
            $avatar_defaults[$myavatar2] = 'geek';

            $myavatar3 = get_bloginfo('template_directory').'/images/avatar-03.png';
            $avatar_defaults[$myavatar3] = 'cool';
            return $avatar_defaults;
        }
        add_filter('avatar_defaults', 'fb_addgravatar');
    }
    See the innermost indented lines of code? There we are specifying three additional default avatars. To use this code, you will need to edit these lines to match your image paths and the name for each avatar. Hopefully the process of editing, adding, or removing avatars is clear. If not, don’t hesistate to speak up in the comments and someone will help you out.
    Source: WPEngineer
    Add a Private Page to Your Navigation Menu ?
    By default, any pages that you classify as “Private” are not displayed in the menu generated by the wp_list_pages function. In general this is a good idea, but it might be helpful to include the link if the logged in user is able to read private pages. Fortunately, WordPress has a function that will enable us to do exactly that:
    <ul>
    <?php // add a private page to your navigation menu
    wp_list_pages('depth=1&title_li=0&sort_column=menu_order');
    if(current_user_can('read_private_pages')) : ?>
        <li><a href="<?php echo get_permalink(10); ?>">For Authors only</a></li>
    <?php endif; ?>
    </ul>
    Place this code where you would normally include the wp_list_pages tag and enjoy private-page links displayed in your navigation menus only for those users who are logged in and priviledged enough to see them. The private link will not be displayed for the “ordinary” folk.
    Make sure you replace the number “10” in the middle line to match the ID of the private page you would like to include.
    Source: WPEngineer
    How to Add Additional Links to wp_list_pages ?
    Here is a nice way to include additional links to the output of the wp_list_pages tag. All that’s needed is the following function in your functions.php file:
    // include additional links
    function add_bookmarks_to_menu($output) {
        $bookmarks = (array) get_bookmarks('hide_invisible=0&category_name=wp_list_pages');
        foreach ($bookmarks as $bookmark) {
            $output .= "<li><a href='{$bookmark->link_url}'  title='{$bookmark->link_name}'>{$bookmark->link_name}</a></li>\\n";        
        }
        return $output;
    }
    add_filter('wp_list_pages', 'add_bookmarks_to_menu');
    Here we are taking advantage of WordPress’ built-in Links/Bookmarks functionality to assign new links to the output of the wp_list_pages tag. Once this code is in place, login to your WordPress Admin and follow these steps for each link that you would like to add to the page list:
        In the Admin, go to Links > Add New
        Enter a name and URL for your link
        Add the link to a new category called “wp_list_pages”
        select “Keep this link private”
        Click “Add Link”
        Done.
    Using the “wp_list_pages” category for any/all of our extra links will enable us to include only links from that category. Further, selecting the “Keep this link private” option will prevent the links from being displayed elsewhere in your site (for example, in the Links/Blogroll/Bookmark sections).
    Source: sivel.net
    “I’ve got blisters on my fingers!”
    ..as the man once said.
    Instant karma
    inShare4
    Share with others
    About this post
        Author: Jeff Starr
        Archived: December 01, 2009
        Updated: Jun 8th, 2014
        Category: PHP, WordPress
        Tags: tips, tricks, tutorials
    Check the sidebar for related posts »
    Check it out
    The Tao of WordPress
    Comments
    « Previous 1 … 3 4 5
        Patrix January 5, 2010 at 8:54 pm    
        Awesome post.
        My theme lacks a functions.php file. When I created one and uploaded it, it was populated by some functions that I did not recognize. When I added one of the codes you mentioned above, I got an error saying, Headers Already Sent or something like that.
        Actu-Rock January 6, 2010 at 2:04 pm    
        Really useful! Thanks
        Lee Peterson January 11, 2010 at 5:13 pm    
        4 hours later….
        Finally reached the end. Thanks for the awesome roundup!!
        Maxence January 22, 2010 at 6:50 am    
        Best wordpress tricks page! Kind of link that everyone should Bookmark thanks you very much for sharing this, this is gonna save my life!
        Steve G. January 24, 2010 at 1:39 pm    
        This collection of WordPress Tricks is very useful. Thank you for sharing all this!
        shoaib hussain February 11, 2010 at 8:12 am    
        thnx a lot ,had 2 bookmark so that i could grab more fun later on
        Mark February 12, 2010 at 11:46 am    
        Very usefull article! Thanks!
    « Previous 1 … 3 4 5
    Comments are closed. Contact the author with questions or further information.
    « Getting Serious with a New Design
    The New Clearfix Method »
    RSS Feed Google+ Facebook LinkedIn Tumblr Twitter WordPress.org
    Create limitless wordpress design with only one themeWordPress Social Sharing Optimization (with SEO, Video, and eCommerce Integration)Canvas - a popular & hard-working WordPress themeWeb Hosting UK WordPress Hosting Advertise Here
    Related Posts
        Stupid Twitter Tricks
        WordPress Custom Fields, Part II: Tips and Tricks
        Display the Total Number of WordPress Posts, Comments, and Categories
        Stupid htaccess Tricks
        Stupid htaccess Tricks Redux
        Easily Adaptable WordPress Loop Templates
        Backwards-Compatible Spam and Delete Buttons for WordPress
    USP Pro The Tao of WordPress .htaccess made easy
    Popular Posts
        5G Blacklist 2013
        Blackhole for Bad Bots
        Stupid WordPress Tricks
        Stupid htaccess Tricks
        How to Block Tough Proxies
        Better Robots.txt for WordPress
        The Power of HTML5 and CSS3
    Premium WordPress Themes
    Recent Comments
        Graham: Your "Print Menu in a Theme File" is wrong: 'Main Menu', 'container_id' => 'cssmenu', 'walker' => new CSS_Menu_Walker() )); ?> Should read: 'Main...
        robert: how to change the size? now is full wide i want to make it smaller i tried by: #cssmenu { ...
        Bill Wynne: I am surely going to download it and give it a try. Some of my older blogs don't have menus...
        Isa: Very nice tutorial! But I think there is a little mistake in your code. I didn't download it. I used the...
        Selvam: Really handy CSS to add dropdown menu without plugin. Will it possible to add mega menu with Pure CSS?
        rajat gupta: very nice menus. i have downloaded the file. will use it and revert with feedback soon.
        Geoff Jackson: As for alternative recommendations for Dropbox, you may wish to check out Google Drive. Works in pretty much the same...
    Projects
        Monzilla Media
        Plugin Planet
        CSSresetr
        eChunks
        WP-Mix
        xyCSS
        Develop Secure WP Sites
    Books
        The Tao of WordPress
        Digging into WordPress
        .htaccess made easy
        WordPress Themes In Depth
    Links
        9rules Network
        DivineCSS
    Jeff Starr (aka Perishable) Jeff Starr (aka Perishable)
    About the site
    Perishable Press is the work of Jeff Starr, professional developer, designer, author, and publisher with over 10 years of experience. Check out some of Jeff's books and projects, follow on Twitter, or learn more »
    Fun fact: Perishable Press has been online since 2005, and now features over 700 articles and more than 11,000 comments. More stats »
        © 2005-2014 Perishable Press
        Sitemap
        Site Credits
        Web Design by Monzilla Media
    Latest Tweets USP Pro v1.8 now available! plugin-planet.com/usp-pro-vers… #wordpress    x
    <end node> 5P9i0s8y19Z
    dt=
    <node>Ten Things Every WordPress Plugin Developer Should Know
    2
    http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/
    Ten Things Every WordPress Plugin Developer Should Know
    <!DOCTYPE html>
    <html lang="en-US" prefix="og: http://ogp.me/ns#">
    <head>
        <title>Ten Things Every WordPress Plugin Developer Should Know | Smashing Magazine</title>
        <style type="text/css">article,body,div,figure,form,h1,h2,h3,h4,html,img,label,li,nav,p,span,strong,ul{font-size:100%;vertical-align:baseline;margin:0;padding:0;outline:0;border:0;background:0 0}html{overflow-y:scroll;overflow-x:hidden}body{overflow:hidden;line-height:1.46em;max-width:2000px;color:#333;background-image:url(http://www.smashingmagazine.com/wp-content/themes/smashing-magazine/images/smbg.png)}a{font-size:100%;text-decoration:none;vertical-align:baseline;margin:0;padding:0;background:0 0;color:#41b7d8}a:active{color:#fff;background-color:#e53b2c}.pap a,br+em a,figcaption a,li a,p a{border-bottom:.07em solid rgba(0,0,0,.1);padding-bottom:.07em}.pmd a,nav a{padding-bottom:0;border:0}img{max-width:100%;height:auto;border:0}.clearfix:after,.clearfix:before{content:"\\0020";height:0;visibility:hidden}svg:not(:root){overflow:hidden}ul{list-style:none}ol{list-style:decimal}article ul{list-style:disc}article li ol,article li ul{margin:0 1.5em}article ol,article ul{margin:.5em 1.5em}article li{padding:.25em 0}input{vertical-align:middle}button,input[type=submit],label{cursor:pointer}button,input{margin:0}button{font-size:1em;vertical-align:top;overflow:visible;outline:0;padding:.75em 2em;border:.07em solid #c73a11;color:#fff;background:-webkit-gradient(linear,left top,left bottom,from(#e85c33),to(#e53a2b));background:-webkit-linear-gradient(top,#e85c33 0,#e53a2b 100%);background:linear-gradient(to bottom,#e85c33 0,#e53a2b 100%);border-radius:.5em;-webkit-transition:border-color .3s;transition:border-color .3s}input[type=text]:placeholder{color:#999}input[type=text]{font-size:1em;line-height:1.5em;margin-bottom:1em;outline:0;padding:.5em;color:#777;border:.07em solid rgba(0,0,0,.1);background-color:#fff;border-radius:.5em 0 0 .5em;-webkit-transition:all .3s;transition:all .3s}@-ms-viewport{width:device-width}canvas{-ms-touch-action:double-tap-zoom}body,button,input,label{font-family:"Proxima Nova Regular","Segoe UI",Roboto,"Droid Sans","Helvetica Neue",Arial,sans-serif;font-style:normal;font-weight:400}.cahe,.cat h3,.category .cat h2,h4,strong{font-family:'Proxima Nova Bold',"Segoe UI",Roboto,"Droid Sans","Helvetica Neue",Arial,sans-serif;font-style:normal;font-weight:700}.ed+p,.pmd .a,.pmd+p{font-family:"Skolar Regular","Roboto Slab","Droid Serif",Cambria,Georgia,"Times New Roman",Times,serif;font-weight:400;font-style:normal}.ed+p em,.pmd+p em{font-family:'Skolar Italic',"Roboto Slab","Droid Serif",Cambria,Georgia,"Times New Roman",Times,serif;font-weight:400;font-style:italic}.ed+p strong,.pmd+p strong{font-family:'Skolar Bold',"Roboto Slab","Droid Serif",Cambria,Georgia,"Times New Roman",Times,serif;font-weight:700;font-style:normal}h2,h3{font-family:"Skolar Bold","Segoe UI Bold","Roboto Slab","Droid Serif",AvenirNext-Bold,"Avenir Bold",Georgia,"Times New Roman",Times,serif;font-weight:700;font-style:normal}.ch,.mise,.nw,.po,.sb,.short,.sn{display:none}.ad .declare,.cahe,.clearfix:after,.clearfix:before,.long,.mini a,.pmd li,article,figure,label,nav{display:block}.cat h3+p a,.lt a{display:inline-block}.clearfix:after{clear:both}.declare,.mini,.pt img,.sr{float:left}.awithus,.gra,.ntb,.stb{float:right}.awithus,.cat h3+p a,.pt img,button,div,form,li,ul{position:relative}.mnb,.pt{position:absolute}.cat h3+p a{border-radius:.25em}.avatar{border-radius:50%}.pt img{border-radius:.3125em}.cat h3+p a,.pt img{-webkit-transition:all .3;transition:all .3}.mini{padding:1.125em 0 1em 5.5%;z-index:8}.mini a{width:58%}.sr{font:0/0 a;height:0;visibility:hidden}.mnb{top:0;right:1em;padding-top:1.5em;z-index:9}.ntb,.stb{text-indent:100%;overflow:hidden;width:2.625em;height:2.25em;margin-right:.75em;-webkit-tap-highlight-color:transparent;border:.07em solid #c73a11;border-radius:.25em;-webkit-box-shadow:0 .07em .07em rgba(0,0,0,.25);box-shadow:0 .07em .07em rgba(0,0,0,.25)}.stb{background:url(http://www.smashingmagazine.com/wp-content/themes/smashing-magazine/images/search-icon.svg) no-repeat 50% 50%,#e95c33;background-size:1.875em auto;-webkit-background-size:auto auto}.ntb{background:url(http://www.smashingmagazine.com/wp-content/themes/smashing-magazine/images/nav-icon.svg) no-repeat 50% 50%,#e95c33;background-size:1.875em auto;-webkit-background-size:auto auto}.cc,.post{margin-bottom:2em}.fluid{padding-bottom:1.5em;border:.07em solid rgba(0,0,0,.1);background-color:#fff;-webkit-box-shadow:0 0 .625em .07em rgba(0,0,0,.05);box-shadow:0 0 .625em .07em rgba(0,0,0,.05)}.grid{margin-top:1.25em}.post{padding:.5em 5.5% 4em;border-bottom:.3125em solid #41b7d8}h2{font-size:2em;line-height:1.1em}h2 a{color:#333}.cahe{font-size:.45em;line-height:1.5em;letter-spacing:.07em;padding-bottom:.5em;color:#41b7d8}.archived h2,.author-page h2{width:92%}.ed+p,.pmd .a,.pmd+p{font-size:1.25em;line-height:1.35em;margin:0}h3{font-size:1.5em;line-height:1.3em}h4{letter-spacing:.125em}.cahe,h4{text-transform:uppercase}h3,h4{padding:1.5em 0 .5em}figure img,p,p img{padding:.5em 0}figure{margin:1.5em 0}br+em,figcaption{font-size:.875em;color:#a8a8a8}.pmd{padding-bottom:2em;margin:0}.pmd li{padding:1em 2em 0 1.5em;color:rgba(0,0,0,.3)}.pmd .a{padding:.5em .5em .5em 0;border-bottom:.07em solid #e5e5e5}.date{background:url(data:image/gif;base64,R0lGODlhEAAQAMQAAOZCM/GTi/KclepiVvfDvvnV0uxxZv719OhRROlaTepfU/a+uetlWfCOhe+JgPvf3P76+vzo5vOknva6tfSuqPnRzeU9Lu57cfjKxu+HfuxuY/Wzre11avvh3////+U7LCH5BAAAAAAALAAAAAAQABAAAAVkoCd6T6N8FiNE4wg1Xyx/gNB63Kx/zbjpIh3GEwEAPTrEQbIL6iaGJlKXSegUzplhcBVxZ5fLjuA5fGOBye6zKFtjFQhi3SbEGCI7PQoojChGawBkLQVnMhoPNyMFEg4OEh03IQA7) 0 1.2em no-repeat}.tags{background:url(data:image/gif;base64,R0lGODlhEAAQAMQAAP77+upeUeZCM/76+v74+Pa8t/zs5/jIw+dHOOtpRO+HfutpXvfDvvvh3+ZENudLPfOljva4svGTivzo5u6CY/nRxelcM+U7LP///wAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAAQABAAAAVKICaOZDleaIpiVkuqKuue8Npab33JOF3zud8tCAP6ikOfAJEyilIRRjP5vChEkhVk9gwQRIPFDkDpiRwN0uQhMiRIBdNhVDHZSyEAOw==) 0 1.2em no-repeat}.tags a:after{content:", "}.tags a:last-child:after{content:""}.comments{background:url(data:image/gif;base64,R0lGODlhEAAQAMQAAOZBMu+GfedKPOlXSutnW/jKxvSuqO+JgPa8t/rY1fWzrf/9/eU9LvSspvvh3+xuY/CMg/3t6+56cP729edNQPnV0vOjnPrc2vOnofnRzehQQv76+vKakvKel////+U7LCH5BAAAAAAALAAAAAAQABAAAAVOoCeOZGme52Q81PdpkrKVneDet9CMAe7fHI/lR/woBsUfAZD0DQhNnKQQdQEqHgOjCUCMLgGmDwBxmCIIzOHwABRQpMUgASdl6PXR4hQCADs=) 0 1.2em no-repeat}.cat{border-top:.625em solid;border-bottom:.08em solid;border-color:#e5e5e5;margin:2em 5.5% 3em;padding:1em 0 1.25em}.cat h2{margin-bottom:.5em}.cat h3{font-size:1.25em}.cat h3+p a{padding:.25em .5em;margin:0 .5em .5em 0;color:#fff;background:#a1a1a1}.gra{padding:1.25em .75em 1.25em 1.5em}.sf label{font-weight:400;padding:1.1em 0 .75em;color:rgba(0,0,0,.25)}.sf button{line-height:2.25em;left:-.3125em;width:23%;height:2.375em;padding:0 1%;border-left:0;border-radius:0 .5em .5em 0}.sf input[type=text]{width:73%;height:1.5em;padding:.375em 0 .375em 2%;margin-bottom:0;border-right:0}.declare{margin:.875em 0 .5em;color:rgba(0,0,0,.25)}.awithus{margin-top:.875em;z-index:9}.ad .declare{float:none;padding:1em 0 .5em;margin-top:0}#cad{width:18.75em;height:15.625em}.pt{top:0;right:-2em;z-index:9}.pt img{border:.1875em solid #fff;-webkit-box-shadow:0 .07em .1875em rgba(0,0,0,.3);box-shadow:0 .07em .1875em rgba(0,0,0,.3)}@media screen and (min-width:31.25em){.mini{width:75%}.pmd li{display:inline-block}.pmd .a{display:block}}@media screen and (min-width:38.125em){.mini{width:60%}.grid{clear:both;padding:.5em 0}}@media screen and (min-width:40.625em){body{font-size:1.1875em}.ad{float:right;margin:0 0 1em 2em;width:15em}#cad{width:15.78947em;height:13.1579em}article img,article object,figure{max-width:26.31579em;height:auto}}@media screen and (min-width:50em){body{font-size:1em;border-left:.625em solid transparent}.mini,.mnb{display:none}.ch,.mise,.nw,.nw a,.sn{display:block}.ch,.main{float:right}.cc,.ch li,.col,.nw,.nw li{float:left}.nw{width:79%;margin-bottom:-.07em}.nw li{border-right:.07em solid rgba(0,0,0,.05)}.nw li a{padding:2.5em 1em .5em;height:1.75em;color:rgba(0,0,0,.3);background-color:transparent;-webkit-transition:color .3s,background-color .3s;transition:color .3s,background-color .3s}.nw li.cody a{background-image:url(http://www.smashingmagazine.com/wp-content/themes/smashing-magazine/images/navilittlebook.png);background-repeat:no-repeat;background-position:right .125em}.nw .current{z-index:2;width:24%;border:.07em solid rgba(0,0,0,.1);border-top:0;border-bottom:0;background:#fff;-webkit-box-shadow:0 -.9375em .625em .07em rgba(0,0,0,.025);box-shadow:0 -.9375em .625em .07em rgba(0,0,0,.025)}.nw .current a{padding:1.5em 1em 0;height:3.3125em;-webkit-transition:none;transition:none}.nw .current a:hover{background-color:#fff}.nw .current img{position:relative;top:-.125em}.ch{margin:2.5em 4% 0 0;z-index:50}.ch li{margin-left:.625em}.ch li a{text-indent:100%;overflow:hidden;white-space:nowrap;display:block;width:1.4375em;height:1.4375em;background-image:url(http://www.smashingmagazine.com/wp-content/themes/smashing-magazine/images/channels.svg);-webkit-background-size:353% 600%;background-size:353% 600%;opacity:.45;-webkit-transition:all .3s;transition:all .3s}.rss a{background-position:76% 35.5%}.fb a{background-position:76% 62%}.tw a{background-position:76% 90%}.nl a{background-position:76% 9%}.cc{width:100%}.main{width:80%;padding:0;margin-top:1.5em}.author .main,.category .main,.tag .main{margin:0 0 1.5em}.mise form{margin:1em 0 2em 5.5%}.mise input[type=text]{height:1.125em;padding:1em 2.5%}.mise button{line-height:3.125em;width:17.5%;height:3.25em}.sn{width:20%}.sct{margin:2em 0}.sn ul{margin-left:-.07em}.sn li{border-left-width:.625em;border-left-style:solid;padding-bottom:2.25em;-webkit-transition:border-color .3s;transition:border-color .3s}.sn li a{font-family:'Proxima Nova Bold',"Segoe UI",Roboto,"Droid Sans","Helvetica Neue",Arial,sans-serif;font-style:normal;font-weight:700;text-transform:uppercase;letter-spacing:.175em;color:#333;padding:.25em .5em .25em 20%;display:block;border-bottom:.07em solid transparent;-webkit-transition:background-color .3s;transition:background-color .3s}.sn li li{border:0;margin-left:.07em;padding-bottom:.25em}.sn li li a{font-family:"Proxima Nova Regular","Segoe UI",Roboto,"Droid Sans","Helvetica Neue",Arial,sans-serif;font-style:normal;font-weight:400;letter-spacing:0;text-transform:none;color:#888;border:0;padding-left:20%;margin:0;-webkit-transition:color .3s,background-color .3s;transition:color .3s,background-color .3s}.menu-item-coding{border-left-color:#c9e9e5}.menu-item-design{border-left-color:#cdeeaa}.menu-item-mobile{border-left-color:#f9f0a8}.menu-item-graphics{border-left-color:#e0cfdf}.menu-item-uxdesign{border-left-color:#faced2}.menu-item-wordpress{border-left-color:#bcd8f0}.cat{padding-left:5.5%;padding-right:5.5%}.post{padding-left:11%}article img,figure{max-width:31.25em}.ad{width:18.75em}#cad{width:18.75em;height:15.625em}}@media screen and (min-width:63.75em){.mise{display:none}.nw .current{width:21%}.ch{margin-right:1em}.main{width:100%;margin-top:-.5em}.post{padding-left:5.5%}.sn{width:100%;margin-top:0;margin-bottom:0}.sct{margin-top:-.5em}.sn ul{margin:1em 0 0;padding:0 0 0 5.5%;border-bottom:.3125em solid rgba(0,0,0,.06)}.sn li{border-left-width:0;border-right:.07em solid #e5e5e5;border-bottom-width:.3125em;border-bottom-style:solid;margin-bottom:-.3125em;padding-bottom:0;float:left}.sn li:last-child{border-right:0}.sn li a{font-size:.75em;color:#333;border:0;padding:.75em .9em}.sn li ul{display:none}.menu-item-coding{border-bottom-color:#c9e9e5}.menu-item-design{border-bottom-color:#cdeeaa}.menu-item-mobile{border-bottom-color:#f9f0a8}.menu-item-graphics{border-bottom-color:#e0cfdf}.menu-item-uxdesign{border-bottom-color:#faced2}.menu-item-wordpress{border-bottom-color:#bcd8f0}h2{padding-top:.5em}.cc{margin-right:-28.125em}.fluid{margin-right:28.125em;border-radius:0 .625em .625em 0}.cat{padding-left:0;padding-right:0;margin-top:2em;margin-right:5.5%}.sb{display:block;z-index:3}.side{padding:0 0 0 1.25em;width:26.25em;top:-3.325em}.bw{margin:0 0 1.25em}.bw .awithus{margin-right:.5em}.faw{margin-top:1.5em}.bnnr-list{clear:both}.bnnr-list li{font-size:.75em;text-align:center;width:48%;display:inline-block;margin:0 2% 1em 0}.bnnr-list a{border-bottom:0}.bnnr-list .double{width:34.16667em}.wg{clear:both;margin:1.5em 0 1.5em -1.25em;padding:0 1.25em 2em;border:.07em solid rgba(0,0,0,.1);border-left:none;background:rgba(255,255,255,.55);border-radius:0 .625em .625em 0}.wg.sf{top:0}.wg.sf form{margin:.75em 0 1em}.wg.sf input[type=text]{width:66%}.wg.sf button{width:30%}.wg li{list-style:none;border-bottom:.07em solid rgba(0,0,0,.05);padding:1em 0}.wg h3{padding-left:2.5em;position:relative}.wg h3 a{position:relative}.wg h3 img{position:absolute;left:-2.5em}.so div{margin-top:.5em;border-bottom:.08em solid rgba(0,0,0,.05)}.so p{line-height:1.55em;padding-top:1.125em;overflow:hidden}.fir{padding:0 1.5em 1.75em 0}.sec{padding-bottom:1.75em}.so img{float:left;overflow:hidden;margin:1.5em 1.5em 0 0;border-radius:.5em}}@media screen and (min-width:76.25em){.nw{width:50%}.nw .current{width:29%}.nw .current img{top:-.4375em}.main{width:78%;margin-top:1.8%}.author .main,.category .main,.tag .main{margin-top:4%}.post{padding-top:0}.author .post,.category .post,.tag .post{padding-left:11%}.sn{width:22%;margin-top:4%}.sct{margin:0 0 1em -.07em;z-index:99}.sn ul{display:block;margin:0;padding:0 2.5% 0 0;border-bottom:none}.sn li{border-bottom:0;border-right:0;border-left-width:.625em;border-left-style:solid;float:none;margin-bottom:0;padding-bottom:2.25em}.sn li a{font-size:1em;width:auto!important;border:none;border-bottom:.07em solid transparent;display:block;padding:.25em .5em .25em 25%}.sn li ul{display:block;padding:0;margin-left:-.07em}.sn li ul li{padding-bottom:0;border:0}.sn li ul li a{margin-top:0;padding-left:25%;border:none}.menu-item-coding{border-left-color:#c9e9e5}.menu-item-design{border-left-color:#cdeeaa}.menu-item-mobile{border-left-color:#f9f0a8}.menu-item-graphics{border-left-color:#e0cfdf}.menu-item-uxdesign{border-left-color:#faced2}.menu-item-wordpress{border-left-color:#bcd8f0}.cat{margin-top:0;padding-left:5.5%;padding-right:5.5%}.ch{margin-right:28.125em}}@media screen and (min-width:90.625em){body{border:none}.sf{top:1.65em;padding-bottom:1em}.sf label{margin:1.5em 0 0;padding-top:0}.tn{float:left;width:10%}.nw{width:auto;float:none;margin-bottom:0}.nw li{float:none;border:none;border-bottom:.07em solid rgba(0,0,0,.1)}.nw li a{padding:1em 0 .625em 1.375em}.nw .current{border:.07em solid rgba(0,0,0,.1);border-right:.07em solid #fff;border-left:none;margin:.6em -.07em 0 0;width:auto}.nw .current a{padding:1.5em 0 1em 1.5em;height:auto}.nw .current img{top:0;left:-.5em}.ch{float:none;margin:1.25em 0 0 .875em}.ch li{margin-left:0;margin-right:.5em}.sct{margin-top:-.07em}.cc{width:90%;border-top:.625em solid transparent}.fluid{border-radius:0 .625em .625em}.grid{margin-top:2.3em}.side{top:0}}@media screen and (min-width:100em){body{font-size:1.15em}.post{padding-left:11%;padding-right:11%}.sn{margin-top:3.65%}.sn ul li ul{margin-left:-.07em}.ch{margin:1.5em 0 0 1.5em}.ad,.ch{font-size:.86957em}.wg{margin-left:-1.08696em}.cc{margin-right:-24.45652em}.fluid{margin-right:24.45652em}.side{width:22.82609em;padding-left:1.08696em}.bnnr-list .double{width:29.71015em}article p{padding:.75em 0}article li{padding:.5em 0}article img,figure{max-width:27.17391em}.cat{margin-left:5.5%}.pt{top:-.5em;right:-5em}}@media screen and (min-width:63.75em) and (max-width:70.3125em){.long{display:none}.short{display:block}}</style>
        
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta charset="UTF-8">
    <!-- Favicon -->
    <link rel="icon" type="image/x-icon" href="http://www.smashingmagazine.com/wp-content/themes/smashing-magazine/images/favicon.ico" /><link rel="shortcut icon" type="image/x-icon" href="http://www.smashingmagazine.com/wp-content/themes/smashing-magazine/images/favicon.ico" /><link type="image/x-icon" href="http://www.smashingmagazine.com/wp-content/themes/smashing-magazine/images/favicon.ico" />
    <!-- Windows 8 Tiles and Feed -->
    <meta name="application-name" content="Smashing Magazine"/>
    <meta name="msapplication-TileColor" content="#e53b2c"/>
    <meta name="msapplication-square70x70logo" content="http://www.smashingmagazine.com/wp-content/themes/smashing-magazine/images/smashing-windows-icon-70-70.png"/>
    <meta name="msapplication-square150x150logo" content="http://www.smashingmagazine.com/wp-content/themes/smashing-magazine/images/smashing-windows-icon-150-150.png"/>
    <meta name="msapplication-wide310x150logo" content="http://www.smashingmagazine.com/wp-content/themes/smashing-magazine/images/smashing-windows-icon-310-150.png"/>
    <meta name="msapplication-square310x310logo" content="http://www.smashingmagazine.com/wp-content/themes/smashing-magazine/images/smashing-windows-icon-310-310.png"/>
    <meta name="msapplication-notification" content="frequency=30;polling-uri=http://notifications.buildmypinnedsite.com/?feed=http://www.smashingmagazine.com/feed/&id=1;polling-uri2=http://notifications.buildmypinnedsite.com/?feed=http://www.smashingmagazine.com/feed/&id=2;polling-uri3=http://notifications.buildmypinnedsite.com/?feed=http://www.smashingmagazine.com/feed/&id=3;polling-uri4=http://notifications.buildmypinnedsite.com/?feed=http://www.smashingmagazine.com/feed/&id=4;polling-uri5=http://notifications.buildmypinnedsite.com/?feed=http://www.smashingmagazine.com/feed/&id=5; cycle=1"/>
    <!-- iOS Icons -->
    <link rel="apple-touch-icon-precomposed" href="http://www.smashingmagazine.com/wp-content/themes/smashing-magazine/images/apple-touch-icon-precomposed.png" />
    <link rel="apple-touch-icon-precomposed" sizes="57x57" href="http://www.smashingmagazine.com/wp-content/themes/smashing-magazine/images/apple-touch-icon-57x57-precomposed.png" />
    <link rel="apple-touch-icon-precomposed" sizes="72x72" href="http://www.smashingmagazine.com/wp-content/themes/smashing-magazine/images/apple-touch-icon-72x72-precomposed.png" />
    <link rel="apple-touch-icon-precomposed" sizes="114x114" href="http://www.smashingmagazine.com/wp-content/themes/smashing-magazine/images/apple-touch-icon-114x114-precomposed.png" />
    <link rel="apple-touch-icon-precomposed" sizes="144x144" href="http://www.smashingmagazine.com/wp-content/themes/smashing-magazine/images/apple-touch-icon-144x144-precomposed.png" />    
    <!-- This site is optimized with the Yoast WordPress SEO plugin v1.5.2.7 - https://yoast.com/wordpress/plugins/seo/ -->
    <meta name="description" content="Plugins are a major part of why WordPress powers millions of blogs and websites around the world. The ability to extend WordPress to meet just about any need is a powerful motivator for choosing WordPress over other alternatives."/>
    <link rel="canonical" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/" />
    <link rel="publisher" href="https://plus.google.com/+SmashingMagazine?"/>
    <meta property="og:locale" content="en_US" />
    <meta property="og:type" content="article" />
    <meta property="og:title" content="Ten Things Every WordPress Plugin Developer Should Know - Smashing Magazine" />
    <meta property="og:description" content="Plugins are a major part of why WordPress powers millions of blogs and websites around the world. The ability to extend WordPress to meet just about any need is a powerful motivator for choosing WordPress over other alternatives." />
    <meta property="og:url" content="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/" />
    <meta property="og:site_name" content="Smashing Magazine" />
    <meta property="article:publisher" content="https://www.facebook.com/smashmag" />
    <meta property="article:tag" content="Essentials" />
    <meta property="article:tag" content="PHP" />
    <meta property="article:tag" content="Plugins" />
    <meta property="article:tag" content="Techniques (WP)" />
    <meta property="article:section" content="WordPress" />
    <meta property="article:published_time" content="2011-03-08T05:35:31+01:00" />
    <meta property="article:modified_time" content="2014-04-25T13:28:41+02:00" />
    <meta property="og:updated_time" content="2014-04-25T13:28:41+02:00" />
    <meta property="og:image" content="http://www.smashingmagazine.com/wp-content/uploads/images/post-pictures/wordpress-blue-illu.jpg" />
    <meta property="og:image" content="http://www.smashingmagazine.com/wp-content/uploads/2011/03/wordpress_plugin.jpg" />
    <meta property="og:image" content="http://www.smashingmagazine.com/wp-content/uploads/2011/02/debug-bar-black1.jpg" />
    <meta property="og:image" content="http://www.smashingmagazine.com/wp-content/uploads/2011/02/debug-bar-globals1.jpg" />
    <meta property="og:image" content="http://www.smashingmagazine.com/wp-content/uploads/2011/02/debug-bar-profiler1.jpg" />
    <meta property="og:image" content="http://www.smashingmagazine.com/wp-content/uploads/2011/02/debug-bar-sql1.jpg" />
    <meta property="og:image" content="http://www.smashingmagazine.com/wp-content/uploads/2011/02/debug-bar-errors1.jpg" />
    <meta property="og:image" content="http://www.smashingmagazine.com/wp-content/uploads/2011/02/general-settings-same-url.jpg" />
    <meta property="og:image" content="http://www.smashingmagazine.com/wp-content/uploads/2011/02/general-settings-different-url.jpg" />
    <meta property="og:image" content="http://www.smashingmagazine.com/wp-content/uploads/2011/02/admin-menu-options-page.jpg" />
    <meta property="og:image" content="http://www.smashingmagazine.com/wp-content/uploads/2011/02/admin-menu-custom.jpg" />
    <meta property="og:image" content="http://www.smashingmagazine.com/wp-content/uploads/2011/02/plugin-action-links-none.jpg" />
    <meta property="og:image" content="http://www.smashingmagazine.com/wp-content/uploads/2011/02/plugin-action-links-settings.jpg" />
    <meta name="twitter:card" content="summary_large_image"/>
    <meta name="twitter:site" content="@smashingmag"/>
    <meta name="twitter:domain" content="Smashing Magazine"/>
    <meta name="twitter:creator" content="@arcware"/>
    <meta name="twitter:image:src" content="http://www.smashingmagazine.com/wp-content/uploads/images/post-pictures/wordpress-blue-illu.jpg"/>
    <!-- / Yoast WordPress SEO plugin. -->
    <link rel="alternate" type="application/rss+xml" title="Smashing Magazine » Feed" href="http://www.smashingmagazine.com/feed/" />
    <link rel="alternate" type="application/rss+xml" title="Smashing Magazine » Comments Feed" href="http://www.smashingmagazine.com/comments/feed/" />
    <link rel="alternate" type="application/rss+xml" title="Smashing Magazine » Ten Things Every WordPress Plugin Developer Should Know Comments Feed" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/feed/" />
    <link rel='shortlink' href='http://www.smashingmagazine.com/?p=111255' />
        <script type="text/javascript">!function(){function e(e,t,n){e.addEventListener?e.addEventListener(t,n,!1):e.attachEvent&&e.attachEvent("on"+t,n)}function t(e){return window.localStorage&&localStorage.font_css_cache&&localStorage.font_css_cache_file===e}function n(){if(window.localStorage&&window.XMLHttpRequest)if(t(o))a(localStorage.font_css_cache);else{var n=new XMLHttpRequest;n.open("GET",o,!0),e(n,"load",function(){4===n.readyState&&(a(n.responseText),localStorage.font_css_cache=n.responseText,localStorage.font_css_cache_file=o)}),n.send()}else{var c=document.createElement("link");c.href=o,c.rel="stylesheet",c.type="text/css",document.getElementsByTagName("head")[0].appendChild(c),document.cookie="font_css_cache"}}function a(e){var t=document.createElement("style");t.innerHTML=e,document.getElementsByTagName("head")[0].appendChild(t)}var o="http://www.smashingmagazine.com/wp-content/themes/smashing-magazine/stylesheets/webfonts.min.css?ver=1.1.0";window.localStorage&&localStorage.font_css_cache||document.cookie.indexOf("font_css_cache")>-1?n():e(window,"load",n)}();</script>
        <!--[if IE 8]><script type="text/javascript" src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script><link href="http://www.smashingmagazine.com/wp-content/themes/smashing-magazine/stylesheets/ie8-nu.css" media="all" rel="stylesheet" type="text/css" /><![endif]-->
        <noscript><link href="http://www.smashingmagazine.com/wp-content/themes/smashing-magazine/stylesheets/main.min.css?ver=2014.14.0" rel="stylesheet" media="all" type="text/css" /></noscript>
    </head>
    <body class="single single-post postid-111255 single-format-standard www-section">
    <nav id="top" class="tn clearfix">
        <div class="mini">
            <h1><span class="sr">Smashing Magazine</span><a href="http://www.smashingmagazine.com/"><img src="http://www.smashingmagazine.com/wp-content/themes/smashing-magazine/images/logo.png" alt="Smashing Magazine" title="Jump to the front page" /></a></h1>
        </div>
        <div class="mnb">
        <a href="#mn" class="ntb">Menu</a> <a href="#ms" class="stb">Search</a>
    </div>   <ul id="menu-network-menu" class="nw clearfix"><li class="current"><a href="http://www.smashingmagazine.com"><img src="http://www.smashingmagazine.com/wp-content/themes/smashing-magazine/images/logo.png" alt="Smashing Magazine" title="Jump to the front page" /></a></li><li id="menu-item-77918" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-77918 menu-item-books"><a href="http://www.smashingmagazine.com/books/">Books</a></li>
    <li id="menu-item-78659" class="cody menu-item menu-item-type-post_type menu-item-object-page menu-item-78659 menu-item-ebooks"><a href="http://www.smashingmagazine.com/ebooks/">eBooks</a></li>
    <li id="menu-item-85386" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-85386 menu-item-workshops"><a href="http://www.smashingmagazine.com/smashing-workshops/">Workshops</a></li>
    <li id="menu-item-2" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-2 menu-item-job-board"><a href="http://jobs.smashingmagazine.com/">Job Board</a></li>
    </ul>
    <ul class="ch">
        <li class="rss"><a href="http://www.smashingmagazine.com/feed/" title="Subscribe to our RSS-feed (120K)">RSS</a></li>
        <li class="fb"><a href="http://www.facebook.com/smashmag" title="Join our Facebook page! (221k)">Facebook</a></li>
        <li class="tw"><a href="http://twitter.com/smashingmag" title="Follow us on Twitter! (811k)">Twitter</a></li>
        <li class="nl"><a href="http://www.smashingmagazine.com/the-smashing-newsletter/" title="Subscribe to our Email Newsletter (180k)">Newsletter</a></li>
    </ul></nav>
    <div class="cc"><div class="fluid clearfix"><div class="grid clearfix">
    <div class="mise sf clearfix" >
        <form id="search" method="get" action="http://www.smashingmagazine.com/search-results/" target="_top">
            <input name="q" type="text" placeholder="e.g. JavaScript" />
            <button class="search_submit" type="submit">Search</button>
            <input type="hidden" name="cx" value="partner-pub-6779860845561969:5884617103">
            <input type="hidden" name="cof" value="FORID:10">
            <input type="hidden" name="ie" value="UTF-8">
        </form>
    </div><div class="col sn">
    <nav class="sct"><ul id="menu-category-menu" class="clearfix"><li id="menu-item-116" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children menu-item-116 menu-item-coding"><a href="http://www.smashingmagazine.com/category/coding/">Coding</a>
    <ul class="sub-menu">
        <li id="menu-item-2014" class="menu-item menu-item-type-taxonomy menu-item-object-post_tag menu-item-2014 menu-item-css"><a href="http://www.smashingmagazine.com/tag/css/">CSS</a></li>
        <li id="menu-item-134810" class="menu-item menu-item-type-taxonomy menu-item-object-post_tag menu-item-134810 menu-item-html"><a href="http://www.smashingmagazine.com/tag/html/">HTML</a></li>
        <li id="menu-item-2015" class="menu-item menu-item-type-taxonomy menu-item-object-post_tag menu-item-2015 menu-item-javascript"><a href="http://www.smashingmagazine.com/tag/javascript/">JavaScript</a></li>
        <li id="menu-item-2016" class="menu-item menu-item-type-taxonomy menu-item-object-post_tag menu-item-2016 menu-item-techniques"><a href="http://www.smashingmagazine.com/tag/techniques/">Techniques</a></li>
    </ul>
    </li>
    <li id="menu-item-117" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children menu-item-117 menu-item-design"><a href="http://www.smashingmagazine.com/category/design/">Design</a>
    <ul class="sub-menu">
        <li id="menu-item-2017" class="menu-item menu-item-type-taxonomy menu-item-object-post_tag menu-item-2017 menu-item-web-design"><a href="http://www.smashingmagazine.com/tag/web-design/">Web Design</a></li>
        <li id="menu-item-2032" class="menu-item menu-item-type-taxonomy menu-item-object-post_tag menu-item-2032 menu-item-typography"><a href="http://www.smashingmagazine.com/tag/typography/">Typography</a></li>
        <li id="menu-item-2063" class="menu-item menu-item-type-taxonomy menu-item-object-post_tag menu-item-2063 menu-item-inspiration"><a href="http://www.smashingmagazine.com/tag/inspiration/">Inspiration</a></li>
        <li id="menu-item-2120" class="menu-item menu-item-type-taxonomy menu-item-object-post_tag menu-item-2120 menu-item-business"><a href="http://www.smashingmagazine.com/tag/business/">Business</a></li>
    </ul>
    </li>
    <li id="menu-item-119" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children menu-item-119 menu-item-mobile"><a href="http://www.smashingmagazine.com/category/mobile/">Mobile</a>
    <ul class="sub-menu">
        <li id="menu-item-142132" class="menu-item menu-item-type-taxonomy menu-item-object-post_tag menu-item-142132 menu-item-iphone-ipad"><a href="http://www.smashingmagazine.com/tag/ios/">iPhone & iPad</a></li>
        <li id="menu-item-143596" class="menu-item menu-item-type-taxonomy menu-item-object-post_tag menu-item-143596 menu-item-android"><a href="http://www.smashingmagazine.com/tag/android/">Android</a></li>
        <li id="menu-item-143608" class="menu-item menu-item-type-taxonomy menu-item-object-post_tag menu-item-143608 menu-item-design-patterns"><a href="http://www.smashingmagazine.com/tag/design-patterns/">Design Patterns</a></li>
    </ul>
    </li>
    <li id="menu-item-118" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children menu-item-118 menu-item-graphics"><a href="http://www.smashingmagazine.com/category/graphics/">Graphics</a>
    <ul class="sub-menu">
        <li id="menu-item-2264" class="menu-item menu-item-type-taxonomy menu-item-object-post_tag menu-item-2264 menu-item-photoshop"><a href="http://www.smashingmagazine.com/tag/photoshop/">Photoshop</a></li>
        <li id="menu-item-160" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-160 menu-item-fireworks"><a href="http://www.smashingmagazine.com/category/fireworks/">Fireworks</a></li>
        <li id="menu-item-2283" class="menu-item menu-item-type-taxonomy menu-item-object-post_tag menu-item-2283 menu-item-wallpapers"><a href="http://www.smashingmagazine.com/tag/wallpapers/">Wallpapers</a></li>
        <li id="menu-item-2305" class="menu-item menu-item-type-taxonomy menu-item-object-post_tag menu-item-2305 menu-item-freebies"><a href="http://www.smashingmagazine.com/tag/freebies/">Freebies</a></li>
    </ul>
    </li>
    <li id="menu-item-120" class="menu-item-uxdesign menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children menu-item-120 menu-item-ux-design"><a href="http://www.smashingmagazine.com/category/uxdesign/">UX Design</a>
    <ul class="sub-menu">
        <li id="menu-item-143609" class="menu-item menu-item-type-taxonomy menu-item-object-post_tag menu-item-143609 menu-item-usability"><a href="http://www.smashingmagazine.com/tag/usability/">Usability</a></li>
        <li id="menu-item-143610" class="menu-item menu-item-type-taxonomy menu-item-object-post_tag menu-item-143610 menu-item-user-experience"><a href="http://www.smashingmagazine.com/tag/user-experience/">User Experience</a></li>
        <li id="menu-item-143611" class="menu-item menu-item-type-taxonomy menu-item-object-post_tag menu-item-143611 menu-item-ui-design"><a href="http://www.smashingmagazine.com/tag/ui/">UI Design</a></li>
        <li id="menu-item-143612" class="menu-item menu-item-type-taxonomy menu-item-object-post_tag menu-item-143612 menu-item-e-commerce"><a href="http://www.smashingmagazine.com/tag/e-commerce/">E-Commerce</a></li>
    </ul>
    </li>
    <li id="menu-item-121" class="menu-item menu-item-type-taxonomy menu-item-object-category current-post-ancestor current-menu-parent current-post-parent menu-item-has-children menu-item-121 menu-item-wordpress"><a href="http://www.smashingmagazine.com/category/wordpress/"><span class="long"><span>Word</span><span>Press</span></span><span class="short">WP</span></a>
    <ul class="sub-menu">
        <li id="menu-item-143677" class="menu-item menu-item-type-taxonomy menu-item-object-post_tag menu-item-143677 menu-item-essentials"><a href="http://www.smashingmagazine.com/tag/essentials/">Essentials</a></li>
        <li id="menu-item-143678" class="menu-item menu-item-type-taxonomy menu-item-object-post_tag menu-item-143678 menu-item-techniques"><a href="http://www.smashingmagazine.com/tag/techniques-wp/">Techniques</a></li>
        <li id="menu-item-143679" class="menu-item menu-item-type-taxonomy menu-item-object-post_tag menu-item-143679 menu-item-plugins"><a href="http://www.smashingmagazine.com/tag/plugins/">Plugins</a></li>
        <li id="menu-item-143680" class="menu-item menu-item-type-taxonomy menu-item-object-post_tag menu-item-143680 menu-item-themes"><a href="http://www.smashingmagazine.com/tag/themes/">Themes</a></li>
    </ul>
    </li>
    </ul></nav></div>
    <div class="col main single">
        <article class="post-111255 post type-post status-publish format-standard has-post-thumbnail hentry category-wordpress tag-essentials tag-php tag-plugins tag-techniques-wp post">
                        <h2><a href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/" rel="bookmark" title="Read 'Ten Things Every WordPress Plugin Developer Should Know'">Ten Things Every WordPress Plugin Developer Should Know</a></h2>
                    <ul class="pmd clearfix">
                <li class="a">By <a rel="author" class="poa" href="http://www.smashingmagazine.com/author/dave-donaldson/?rel=author" title="Posts by Dave Donaldson">Dave Donaldson</a></li>
                            <li class="date">March 8th, 2011</li>
                <li class="tags"><a href="http://www.smashingmagazine.com/tag/essentials/">Essentials</a><a href="http://www.smashingmagazine.com/tag/php/">PHP</a><a href="http://www.smashingmagazine.com/tag/plugins/">Plugins</a></li>
                <li class="comments"><a href="#comments" title="Comment on Ten Things Every WordPress Plugin Developer Should Know">94 Comments</a> </li>
                        </ul>
                    <div class="ad ed">
                <span class="declare">Advertisement</span>
                <div id="cad"></div>
            </div>
                                        <p>Plugins are a major part of why WordPress powers millions of blogs and websites around the world. The ability to extend WordPress to meet just about any need is a powerful motivator for choosing WordPress over other alternatives. Having written several plugins myself, I’ve come to learn many (but certainly not all) of the ins-and-outs of <strong>WordPress plugin development</strong>, and this article is a culmination of the things I think every WordPress plugin developer should know. Oh, and keep in mind everything you see here is compatible with WordPress 3.0+.</p>
    <h3>Don’t Develop Without Debugging</h3>
    <p>The first thing you should do when developing a WordPress plugin is to enable debugging, and I suggest leaving it on the entire time you’re writing plugin code. When things go wrong, WordPress raises warnings and error messages, but if you can’t see them then they might as well have not been raised at all.
    <p><a href="http://www.smashingmagazine.com/wp-content/uploads/2011/03/wordpress_plugin.jpg"><img src="http://www.smashingmagazine.com/wp-content/uploads/2011/03/wordpress_plugin.jpg" alt="Screenshot" title="WordPress_Plugins" width="500" /></a><sup class="po" id="note-1"><a href="#1">1</a></sup></p>
    <p>Enabling debugging also turns on WordPress notices, which is important because that’s how you’ll know if you’re using any deprecated functions. Deprecated functions may be removed from future versions of WordPress, and just about every WordPress release contains functions slated to die at a later date. If you see that you are using a deprecated function, it’s best to find its replacement and use that instead.</p>
    <h4>How to Enable Debugging</h4>
    <p>By default, WordPress debugging is turned off, so to enable it, open <strong>wp-config.php</strong> (tip: make a backup copy of this file that you can revert to later if needed) in the root of your WordPress installation and look for this line:</p>
    <pre><code class="language-php">define('WP_DEBUG', false);</code></pre>
    <p>Replace that line with the following:</p>
    <pre><code class="language-php">// Turns WordPress debugging on
    define('WP_DEBUG', true);
    // Tells WordPress to log everything to the /wp-content/debug.log file
    define('WP_DEBUG_LOG', true);
    // Doesn't force the PHP 'display_errors' variable to be on
    define('WP_DEBUG_DISPLAY', false);
    // Hides errors from being displayed on-screen
    @ini_set('display_errors', 0);</code></pre>
    <p>With those lines added to your wp-config.php file, debugging is fully enabled. Here’s an example of a notice that got logged to /wp-content/debug.log for using a deprecated function:</p>
    <p><em>[15-Feb-2011 20:09:14] PHP Notice:  get_usermeta is <strong>deprecated</strong> since version 3.0! Use get_user_meta() instead. in C:CodePluginswordpresswp-includesfunctions.php on line 3237</em></p>
    <p>With debugging enabled, <strong>keep a close eye on /wp-content/debug.log</strong> as you develop your plugin. Doing so will save you, your users, and other plugin developers a lot of headaches.</p>
    <h4>How to Log Your Own Debug Statements</h4>
    <p>So what about logging your own debug statements? Well, the simplest way is to use <code>echo</code> and see the message on the page. It’s the quick-and-dirty-hack way to debug, but everyone has done it one time or another. A better way would be to create a function that does this for you, and then you can see all of your own debug statements in the debug.log file with everything else.</p>
    <p>Here’s a function you can use; notice that it only logs the message if WP_DEBUG is enabled:</p>
    <pre><code class="language-php">function log_me($message) {
        if (WP_DEBUG === true) {
            if (is_array($message) || is_object($message)) {
                error_log(print_r($message, true));
            } else {
                error_log($message);
            }
        }
    }</code></pre>
    <p>And then you can call the <code>log_me</code> function like this:</p>
    <pre><code class="language-php">log_me(array('This is a message' => 'for debugging purposes'));
    log_me('This is a message for debugging purposes');</code></pre>
    <h4>Use the BlackBox Debug Bar Plugin</h4>
    <p>I only recently discovered this plugin, but it’s already been a huge help as I work on my own plugins. The <a href="http://ditio.net/2011/01/29/wordpress-debug-bar-plugin-blackbox/">BlackBox</a><sup class="po" id="note-2"><a href="#2">2</a></sup> plugin adds a thin black bar to the top of any WordPress post or page, and provides quick access to errors, global variables, profile data, and SQL queries.</p>
    <p><img src="http://www.smashingmagazine.com/wp-content/uploads/2011/02/debug-bar-black1.jpg" alt="" title="debug-bar-black" width="525" height="27" class="alignnone size-full wp-image-90255" /></p>
    <p>Clicking on the Globals tab in the bar shows all of the global variables and their values that were part of the request, essentially everything in the $_GET, $_POST, $_COOKIE, $_SESSION, and $_SERVER variables:</p>
    <p><img src="http://www.smashingmagazine.com/wp-content/uploads/2011/02/debug-bar-globals1.jpg" alt="" title="debug-bar-globals" width="525" height="353" class="alignnone size-full wp-image-90251" /></p>
    <p>The next tab is the Profiler, which displays the time that passed since the profiler was started and the total memory WordPress was using when the checkpoint was reached:</p>
    <p><img src="http://www.smashingmagazine.com/wp-content/uploads/2011/02/debug-bar-profiler1.jpg" alt="" title="debug-bar-profiler" width="525" height="98" class="alignnone size-full wp-image-90252" /></p>
    <p>You can add your own checkpoints to the Profiler by putting this line of code anywhere in your plugin where you want to capture a measurement:</p>
    <pre><code class="language-php">apply_filters('debug', 'This is a checkpoint');</code></pre>
    <p>Perhaps the most valuable tab in the BlackBox plugin is the SQL tab, which shows you all of the database queries that executed as part of the request. Very useful for determining long-running database calls:</p>
    <p><img src="http://www.smashingmagazine.com/wp-content/uploads/2011/02/debug-bar-sql1.jpg" alt="" title="debug-bar-sql" width="525" height="176" class="alignnone size-full wp-image-90253" /></p>
    <p>And finally we have the Errors tab, which lists all of the notices, warnings, and errors that occurred during the request:</p>
    <p><img src="http://www.smashingmagazine.com/wp-content/uploads/2011/02/debug-bar-errors1.jpg" alt="" title="debug-bar-errors" width="525" height="111" class="alignnone size-full wp-image-90250" /></p>
    <p>By providing quick access to essential debug information, the BlackBox plugin is a big-timer when it comes to debugging your WordPress plugin.</p>
    <h3>Prefix Your Functions</h3>
    <p>One of the first things that bit me when I started developing WordPress plugins was finding out that other plugin developers sometimes use the same names for functions that I use. For example, function names like <code>copy_file()</code>, <code>save_data()</code>, and <code>database_table_exists()</code> have a decent chance of being used by other plugins in addition to yours.</p>
    <p>The reason for this is because when WordPress activates a plugin, PHP loads the functions from the plugin into the WordPress execution space, where all functions from all plugins live together. There is no separation or isolation of functions for each plugin, which means that <strong>each function must be uniquely named</strong>.</p>
    <p>Fortunately, there is an easy way around this, and it’s to name all of your plugin functions with a prefix. For example, the common functions I mentioned previously might now look like this:</p>
    <pre><code class="language-php">function myplugin_copy_file() {
    }
    function myplugin_save_data() {
    }
    function myplugin_database_table_exists() {
    }</code></pre>
    <p>Another common naming convention is to use a prefix that is an abbreviation of your plugin’s name, such as “My Awesome WordPress Plugin”, in which case the function names would be:</p>
    <pre><code class="language-php">function mawp_copy_file() {
    }
    function mawp_save_data() {
    }
    function mawp_database_table_exists() {
    }</code></pre>
    <p>There is one caveat to this, however. If you use PHP classes that contain your functions (which in many cases is a good idea), you don’t really have to worry about clashing with functions defined elsewhere. For example, let’s say you have a class in your plugin named “CommonFunctions” with a <code>copy_file()</code> function, and another plugin has the same <code>copy_file()</code> function defined, but not in a class. Invoking the two functions would look similar to this:</p>
    <pre><code class="language-php">// Calls the copy_file() function from your class
    $common = new CommonFunctions();
    $common->copy_file();
    // Calls the copy_file() function from the other plugin
    copy_file();</code></pre>
    <p><strong>By using classes, the need to explicitly prefix your functions goes away.</strong> Just keep in mind that WordPress will raise an error if you use a function name that’s already taken, so keep an eye on the debug.log file to know if you’re in the clear or not.</p>
    <h3>Global Paths Are Handy</h3>
    <p>Writing the PHP code to make your plugin work is one thing, but if you want to make it look and feel good at the same time, you’ll need to include some images, CSS, and perhaps a little JavaScript as well (maybe in the form of a jQuery plugin). And in typical fashion, you’ll most likely organize these files into their own folders, such as “images”, “css”, and “js”.</p>
    <p>That’s all well and good, but how should you code your plugin so that it can always find those files, no matter what domain the plugin is running under? The best way that I’ve found is to <strong>create your own global paths</strong> that can be used anywhere in your plugin code.</p>
    <p>For example, I always create four global variables for my plugins, one each for the following:</p>
    <ul>
    <li>The path to the theme directory</li>
    <li>The name of the plugin</li>
    <li>The path to the plugin directory</li>
    <li>The url of the plugin</li>
    </ul>
    <p>For which the code looks like this:</p>
    <pre><code class="language-php">if (!defined('MYPLUGIN_THEME_DIR'))
        define('MYPLUGIN_THEME_DIR', ABSPATH . 'wp-content/themes/' . get_template());
    if (!defined('MYPLUGIN_PLUGIN_NAME'))
        define('MYPLUGIN_PLUGIN_NAME', trim(dirname(plugin_basename(__FILE__)), '/'));
    if (!defined('MYPLUGIN_PLUGIN_DIR'))
        define('MYPLUGIN_PLUGIN_DIR', WP_PLUGIN_DIR . '/' . MYPLUGIN_PLUGIN_NAME);
    if (!defined('MYPLUGIN_PLUGIN_URL'))
        define('MYPLUGIN_PLUGIN_URL', WP_PLUGIN_URL . '/' . MYPLUGIN_PLUGIN_NAME);</code></pre>
    <p>Having these global paths defined lets me write the code below in my plugin anywhere I need to, and I know it will resolve correctly for any website that uses the plugin:</p>
    <pre><code class="language-php">$image = MYPLUGIN_PLUGIN_URL . '/images/my-image.jpg';
    $style = MYPLUGIN_PLUGIN_URL . '/css/my-style.css';
    $script = MYPLUGIN_PLUGIN_URL . '/js/my-script.js';</code></pre>
    <h3>Store the Plugin Version for Upgrades</h3>
    <p>When it comes to WordPress plugins, one of the things you’ll have to deal with sooner or later is upgrades. For instance, let’s say the first version of your plugin required one database table, but the next version requires another table. How do you know if you should run the code that creates the second database table?</p>
    <p>I suggest storing the plugin version in the WordPress database so that you can read it later to decide certain upgrade actions your plugin should take. To do this, you’ll need to create a couple more global variables and invoke the <code>add_option()</code> function:</p>
    <pre><code class="language-php">if (!defined('MYPLUGIN_VERSION_KEY'))
        define('MYPLUGIN_VERSION_KEY', 'myplugin_version');
    if (!defined('MYPLUGIN_VERSION_NUM'))
        define('MYPLUGIN_VERSION_NUM', '1.0.0');
    add_option(MYPLUGIN_VERSION_KEY, MYPLUGIN_VERSION_NUM);</code></pre>
    <p>I certainly could have simply called <code>add_option('myplugin_version', '1.0.0');</code> without the need for the global variables, but like the global path variables, I’ve found these just as handy for using in other parts of a plugin, such as a Dashboard or About page.</p>
    <p>Also note that <code>update_option()</code> could have been used instead of <code>add_option()</code>. The difference is that <code>add_option()</code> does nothing if the option already exists, whereas <code>update_option()</code> checks to see if the option already exists, and if it doesn’t, it will add the option to the database using <code>add_option()</code>; otherwise, it updates the option with the value provided.</p>
    <p>Then, when it comes time to check whether or not to perform upgrade actions, your plugin will end up with code that looks similar to this:</p>
    <pre><code class="language-php">$new_version = '2.0.0';
    if (get_option(MYPLUGIN_VERSION_KEY) != $new_version) {
        // Execute your upgrade logic here
        // Then update the version value
        update_option(MYPLUGIN_VERSION_KEY, $new_version);
    }</code></pre>
    <h3>Use dbDelta() to Create/Update Database Tables</h3>
    <p>If your plugin requires its own database tables, you will inevitably need to modify those tables in future versions of your plugin. This can get a bit tricky to manage if you’re not careful, but WordPress helps alleviate this problem by providing the <code>dbDelta()</code> function.</p>
    <p>A useful feature of the <code>dbDelta()</code> function is that it can be used for both creating and updating tables, but according to the WordPress codex page <a href="http://codex.wordpress.org/Creating_Tables_with_Plugins">“Creating Tables with Plugins”</a><sup class="po" id="note-3"><a href="#3">3</a></sup>, it’s a little picky:</p>
    <ul>
    <li>You have to put each field on its own line in your SQL statement.</li>
    <li>You have to have two spaces between the words PRIMARY KEY and the definition of your primary key.</li>
    <li>You must use the keyword KEY rather than its synonym INDEX and you must include at least one KEY.</li>
    </ul>
    <p>Knowing these rules, we can use the function below to create a table that contains an ID, a name, and an email:</p>
    <pre><code class="language-php">function myplugin_create_database_table() {
        global $wpdb;
        $table = $wpdb->prefix . 'myplugin_table_name';
        $sql = "CREATE TABLE " . $table . " (
                  id INT NOT NULL AUTO_INCREMENT,
                  name VARCHAR(100) NOT NULL DEFAULT '',
                  email VARCHAR(100) NOT NULL DEFAULT '',
                  UNIQUE KEY id (id)
                  );";
        require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
        dbDelta($sql);
    }</code></pre>
    <p><em><strong>Important:</strong> The <code>dbDelta()</code> function is found in <strong>wp-admin/includes/upgrade.php</strong>, but it has to be included manually because it’s not loaded by default.</em></p>
    <p>So now we have a table, but in the next version we need to expand the size of the name column from 100 to 250. Fortunately <code>dbDelta()</code> makes this straightforward, and using our upgrade logic previously, the next version of the plugin will have code similar to this:</p>
    <pre><code class="language-php">$new_version = '2.0.0';
    if (get_option(MYPLUGIN_VERSION_KEY) != $new_version) {
        myplugin_update_database_table();
        update_option(MYPLUGIN_VERSION_KEY, $new_version);
    }
    function myplugin_update_database_table() {
        global $wpdb;
        $table = $wpdb->prefix . 'myplugin_table_name';
        $sql = "CREATE TABLE " . $table . " (
                  id INT NOT NULL AUTO_INCREMENT,
                  name VARCHAR(250) NOT NULL DEFAULT '', // Bigger name column
                  email VARCHAR(100) NOT NULL DEFAULT '',
                  UNIQUE KEY id (id)
                  );";
        require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
        dbDelta($sql);
    }</code></pre>
    <p>While there are other ways to create and update database tables for your WordPress plugin, it’s hard to ignore the flexibility of the <code>dbDelta()</code> function.</p>
    <h3>Know the Difference Between include, include_once, require, and require_once</h3>
    <p>There will come a time during the development of your plugin where you will want to put code into other files so that maintaining your plugin is a bit easier. For instance, a common practice is to create a functions.php file that contains all of the shared functions that all of the files in your plugin can use.</p>
    <p>Let’s say your main plugin file is named myplugin.php and you want to include the functions.php file. You can use any of these lines of code to do it:</p>
    <pre><code class="language-php">include 'functions.php';
    include_once 'functions.php';
    require 'functions.php';
    require_once 'functions.php';</code></pre>
    <p>But which should you use? It mostly depends on your expected outcome of the file not being there.</p>
    <ul>
    <li><strong>include:</strong> Includes and evaluates the specified file, throwing a warning if the file can’t be found.</li>
    <li><strong>include_once:</strong> Same as include, but if the file has already been included it will not be included again.</li>
    <li><strong>require:</strong> Includes and evaluates the specified file (same as include), but instead of a warning, throws a fatal error if the file can’t be found.</li>
    <li><strong>require_once:</strong> Same as require, but if the file has already been included it will not be included again.</li>
    </ul>
    <p>My experience has been to always use <code>include_once</code> because a) how I structure and use my files usually requires them to be included once and only once, and b) if a required file can’t be found I don’t expect parts of the plugin to work, but it doesn’t need to break anything else either.</p>
    <p>Your expectations may vary from mine, but it’s important to know the subtle differences between the four ways of including files.</p>
    <h3>Use bloginfo(‘wpurl’) Instead of bloginfo(‘url’)</h3>
    <p>By and large, WordPress is installed in the root folder of a website; it’s standard operating procedure. However, every now and then you’ll come across websites that install WordPress into a separate subdirectory under the root. Seems innocent enough, but the location of WordPress is critically important.</p>
    <p>To demonstrate, in the “General Settings” section of the WordPress admin panel, you’ll find the “WordPress address (URL)” and “Site address (URL)” settings, and for sites where WordPress is installed into the root directory, they will have the exact same values:</p>
    <p><img src="http://www.smashingmagazine.com/wp-content/uploads/2011/02/general-settings-same-url.jpg" alt="" title="general-settings-same-url" width="525" height="84" class="alignnone size-full wp-image-90926" /></p>
    <p>But for sites where WordPress is installed into a subdirectory under the root (in this case a “wordpress” subdirectory), their values will be different:</p>
    <p><img src="http://www.smashingmagazine.com/wp-content/uploads/2011/02/general-settings-different-url.jpg" alt="" title="general-settings-different-url" width="525" height="84" class="alignnone size-full wp-image-90925" /></p>
    <p>At this stage it’s important to know the following:</p>
    <ul>
    <li><strong>bloginfo(‘wpurl’)</strong> equals the “WordPress address (URL)” setting</li>
    <li><strong>bloginfo(‘url’)</strong> equals the “Site address (URL)” setting</li>
    </ul>
    <p>Where this matters is when you need to build URLs to certain resources or pages. For example, if you want to provide a link to the WordPress login screen, you could do this:</p>
    <pre><code class="language-php">// URL will be http://mydomain.com/wp-login.php
    <a href="<?php bloginfo('url') ?>/wp-login.php">Login</a></code></pre>
    <p>But that won’t resolve to the correct URL in the scenario such as the one above where WordPress is installed to the “wordpress” subdirectory. To do this correctly, you must use <code>bloginfo('wpurl')</code> instead:</p>
    <pre><code class="language-php">// URL will be http://mydomain.com/wordpress/wp-login.php
    <a href="<?php bloginfo('wpurl') ?>/wp-login.php">Login</a></code></pre>
    <p>Using <code>bloginfo('wpurl')</code> instead of <code>bloginfo('url')</code> is the safest way to go when building links and URLs inside your plugin because it works in both scenarios: when WordPress is installed in the root of a website and also when it’s installed in a subdirectory. Using <code>bloginfo('url')</code> only gets you the first one.</p>
    <h3>How and When to Use Actions and Filters</h3>
    <p>WordPress allows developers to add their own code during the execution of a request by providing various hooks. These hooks come in the form of actions and filters:</p>
    <ul>
    <li><strong>Actions</strong>: WordPress invokes actions at certain points during the execution request and when certain events occur.</li>
    <li><strong>Filters</strong>: WordPress uses filters to modify text before adding it to the database and before displaying it on-screen.</li>
    </ul>
    <p>The number of actions and filters is quite large, so we can’t get into them all here, but let’s at least take a look at how they are used.</p>
    <p>Here’s an example of how to use the <code>admin_print_styles</code> action, which allows you to add your own stylesheets to the WordPress admin pages:</p>
    <pre><code class="language-php">add_action('admin_print_styles', 'myplugin_admin_print_styles');
    function myplugin_admin_print_styles() {
        $handle = 'myplugin-css';
        $src = MYPLUGIN_PLUGIN_URL . '/styles.css';
        wp_register_style($handle, $src);
        wp_enqueue_style($handle);
    }</code></pre>
    <p>And here’s how you would use the <code>the_content</code> filter to add a “Follow me on Twitter!” link to the bottom of every post:</p>
    <pre><code class="language-php">add_filter('the_content', 'myplugin_the_content');
    function myplugin_the_content($content) {
        $output = $content;
        $output .= '<p>';
        $output .= '<a href="http://twitter.com/username">Follow me on Twitter!</a>';
        $output .= '</p>';
        return $output;
    }</code></pre>
    <p>It’s impossible to write a WordPress plugin without actions and filters, and knowing what’s available to use and when to use them can make a big difference. See the WordPress codex page <a href="http://codex.wordpress.org/Plugin_API/Action_Reference">“Plugin API/Action Reference”</a><sup class="po" id="note-4"><a href="#4">4</a></sup> for the complete list of actions and the page <a href="http://codex.wordpress.org/Plugin_API/Filter_Reference">“Plugin API/Filter Reference”</a><sup class="po" id="note-5"><a href="#5">5</a></sup> for the complete list of filters.</p>
    <p><em><strong>Tip:</strong> Pay close attention to the order in which the actions are listed on its codex page. While not an exact specification, my experimentation and trial-and-error has shown it to be pretty close to the order in which actions are invoked during the WordPress request pipeline.</em></p>
    <h3>Add Your Own Settings Page or Admin Menu</h3>
    <p>Many WordPress plugins require users to enter settings or options for the plugin to operate properly, and the way plugin authors accomplish this is by either adding their own settings page to an existing menu or by adding their own new top-level admin menu to WordPress.</p>
    <h4>How to Add a Settings Page</h4>
    <p>A common practice for adding your own admin settings page is to use the <code>add_menu()</code> hook to call the <code>add_options_page()</code> function:</p>
    <pre><code class="language-php">add_action('admin_menu', 'myplugin_admin_menu');
    function myplugin_admin_menu() {
        $page_title = 'My Plugin Settings';
        $menu_title = 'My Plugin';
        $capability = 'manage_options';
        $menu_slug = 'myplugin-settings';
        $function = 'myplugin_settings';
        add_options_page($page_title, $menu_title, $capability, $menu_slug, $function);
    }
    function myplugin_settings() {
        if (!current_user_can('manage_options')) {
            wp_die('You do not have sufficient permissions to access this page.');
        }
        // Here is where you could start displaying the HTML needed for the settings
        // page, or you could include a file that handles the HTML output for you.
    }</code></pre>
    <p>By invoking the <code>add_options_page()</code> function, we see that the “My Plugin” option has been added to the built-in <strong>Settings</strong> menu in the WordPress admin panel:</p>
    <p class="showcase"><img src="http://www.smashingmagazine.com/wp-content/uploads/2011/02/admin-menu-options-page.jpg" alt="" title="admin-menu-options-page" width="147" height="207" class="alignnone size-full wp-image-91029" /></p>
    <p>The <code>add_options_page()</code> function is really just a wrapper function on top of the <code>add_submenu_page()</code> function, and there are other wrapper functions that do similar work for the other sections of the WordPress admin panel:</p>
    <ul>
    <li>add_dashboard_page()</li>
    <li>add_posts_page()</li>
    <li>add_media_page()</li>
    <li>add_links_page()</li>
    <li>add_pages_page()</li>
    <li>add_comments_page()</li>
    <li>add_theme_page()</li>
    <li>add_plugins_page()</li>
    <li>add_users_page()</li>
    <li>add_management_page()</li>
    </ul>
    <h4>How to Add a Custom Admin Menu</h4>
    <p>Those wrapper functions work great, but what if you wanted to create your own admin menu section for your plugin? For example, what if you wanted to create a “My Plugin” admin section with more than just the Settings page, such as a Help page? This is how you would do that:</p>
    <pre><code class="language-php">add_action('admin_menu', 'myplugin_menu_pages');
    function myplugin_menu_pages() {
        // Add the top-level admin menu
        $page_title = 'My Plugin Settings';
        $menu_title = 'My Plugin';
        $capability = 'manage_options';
        $menu_slug = 'myplugin-settings';
        $function = 'myplugin_settings';
        add_menu_page($page_title, $menu_title, $capability, $menu_slug, $function);
        // Add submenu page with same slug as parent to ensure no duplicates
        $sub_menu_title = 'Settings';
        add_submenu_page($menu_slug, $page_title, $sub_menu_title, $capability, $menu_slug, $function);
        // Now add the submenu page for Help
        $submenu_page_title = 'My Plugin Help';
        $submenu_title = 'Help';
        $submenu_slug = 'myplugin-help';
        $submenu_function = 'myplugin_help';
        add_submenu_page($menu_slug, $submenu_page_title, $submenu_title, $capability, $submenu_slug, $submenu_function);
    }
    function myplugin_settings() {
        if (!current_user_can('manage_options')) {
            wp_die('You do not have sufficient permissions to access this page.');
        }
        // Render the HTML for the Settings page or include a file that does
    }
    function myplugin_help() {
        if (!current_user_can('manage_options')) {
            wp_die('You do not have sufficient permissions to access this page.');
        }
        // Render the HTML for the Help page or include a file that does
    }</code></pre>
    <p>Notice that this code doesn’t use any of the wrapper functions. Instead, it calls <code>add_menu_page()</code> (for the parent menu page) and <code>add_submenu_page()</code> (for the child pages) to create a separate “My Plugin” admin menu that contains the Settings and Help pages:</p>
    <p class="showcase"><img src="http://www.smashingmagazine.com/wp-content/uploads/2011/02/admin-menu-custom.jpg" alt="" title="admin-menu-custom" width="147" height="233" class="alignnone size-full wp-image-91091" /></p>
    <p>One advantage of adding your own custom menu is that <strong>it’s easier for users to find the settings for your plugin</strong> because they aren’t buried within one of the built-in WordPress admin menus. Keeping that in mind, if your plugin is simple enough to only require a single admin page, then using one of the wrapper functions might make the most sense. But if you need more than that, creating a custom admin menu is the way to go.</p>
    <h3>Provide a Shortcut to Your Settings Page with Plugin Action Links</h3>
    <p>In much the same way that adding your own custom admin menu helps give the sense of a well-rounded plugin, plugin action links work in the same fashion. So what are plugin action links? It’s best to start with a picture:</p>
    <p><img src="http://www.smashingmagazine.com/wp-content/uploads/2011/02/plugin-action-links-none.jpg" alt="" title="plugin-action-links-none" width="525" height="118" class="alignnone size-full wp-image-91097" /></p>
    <p>See the “Deactivate” and “Edit” links underneath the name of the plugin? Those are plugin action links, and WordPress provides a filter named <code>plugin_action_links</code> for you to add more. Basically, <strong>plugin action links are a great way to add a quick shortcut to your most commonly used admin menu page</strong>.</p>
    <p>Keeping with our Settings admin page, here’s how we would add a plugin action link for it:</p>
    <pre><code class="language-php">add_filter('plugin_action_links', 'myplugin_plugin_action_links', 10, 2);
    function myplugin_plugin_action_links($links, $file) {
        static $this_plugin;
        if (!$this_plugin) {
            $this_plugin = plugin_basename(__FILE__);
        }
        if ($file == $this_plugin) {
            // The "page" query string value must be equal to the slug
            // of the Settings admin page we defined earlier, which in
            // this case equals "myplugin-settings".
            $settings_link = '<a href="' . get_bloginfo('wpurl') . '/wp-admin/admin.php?page=myplugin-settings">Settings</a>';
            array_unshift($links, $settings_link);
        }
        return $links;
    }</code></pre>
    <p>With this code in place, now when you view your plugins list you’ll see this:</p>
    <p><img src="http://www.smashingmagazine.com/wp-content/uploads/2011/02/plugin-action-links-settings.jpg" alt="" title="plugin-action-links-settings" width="550" height="118" class="alignnone size-full wp-image-91112" /></p>
    <p>Here we provided a plugin action link to the Settings admin page, which is the same thing as clicking on Settings from our custom admin menu. The benefit of the plugin action link is that <strong>users see it immediately after they activate the plugin</strong>, thus adding to the overall experience.</p>
    <h3>Additional Resources</h3>
    <p>I’ve covered a lot in this article, but there’s plenty more out there to keep you busy awhile. The most comprehensive documentation for WordPress plugin development can be found on the <a href="http://codex.wordpress.org/">WordPress Codex</a><sup class="po" id="note-6"><a href="#6">6</a></sup>, a huge collection of pages documenting everything that is WordPress. Below are some of the more pertinent links from the codex you’ll need:</p>
    <ul>
    <li><a href="http://codex.wordpress.org/Writing_a_Plugin">Writing a Plugin</a><sup class="po" id="note-7"><a href="#7">7</a></sup> – If you’re brand new to WordPress plugin development, start here.</li>
    <li><a href="http://codex.wordpress.org/Plugin_API/Action_Reference">Plugin API – Action Reference</a><sup class="po" id="note-8"><a href="#8">8</a></sup></li>
    <li><a href="http://codex.wordpress.org/Plugin_API/Filter_Reference">Plugin API – Filter Reference</a><sup class="po" id="note-9"><a href="#9">9</a></sup></li>
    <li><a href="http://codex.wordpress.org/Pluggable_Functions">Pluggable Functions</a><sup class="po" id="note-10"><a href="#10">10</a></sup></li>
    <li><a href="http://codex.wordpress.org/Data_Validation">Data Validation</a><sup class="po" id="note-11"><a href="#11">11</a></sup></li>
    </ul>
    <p>I also suggest reading Joost de Valk’s article “<a href="http://www.smashingmagazine.com/2010/07/30/lessons-learned-from-maintaining-a-wordpress-plug-in/">Lessons Learned From Maintaining a WordPress Plug-In</a><sup class="po" id="note-12"><a href="#12">12</a></sup>“, which provides more good tips on WordPress plugin development.</p>
    <p><em>(vf) (ik)</em></p>
    <h4 class="po">Footnotes</h4><ol class="po"><li id="#1"><a href="#note-1">1 http://www.smashingmagazine.com/wp-content/uploads/2011/03/wordpress_plugin.jpg</a></li><li id="#2"><a href="#note-2">2 http://ditio.net/2011/01/29/wordpress-debug-bar-plugin-blackbox/</a></li><li id="#3"><a href="#note-3">3 http://codex.wordpress.org/Creating_Tables_with_Plugins</a></li><li id="#4"><a href="#note-4">4 http://codex.wordpress.org/Plugin_API/Action_Reference</a></li><li id="#5"><a href="#note-5">5 http://codex.wordpress.org/Plugin_API/Filter_Reference</a></li><li id="#6"><a href="#note-6">6 http://codex.wordpress.org/</a></li><li id="#7"><a href="#note-7">7 http://codex.wordpress.org/Writing_a_Plugin</a></li><li id="#8"><a href="#note-8">8 http://codex.wordpress.org/Plugin_API/Action_Reference</a></li><li id="#9"><a href="#note-9">9 http://codex.wordpress.org/Plugin_API/Filter_Reference</a></li><li id="#10"><a href="#note-10">10 http://codex.wordpress.org/Pluggable_Functions</a></li><li id="#11"><a href="#note-11">11 http://codex.wordpress.org/Data_Validation</a></li><li id="#12"><a href="#note-12">12 http://www.smashingmagazine.com/2010/07/30/lessons-learned-from-maintaining-a-wordpress-plug-in/</a></li></ol>                                           <div id="textadtarget"></div>
                            <div class="lt">
                <a href="http://www.smashingmagazine.com/tag/essentials/">Essentials</a><a href="http://www.smashingmagazine.com/tag/php/">PHP</a><a href="http://www.smashingmagazine.com/tag/plugins/">Plugins</a>        </div>
            <p><a href="#top" class="top single" title="Jump to the top of the page">↑ Back to top</a><a class="sot single" href="https://twitter.com/intent/tweet?original_referer=http%3A%2F%2Fwww.smashingmagazine.com%2F2011%2F03%2F08%2Ften-things-every-wordpress-plugin-developer-should-know%2F&source=tweetbutton&text=Ten%20Things%20Every%20WordPress%20Plugin%20Developer%20Should%20Know&url=http%3A%2F%2Fwww.smashingmagazine.com%2F2011%2F03%2F08%2Ften-things-every-wordpress-plugin-developer-should-know%2F&via=smashingmag" title="Share on Twitter!">Share on Twitter</a></p>
        </article>
        <div class="bio clearfix">
            <div class="grv">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/5d1c4c4bffa1f1133b17dc54f7bf40d1?s=78&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D78&r=G" class="avatar avatar-78 photo" height="78" width="78" />        </div>
            <div class="about">
                <a rel="author" class="poa" href="http://www.smashingmagazine.com/author/dave-donaldson/?rel=author" title="Posts by Dave Donaldson">Dave Donaldson</a>            <p>Dave lives in Columbus, OH and is one of the founders of <a href="http://maxfoundry.com/">Max Foundry</a>, a company that makes WordPress plugins for <a href="http://maxfoundry.com/plugins/maxlanding/">landing pages</a>, <a href="http://maxfoundry.com/plugins/maxsqueeze/">squeeze pages</a>, <a href="http://maxfoundry.com/plugins/maxsales/">sales pages</a>, and <a href="http://maxfoundry.com/plugins/maxab/">A/B testing</a>. You can <a href="http://twitter.com/arcware">follow Dave on Twitter</a> and <a href="http://arcware.net">on his blog</a>, where he writes about living the bootstrapped startup life.</p>
            </div>
        </div>
            <div class="ras clearfix">
            <h2>Related Articles</h2>
                            <div class="ra clearfix">
                        <a class="pp" href="http://www.smashingmagazine.com/2014/09/25/the-ultimate-guide-to-choosing-a-wordpress-host/"><img width="84" height="84" src="http://www.smashingmagazine.com/wp-content/uploads/2014/09/illu-wp-14.jpg" class="attachment-related-thumb wp-post-image" alt="illu-wp-14" /></a>
                        <h3><a href="http://www.smashingmagazine.com/2014/09/25/the-ultimate-guide-to-choosing-a-wordpress-host/">The Ultimate Guide To Choosing A WordPress Host</a></h3>
                    </div>
                            <div class="ra clearfix">
                        <a class="pp" href="http://www.smashingmagazine.com/2014/08/27/customizing-wordpress-archives-categories-terms-taxonomies/"><img width="84" height="84" src="http://www.smashingmagazine.com/wp-content/uploads/2014/08/wordpress-blue-illu.jpg" class="attachment-related-thumb wp-post-image" alt="wordpress-blue-illu" /></a>
                        <h3><a href="http://www.smashingmagazine.com/2014/08/27/customizing-wordpress-archives-categories-terms-taxonomies/">Customizing WordPress Archives For Categories, Tags And Other Taxonomies</a></h3>
                    </div>
                            <div class="ra clearfix">
                        <a class="pp" href="http://www.smashingmagazine.com/2014/08/27/a-tour-of-wordpress-4-0/"><img width="84" height="84" src="http://www.smashingmagazine.com/wp-content/uploads/2014/08/wp-logo-4-0-illu.png" class="attachment-related-thumb wp-post-image" alt="wp-logo-4-0-illu" /></a>
                        <h3><a href="http://www.smashingmagazine.com/2014/08/27/a-tour-of-wordpress-4-0/">A Quick Tour Of WordPress 4.0</a></h3>
                    </div>
                </div>
        <div class="adv">
        <span class="declare">Advertising</span>
        <div id="commentspnsrtarget"></div>
    </div>
    <ul id="comments" class="sub-tabs clearfix">
        <li><a href="#show-comments" class="active">94 Comments</a></li>
        </ul>
    <div id="discussion" class="subtab-pages">
        <div id="show-comments">
                        <ol id="comments-overview" class="cl">
                        <li class="comment even thread-even depth-1 clearfix">
            <span class="cn">1</span>
            <div class="c" id="comment-169926">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/b473ef78b653e5aa33656f54f7f090bc?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Eddie Gear</h3>
                    <span class="dati">
                        <a title="Commentlink #1" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169926">
                            March 8, 2011 5:48 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Great insights Dave. I loved the way you have pointed out the things that any developer that needs to keep track of. Thanks for sharing.</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169926" class="inpsyde_extended_comments_rate positive">3</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169926" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment odd alt thread-odd thread-alt depth-1 clearfix">
            <span class="cn">2</span>
            <div class="c" id="comment-169927">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/be19e396141c6328782a2852844d58f1?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Frederick Luna</h3>
                    <span class="dati">
                        <a title="Commentlink #2" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169927">
                            March 8, 2011 6:07 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Intersting stuff about adding a custom menu and a settings page :D great post Dave.</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169927" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169927" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment even thread-even depth-1 clearfix">
            <span class="cn">3</span>
            <div class="c" id="comment-169928">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/53c424111bd9e2571763aed8c55c3745?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Matt Rittman</h3>
                    <span class="dati">
                        <a title="Commentlink #3" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169928">
                            March 8, 2011 6:26 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Great article Dave! This will really help out my future endeavors with WordPress plugin development. Thanks for sharing!</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169928" class="inpsyde_extended_comments_rate positive">3</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169928" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment odd alt thread-odd thread-alt depth-1 clearfix">
            <span class="cn">4</span>
            <div class="c" id="comment-169929">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/0b95637f2168ded35b2d9812f3fbaf9f?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>David</h3>
                    <span class="dati">
                        <a title="Commentlink #4" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169929">
                            March 8, 2011 6:27 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>This is brilliant, thanks for the write up. Bookmarked! I see that you recommend the Blackbox debug plugin. Having just started creating my own plugins, why this and not the DebugBar plugin (<a href="http://wordpress.org/extend/plugins/debug-bar/" rel="nofollow">http://wordpress.org/extend/plugins/debug-bar/</a>)? What’s the primary difference?</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169929" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169929" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        <ul class="children">
        <li class="comment even depth-2 clearfix">
            <span class="cn">5</span>
            <div class="c" id="comment-169959">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/7f46ae04d74b786bcaabec5a431c7937?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Dave Donaldson</h3>
                    <span class="dati">
                        <a title="Commentlink #5" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169959">
                            March 8, 2011 3:31 pm                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>@David – I didn’t include the DebugBar plugin because it requires WordPress 3.1, which was only in Release Candidate mode at the time of writing. Both plugins provide similar debug info, so I suggest trying both and going with the one you like best.</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169959" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169959" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
    </ul><!-- .children -->
    </li><!-- #comment-## -->
        <li class="comment odd alt thread-even depth-1 clearfix">
            <span class="cn">6</span>
            <div class="c" id="comment-169930">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/fd58a5b6b89266f6095d15566f290ecd?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Chris</h3>
                    <span class="dati">
                        <a title="Commentlink #6" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169930">
                            March 8, 2011 6:35 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Great advices! I wish it would have been released much earlier – could have saved me a lot of time and trouble :)</p>
    <p>Regarding bloginfo(wpurl): The codex says to use site_url() instead, for it also supports https, eg. if is_ssl() is true.</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169930" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169930" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        <ul class="children">
        <li class="comment even depth-2 clearfix">
            <span class="cn">7</span>
            <div class="c" id="comment-169935">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/7f46ae04d74b786bcaabec5a431c7937?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Dave Donaldson</h3>
                    <span class="dati">
                        <a title="Commentlink #7" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169935">
                            March 8, 2011 7:09 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>@Chris – I can’t find the codex article that says to use site_url() instead of bloginfo(‘wpurl’), but yes, I suppose you could do that. There seems to be some confusion about whether or not site_url() includes the install directory of WordPress (if installed in a subdirectory), but looking at the core WordPress code it looks like it does.</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169935" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169935" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        <ul class="children">
        <li class="comment odd alt depth-3 clearfix">
            <span class="cn">8</span>
            <div class="c" id="comment-169995">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/46e57cfd694f0c9c91737a14e4913af8?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Christofer</h3>
                    <span class="dati">
                        <a title="Commentlink #8" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169995">
                            March 15, 2011 12:03 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>@Dave — Maybe, this is the page Chris referred to:<br />
    <a href="http://codex.wordpress.org/Function_Reference/get_bloginfo" rel="nofollow">http://codex.wordpress.org/Function_Reference/get_bloginfo</a></p>
    <p>“‘wpurl’ / ‘siteurl’ – Returns the ‘WordPress address (URI)’ [..] Consider using site_url() instead.”</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169995" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169995" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
    </ul><!-- .children -->
    </li><!-- #comment-## -->
    </ul><!-- .children -->
    </li><!-- #comment-## -->
        <li class="comment even thread-odd thread-alt depth-1 clearfix">
            <span class="cn">9</span>
            <div class="c" id="comment-169931">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/c41cbd0f894f1c1d570ab99a568e41d2?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Pete</h3>
                    <span class="dati">
                        <a title="Commentlink #9" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169931">
                            March 8, 2011 6:38 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Nice article, thanks for sharing. I especially like the notes on debugging & function prefixes. Hopefully this will change the coding habits of some Developers when writing a WP plugin.</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169931" class="inpsyde_extended_comments_rate positive">1</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169931" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment odd alt thread-even depth-1 clearfix">
            <span class="cn">10</span>
            <div class="c" id="comment-169932">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/1486cf246811f6cdaa9894d7f9ede233?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Donna Vitan</h3>
                    <span class="dati">
                        <a title="Commentlink #10" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169932">
                            March 8, 2011 6:48 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Another awesome and well described tutorial Dave! I especially love how concise the part about creating admin settings panel and menu.</p>
    <p>Cheers,</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169932" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169932" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment even thread-odd thread-alt depth-1 clearfix">
            <span class="cn">11</span>
            <div class="c" id="comment-169933">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/9c97d846b29e7a50e82af8ab40225023?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Thomas Bachmann</h3>
                    <span class="dati">
                        <a title="Commentlink #11" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169933">
                            March 8, 2011 6:55 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>thanks!<br />
    … if you are a trained professional developer and familiar with PHP only half of it should be new (wordpress specifics)</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169933" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169933" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment odd alt thread-even depth-1 clearfix">
            <span class="cn">12</span>
            <div class="c" id="comment-169934">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/e06e23e82d25e39ae6e04e77a3aad1a2?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Hung Bui</h3>
                    <span class="dati">
                        <a title="Commentlink #12" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169934">
                            March 8, 2011 7:04 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Great stuff! Very useful thought.</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169934" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169934" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment even thread-odd thread-alt depth-1 clearfix">
            <span class="cn">13</span>
            <div class="c" id="comment-169936">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/ae17fd59d1f4261b04860e1a8997892c?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>kwasseem</h3>
                    <span class="dati">
                        <a title="Commentlink #13" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169936">
                            March 8, 2011 7:30 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Precise and short; good, clear checkpoints!</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169936" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169936" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment odd alt thread-even depth-1 clearfix">
            <span class="cn">14</span>
            <div class="c" id="comment-169937">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/8f80a2914655c2dddf59bddd8af8e62d?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Samundra Shrestha</h3>
                    <span class="dati">
                        <a title="Commentlink #14" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169937">
                            March 8, 2011 7:33 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Really loved the way you have mentioned the tricks for wordpress developer. I liked the way you described the usuage of require, require_once, include and include_once. All most of us use them but never seem to care since we all use include_once most of the time :).</p>
    <p>I have already been using some of the tricks you have mentioned.</p>
    <p>Great Article.</p>
    <p>best regards,<br />
    Samundra Shrestha<br />
    Realtime Solutions, Nepal</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169937" class="inpsyde_extended_comments_rate negative">-3</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169937" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment even thread-odd thread-alt depth-1 clearfix">
            <span class="cn">15</span>
            <div class="c" id="comment-169938">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/7ba0e1a12efe734f77b4fba4d97dd8ef?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Pieter Carette</h3>
                    <span class="dati">
                        <a title="Commentlink #15" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169938">
                            March 8, 2011 7:35 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Great post. It makes me want to write a plugin! :)</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169938" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169938" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment odd alt thread-even depth-1 clearfix">
            <span class="cn">16</span>
            <div class="c" id="comment-169939">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/21fc7f3431b9b07560c2bdbd6b0389e2?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Joseph Carrington</h3>
                    <span class="dati">
                        <a title="Commentlink #16" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169939">
                            March 8, 2011 7:37 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Good stuff. I’d point out that using a class as a fill-in for a namespace is not exactly the intention of OOP however.</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169939" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169939" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        <ul class="children">
        <li class="comment even depth-2 clearfix">
            <span class="cn">17</span>
            <div class="c" id="comment-169940">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/7f46ae04d74b786bcaabec5a431c7937?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Dave Donaldson</h3>
                    <span class="dati">
                        <a title="Commentlink #17" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169940">
                            March 8, 2011 7:53 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>@Joseph Carrington – You’re right, using classes as a namespace fill-in is not the intention of OOP, but it is a common practice for avoiding function name collisions in PHP and WordPress.</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169940" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169940" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
    </ul><!-- .children -->
    </li><!-- #comment-## -->
        <li class="comment odd alt thread-odd thread-alt depth-1 clearfix">
            <span class="cn">18</span>
            <div class="c" id="comment-169941">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/41d0698209bfdc9cb69b31e8fccd1459?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Josh Hartman</h3>
                    <span class="dati">
                        <a title="Commentlink #18" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169941">
                            March 8, 2011 7:54 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Great info! I wasn’t aware of the bloginfo(‘wpurl’) vs. bloginfo(‘url’) difference.</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169941" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169941" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment even thread-even depth-1 clearfix">
            <span class="cn">19</span>
            <div class="c" id="comment-169942">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/aee526984fe85082c6a902d028806522?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>David</h3>
                    <span class="dati">
                        <a title="Commentlink #19" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169942">
                            March 8, 2011 7:54 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Really enjoyed this. It was encouraging that I found I was already doing most of these things. Some good tips, though, and I’ve updated my plugin with some of these suggestions.</p>
    <p>I tried blackbar, but got tons of deprecated errors, which kind of made me laugh…</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169942" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169942" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        <ul class="children">
        <li class="comment odd alt depth-2 clearfix">
            <span class="cn">20</span>
            <div class="c" id="comment-169943">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/7f46ae04d74b786bcaabec5a431c7937?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Dave Donaldson</h3>
                    <span class="dati">
                        <a title="Commentlink #20" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169943">
                            March 8, 2011 7:57 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>@David – Hehe, yea, the irony of that was not lost on me :-)</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169943" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169943" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
    </ul><!-- .children -->
    </li><!-- #comment-## -->
        <li class="comment even thread-odd thread-alt depth-1 clearfix">
            <span class="cn">21</span>
            <div class="c" id="comment-169944">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/907728625b3b0f36cfc56582a736d10a?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Vivek Parmar</h3>
                    <span class="dati">
                        <a title="Commentlink #21" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169944">
                            March 8, 2011 8:12 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Thanks for so much, getitng started with plugin development and wordpress theme development, and this article help me a lot in knowing many things that i do not know</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169944" class="inpsyde_extended_comments_rate positive">1</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169944" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment odd alt thread-even depth-1 clearfix">
            <span class="cn">22</span>
            <div class="c" id="comment-169945">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/03e89dba5cb218b78f43ac4ca2a6aec7?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>scasmflop</h3>
                    <span class="dati">
                        <a title="Commentlink #22" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169945">
                            March 8, 2011 8:53 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Great article, very informative without straying too far down rabbit trails.  Thanks.</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169945" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169945" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment even thread-odd thread-alt depth-1 clearfix">
            <span class="cn">23</span>
            <div class="c" id="comment-169946">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/429e15ea1f962e579cd1d59b0f0e6d37?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Raherian</h3>
                    <span class="dati">
                        <a title="Commentlink #23" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169946">
                            March 8, 2011 9:25 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Hi,<br />
    Using blackbox-debug-bar with wp_debug on true display a bunch of notices, not very good for developping :/</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169946" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169946" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        <ul class="children">
        <li class="comment odd alt depth-2 clearfix">
            <span class="cn">24</span>
            <div class="c" id="comment-169947">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/7f46ae04d74b786bcaabec5a431c7937?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Dave Donaldson</h3>
                    <span class="dati">
                        <a title="Commentlink #24" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169947">
                            March 8, 2011 9:28 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>@Raherian – But that’s kind of the point of enabling debugging in the first place, to see all of the notices you wouldn’t have otherwise known were there.</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169947" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169947" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        <ul class="children">
        <li class="comment even depth-3 clearfix">
            <span class="cn">25</span>
            <div class="c" id="comment-169955">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/429e15ea1f962e579cd1d59b0f0e6d37?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Raherian</h3>
                    <span class="dati">
                        <a title="Commentlink #25" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169955">
                            March 8, 2011 12:14 pm                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Yes but this plugin is usefull for developping, and i develop with wp_debug true, so having a bunch of notices while developping isn’t good.<br />
    It were a good idea to make a plugin available on repository only if he doesn’t have any notices, like themes ^^</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169955" class="inpsyde_extended_comments_rate positive">1</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169955" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
    </ul><!-- .children -->
    </li><!-- #comment-## -->
    </ul><!-- .children -->
    </li><!-- #comment-## -->
        <li class="comment odd alt thread-even depth-1 clearfix">
            <span class="cn">26</span>
            <div class="c" id="comment-169948">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/ec905543ea918ee9546033a8ec2bfca9?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>aurel</h3>
                    <span class="dati">
                        <a title="Commentlink #26" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169948">
                            March 8, 2011 9:32 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>So far I developed only two themes, both of them using different methods (or no method apart from “hope it will work”)</p>
    <p>it seems that these 10 plugins will make the process much easier to manage and hopefully to be able to understand by things work – that way things could stick in the head when developing the next theme</p>
    <p>thanks</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169948" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169948" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment even thread-odd thread-alt depth-1 clearfix">
            <span class="cn">27</span>
            <div class="c" id="comment-169949">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/fc6a528fe2b60482971b1642577ae43d?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Alan Stevens</h3>
                    <span class="dati">
                        <a title="Commentlink #27" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169949">
                            March 8, 2011 9:32 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Nice article, Dave. I don’t know if there is a codex article on using site_url() but this article has some good tips on guarding for ssl: <a href="http://blogs.sitepoint.com/2011/02/22/crimes-against-wordpress/" rel="nofollow">http://blogs.sitepoint.com/2011/02/22/crimes-against-wordpress/</a></p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169949" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169949" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment odd alt thread-even depth-1 clearfix">
            <span class="cn">28</span>
            <div class="c" id="comment-169950">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/1f7d16fe6425d85f05aa229464b49843?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Thai Bui</h3>
                    <span class="dati">
                        <a title="Commentlink #28" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169950">
                            March 8, 2011 9:35 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Great article. One of my biggest hurdles is debugging my plugins properly and these tips are outstanding.  I usually use firephp to see what’s going on with the variables being passed back and fourth.  Such an invaluable tool.</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169950" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169950" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment even thread-odd thread-alt depth-1 clearfix">
            <span class="cn">29</span>
            <div class="c" id="comment-169951">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/0f0319b397cd2a0443f73a94ab6934cf?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Conrad Muan</h3>
                    <span class="dati">
                        <a title="Commentlink #29" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169951">
                            March 8, 2011 10:16 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Great post. I’ll have to try blackbar in my future projects.</p>
    <p>I was also _just_ looking for a tutorial on adding menu items when I found this gem.</p>
    <p>Thanks again,<br />
    Conrad</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169951" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169951" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment odd alt thread-even depth-1 clearfix">
            <span class="cn">30</span>
            <div class="c" id="comment-169952">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/aac7e0386facd070f6d4b817c257a958?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Zé</h3>
                    <span class="dati">
                        <a title="Commentlink #30" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169952">
                            March 8, 2011 10:55 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Great article, but I am a little sad that i18n wasn’t contemplated from the beginning for all those strings, i.e.</p>
    <p><code>$page_title = __('My Plugin Settings', 'myplugin_textdomain');</code><br />
    instead of<br />
    <code>$page_title = 'My Plugin Settings';</code></p>
    <p>It’s great for all other languages to have plugins that are translatable from the get go.<br />
    <a href="http://codex.wordpress.org/I18n_for_WordPress_Developers" rel="nofollow">http://codex.wordpress.org/I18n_for_WordPress_Developers</a></p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169952" class="inpsyde_extended_comments_rate positive">1</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169952" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        <ul class="children">
        <li class="comment even depth-2 clearfix">
            <span class="cn">31</span>
            <div class="c" id="comment-169957">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/7f46ae04d74b786bcaabec5a431c7937?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Dave Donaldson</h3>
                    <span class="dati">
                        <a title="Commentlink #31" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169957">
                            March 8, 2011 2:55 pm                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>@Ze – I mentioned on another comment that I thought about including internationalization but decided against it for this article. The topic is probably big enough for another article on its own, so maybe I’ll write that one next.</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169957" class="inpsyde_extended_comments_rate positive">1</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169957" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
    </ul><!-- .children -->
    </li><!-- #comment-## -->
        <li class="comment odd alt thread-odd thread-alt depth-1 clearfix">
            <span class="cn">32</span>
            <div class="c" id="comment-169953">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/95c934fa2c3362794bf62ff8c59ada08?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Drew</h3>
                    <span class="dati">
                        <a title="Commentlink #32" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169953">
                            March 8, 2011 11:48 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Thanks for the lead on Blackbox!. I installed it mid-read on your post and played with it for 30 minutes on three of my sites. Then I remember I was reading your post so I came back to finish. Great roundup!</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169953" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169953" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment even thread-even depth-1 clearfix">
            <span class="cn">33</span>
            <div class="c" id="comment-169954">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/1a659e051ae2d889b0e4421408b6ff34?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Tomáš Kapler</h3>
                    <span class="dati">
                        <a title="Commentlink #33" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169954">
                            March 8, 2011 12:12 pm                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>one very common problem from US writers missing – forgotting internationalization so __(), _x(), _e() functions etc.</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169954" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169954" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        <ul class="children">
        <li class="comment odd alt depth-2 clearfix">
            <span class="cn">34</span>
            <div class="c" id="comment-169956">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/7f46ae04d74b786bcaabec5a431c7937?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Dave Donaldson</h3>
                    <span class="dati">
                        <a title="Commentlink #34" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169956">
                            March 8, 2011 12:29 pm                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>@Tomas – I thought about including a section on internationalization, but decided against it for this article. Maybe I’ll write another article just for that.</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169956" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169956" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
    </ul><!-- .children -->
    </li><!-- #comment-## -->
        <li class="comment even thread-odd thread-alt depth-1 clearfix">
            <span class="cn">35</span>
            <div class="c" id="comment-169958">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/815d913154a591f2c2b4718ef6003d98?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Brett Lewis</h3>
                    <span class="dati">
                        <a title="Commentlink #35" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169958">
                            March 8, 2011 3:23 pm                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>This is great  :)</p>
    <p>Thank you so much.</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169958" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169958" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment odd alt thread-even depth-1 clearfix">
            <span class="cn">36</span>
            <div class="c" id="comment-169960">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/d0517bf908028685b3b25b815ef75068?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Phuoc Huynh</h3>
                    <span class="dati">
                        <a title="Commentlink #36" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169960">
                            March 8, 2011 6:24 pm                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Thanks for this great. This is awesome !</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169960" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169960" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment even thread-odd thread-alt depth-1 clearfix">
            <span class="cn">37</span>
            <div class="c" id="comment-169961">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/909cdcfc310e3cdab83586232d6e81f8?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Patent Litigation</h3>
                    <span class="dati">
                        <a title="Commentlink #37" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169961">
                            March 8, 2011 10:03 pm                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Here is a similar story</p>
    <p>Until recently, migrating all your blogs to a single multisite blog was a massive task because of the need to resolve conflicting IDs across different tables. Fortunately, newer WordPress versions have built-in functions to make life a bit easier for all of us.</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169961" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169961" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment odd alt thread-even depth-1 clearfix">
            <span class="cn">38</span>
            <div class="c" id="comment-169962">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/30b5f53666c7c520e8142a372f8a54f6?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Steve mg</h3>
                    <span class="dati">
                        <a title="Commentlink #38" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169962">
                            March 8, 2011 11:02 pm                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>As a customer of WordPress plugins, my biggest gripe is the lack of screenshots displaying what the plugin does. Is it really that hard to grab screens? Great you’ve made this fantastic plugin, and also great that you’ve put it up for free, just telling me what it does, isn’t going to completely sell me on it.<br />
    Screenshots, do it.</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169962" class="inpsyde_extended_comments_rate positive">1</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169962" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment even thread-odd thread-alt depth-1 clearfix">
            <span class="cn">39</span>
            <div class="c" id="comment-169963">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/6666ae2b2012ee49fe01c5e18ebfe2d0?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Mick</h3>
                    <span class="dati">
                        <a title="Commentlink #39" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169963">
                            March 8, 2011 11:42 pm                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>I wish every single plugin developer followed these simple rules!<br />
    It would make life a little bit easier</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169963" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169963" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment odd alt thread-even depth-1 clearfix">
            <span class="cn">40</span>
            <div class="c" id="comment-169964">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/115ee6ccc6f3375410990a387bf5c0bb?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Justin</h3>
                    <span class="dati">
                        <a title="Commentlink #40" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169964">
                            March 9, 2011 12:43 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>This is a great article. Thanks for consolidating all of this information instead of making me search everywhere for it!</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169964" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169964" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment even thread-odd thread-alt depth-1 clearfix">
            <span class="cn">41</span>
            <div class="c" id="comment-169965">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/61ad912b724a2554976edd74ee6e0266?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Jerry</h3>
                    <span class="dati">
                        <a title="Commentlink #41" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169965">
                            March 9, 2011 12:45 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Dave, Awesome post. Pretty helpful for green-hands like me for wordpress.<br />
    Usually we use netbeans and X-debug for debugging. This time we could try blackbox for help :)</p>
    <p>One question: How do  you do unit test for new built WP plugin? Use PHPUnit or something else? I am quite new to the test procedure of PHP, any help will be much appreciated.</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169965" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169965" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment odd alt thread-even depth-1 clearfix">
            <span class="cn">42</span>
            <div class="c" id="comment-169966">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/8327520245e97889fca3b0270d69acc8?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>jeFFF</h3>
                    <span class="dati">
                        <a title="Commentlink #42" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169966">
                            March 9, 2011 12:59 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Thanks a lot for this great article Dave !</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169966" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169966" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment even thread-odd thread-alt depth-1 clearfix">
            <span class="cn">43</span>
            <div class="c" id="comment-169967">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/8291ab5d74a9f6d7b8a98ed62ad1709e?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Ruslan</h3>
                    <span class="dati">
                        <a title="Commentlink #43" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169967">
                            March 9, 2011 1:29 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>One thing that you have understand about include vs include_once, require vs require_once is performance penalty.</p>
    <p>If you develop your code, and you are 100% for sure, that after you included your file in following code it wont be included again, never use *_once functions. They are more resource eating that simple include or require.</p>
    <p>Read this article to understand difference in C level:<br />
    <a href="http://www.techyouruniverse.com/software/php-performance-tip-require-versus-require_once" rel="nofollow">http://www.techyouruniverse.com/software/php-performance-tip-require-versus-require_once</a></p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169967" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169967" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment odd alt thread-even depth-1 clearfix">
            <span class="cn">44</span>
            <div class="c" id="comment-169968">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/26c5bc5b88075a54b55ae54e98be2c09?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Fernando Agüero</h3>
                    <span class="dati">
                        <a title="Commentlink #44" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169968">
                            March 9, 2011 1:42 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>One of the best post written in Smashing Magazine. Now I have no doubts.</p>
    <p>Thank you!</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169968" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169968" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment even thread-odd thread-alt depth-1 clearfix">
            <span class="cn">45</span>
            <div class="c" id="comment-169969">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/00abc2999b2a32f9072fc8b9ae2ccfe9?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Baltech</h3>
                    <span class="dati">
                        <a title="Commentlink #45" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169969">
                            March 9, 2011 2:13 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Great you’ve made this fantastic plugin, and also great that you’ve put it up for free.It seems that these 10 plugins will make the process much easier to manage and hopefully to be able to understand by things. Thanks for give us this information.</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169969" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169969" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment odd alt thread-even depth-1 clearfix">
            <span class="cn">46</span>
            <div class="c" id="comment-169970">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/00abc2999b2a32f9072fc8b9ae2ccfe9?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Baltech</h3>
                    <span class="dati">
                        <a title="Commentlink #46" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169970">
                            March 9, 2011 2:14 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Great you’ve made this fantastic plugin, and also great that you’ve put it up for free.It seems that these 10 plugins will make the process much easier to manage and hopefully to be able to understand by things. Thanks for this useful knowledge..</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169970" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169970" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment even thread-odd thread-alt depth-1 clearfix">
            <span class="cn">47</span>
            <div class="c" id="comment-169971">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/48c28e5f2f6f1b32dd7beb2d9bb63d17?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Thorsten</h3>
                    <span class="dati">
                        <a title="Commentlink #47" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169971">
                            March 9, 2011 2:36 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>A very important topic that is missing here is Data Validation.<br />
    <a href="http://codex.wordpress.org/Data_Validation" rel="nofollow">http://codex.wordpress.org/Data_Validation</a></p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169971" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169971" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment odd alt thread-even depth-1 clearfix">
            <span class="cn">48</span>
            <div class="c" id="comment-169972">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/b8cefc2f7b65fd5e4204711ee5fc3d42?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Max</h3>
                    <span class="dati">
                        <a title="Commentlink #48" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169972">
                            March 9, 2011 3:05 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>One bad thing was described above.<br />
    When webmaster changes <em>wp-content</em> directory name, following code will break the site:<br />
    <code>define('MYPLUGIN_THEME_DIR', ABSPATH . 'wp-content/themes/' . get_template());</code><br />
    You should use following code instead wrong one:<br />
    <code>define('MYPLUGIN_THEME_DIR', WP_CONTENT_DIR . 'themes/' . get_template());</code></p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169972" class="inpsyde_extended_comments_rate positive">2</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169972" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        <ul class="children">
        <li class="comment even depth-2 clearfix">
            <span class="cn">49</span>
            <div class="c" id="comment-169976">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/7f46ae04d74b786bcaabec5a431c7937?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Dave Donaldson</h3>
                    <span class="dati">
                        <a title="Commentlink #49" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169976">
                            March 9, 2011 6:10 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>@Max – Good point, thanks for catching that. Using WP_CONTENT_DIR instead of a hardcoded ‘wp-content’ string would be better.</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169976" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169976" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment odd alt depth-2 clearfix">
            <span class="cn">50</span>
            <div class="c" id="comment-169998">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/41a7bd5fd7e182e3705c51338285f2a8?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>YellowShark</h3>
                    <span class="dati">
                        <a title="Commentlink #50" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169998">
                            March 15, 2011 9:53 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Thanks for pointing this out, I 100% concur – every WP install I do, I move the wp-content to site root, so i wind up with a nice structure like:<br />
    /themes<br />
    /plugins<br />
    /wordpress<br />
    /index.php</p>
    <p>Developers should definitely utilize WP_PLUGIN_DIR and WP_CONTENT_DIR. Google either of those terms for more info on how to leverage them.</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169998" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169998" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
    </ul><!-- .children -->
    </li><!-- #comment-## -->
        <li class="comment even thread-odd thread-alt depth-1 clearfix">
            <span class="cn">51</span>
            <div class="c" id="comment-169973">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/f439b5e33c6a8bf37337611cb6a9b283?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>STPo</h3>
                    <span class="dati">
                        <a title="Commentlink #51" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169973">
                            March 9, 2011 4:17 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>And please: do NOT fill the front-end HTML with plugin-specific CSS/jQuery/meta crap without a way to properly erase them if it is not required. I code my own front-end markup and i’m tired to see jQuery/Prototype/Mootools included everytime I use a plugin…</p>
    <p>PLEASE!</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169973" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169973" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment odd alt thread-even depth-1 clearfix">
            <span class="cn">52</span>
            <div class="c" id="comment-169974">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/8a01f1cc43100cc77bf7fa249f3486db?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>catalin cimpanu</h3>
                    <span class="dati">
                        <a title="Commentlink #52" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169974">
                            March 9, 2011 4:49 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Hell of a job on this article.</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169974" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169974" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment even thread-odd thread-alt depth-1 clearfix">
            <span class="cn">53</span>
            <div class="c" id="comment-169975">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/771eb1edb297f17b15e0efde616a840b?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>wparena</h3>
                    <span class="dati">
                        <a title="Commentlink #53" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169975">
                            March 9, 2011 5:36 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Although my current WordPress blogs have some of the SeO plugins installed I have found a good tips on your list that I must to follow</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169975" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169975" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment odd alt thread-even depth-1 clearfix">
            <span class="cn">54</span>
            <div class="c" id="comment-169977">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/a89d26529cebfe446596439bfe4cc74a?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>djavupixel</h3>
                    <span class="dati">
                        <a title="Commentlink #54" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169977">
                            March 9, 2011 10:56 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Good WordPress summary to develop a WordPress plugin.<br />
    Great work and good explanations!</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169977" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169977" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment even thread-odd thread-alt depth-1 clearfix">
            <span class="cn">55</span>
            <div class="c" id="comment-169978">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/628dfd9e3e905064c09ae089f60b2595?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Douglas Bonneville</h3>
                    <span class="dati">
                        <a title="Commentlink #55" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169978">
                            March 9, 2011 11:47 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Dave:  Great article – I’m going to give making a plugin a shot pretty soon and I’ll start here. I’ve edited a few, but this outline really lowers the threshold to new development. This is one of the best WordPress articles I’ve seen in a while, and certainly on my list of top articles at Smashing!</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169978" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169978" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment odd alt thread-even depth-1 clearfix">
            <span class="cn">56</span>
            <div class="c" id="comment-169979">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/5dfcd8fbb95d1a7cf5ef40eab3ba0611?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>darell</h3>
                    <span class="dati">
                        <a title="Commentlink #56" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169979">
                            March 9, 2011 4:36 pm                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Thanks for your post, it’s very helpful for my daily work and thoughts.</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169979" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169979" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment even thread-odd thread-alt depth-1 clearfix">
            <span class="cn">57</span>
            <div class="c" id="comment-169980">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/a91236f90b1063e60ad30e7c5f9e30bd?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Jurdefur</h3>
                    <span class="dati">
                        <a title="Commentlink #57" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169980">
                            March 10, 2011 1:38 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Seriously why is everybody still using wordpress its the biggest crap of code i ever seen, its like IE6 under the browsers…</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169980" class="inpsyde_extended_comments_rate negative">-1</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169980" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment odd alt thread-even depth-1 clearfix">
            <span class="cn">58</span>
            <div class="c" id="comment-169981">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/922a5911c9e2bba510333139d9f08122?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Christian K. Nordtømme</h3>
                    <span class="dati">
                        <a title="Commentlink #58" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169981">
                            March 10, 2011 2:29 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Thanks for this. I’m just now learning how to develop my own plugins, and have bookmarked this post.</p>
    <p>I also wish more plugin developers made the plugin’s documentation and help easier accessible, though.</p>
    <p>I don’t think digging up readme files from the plugin folder, rummaging through every page on the author’s website or trying to decipher the code in search of basic answers should be neccessary. Instead, a “Quick Start” action link (either to 100% self-explanatory settings or to a readme file) should be standard.</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169981" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169981" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment even thread-odd thread-alt depth-1 clearfix">
            <span class="cn">59</span>
            <div class="c" id="comment-169982">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/2901240fe75416f14f03fbdd82c00f87?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>jakub</h3>
                    <span class="dati">
                        <a title="Commentlink #59" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169982">
                            March 10, 2011 2:42 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>This is superuseful article! In-depth yet still accessible for occassional developers. Much better than “25 nice inspirational designs in pink” or “100 beautiful photos of furry pets” type stuff…</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169982" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169982" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment odd alt thread-even depth-1 clearfix">
            <span class="cn">60</span>
            <div class="c" id="comment-169983">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/41e4c684ba730c88e05fc9bdf563cbc2?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Marty</h3>
                    <span class="dati">
                        <a title="Commentlink #60" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169983">
                            March 10, 2011 3:08 pm                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>excellent post… stumbled.. :)</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169983" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169983" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment even thread-odd thread-alt depth-1 clearfix">
            <span class="cn">61</span>
            <div class="c" id="comment-169984">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/403337506ddc11158cad4b76d304fbe7?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>seedy</h3>
                    <span class="dati">
                        <a title="Commentlink #61" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169984">
                            March 10, 2011 11:38 pm                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>these articles are getting lamer and lamer</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169984" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169984" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment odd alt thread-even depth-1 clearfix">
            <span class="cn">62</span>
            <div class="c" id="comment-169985">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/de87d78c47a8f6e6802c23544ef4bd90?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>web3mantra</h3>
                    <span class="dati">
                        <a title="Commentlink #62" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169985">
                            March 11, 2011 3:18 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Thanks for sharing this post.I like this post.It contains good examples of wordpress plugin developer should know.</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169985" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169985" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment even thread-odd thread-alt depth-1 clearfix">
            <span class="cn">63</span>
            <div class="c" id="comment-169986">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/dd2e765b964f9f3887c4518b294e42ac?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>ig-ffm</h3>
                    <span class="dati">
                        <a title="Commentlink #63" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169986">
                            March 12, 2011 11:16 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>I really appreciate your posting. Thanks.</p>
    <p>There is one issue I’ld like to add: localization.<br />
    I have to translate all kinds of plugins and that can be a really annoying waste of time, if a plugin is not meant to be localized.</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169986" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169986" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment odd alt thread-even depth-1 clearfix">
            <span class="cn">64</span>
            <div class="c" id="comment-169987">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/70325f2bf83316d1ba0c44bbc9bc2b1e?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Rahul</h3>
                    <span class="dati">
                        <a title="Commentlink #64" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169987">
                            March 13, 2011 10:23 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Great post. Really helps a lot. But need to ask something. I saw this effect on a recently launched blog with wp posts coming in like a js gallery slider.</p>
    <p><a href="http://sputznik.com/" rel="nofollow">http://sputznik.com/</a></p>
    <p>How have they achieved this transition and post thing? Is there a plugin that I could use? Thanks for the help.</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169987" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169987" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        <ul class="children">
        <li class="comment even depth-2 clearfix">
            <span class="cn">65</span>
            <div class="c" id="comment-169991">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/7f46ae04d74b786bcaabec5a431c7937?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Dave Donaldson</h3>
                    <span class="dati">
                        <a title="Commentlink #65" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169991">
                            March 14, 2011 4:07 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>@Rahul – It looks like that transition is done with jQuery and the easing plugin for jQuery. Just give it a quick Google and you’ll find what you need.</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169991" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169991" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        <ul class="children">
        <li class="comment odd alt depth-3 clearfix">
            <span class="cn">66</span>
            <div class="c" id="comment-170002">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/70325f2bf83316d1ba0c44bbc9bc2b1e?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Rahul</h3>
                    <span class="dati">
                        <a title="Commentlink #66" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-170002">
                            March 24, 2011 11:23 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Thanks a ton. Is there any plugin for this?</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_170002" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="170002" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
    </ul><!-- .children -->
    </li><!-- #comment-## -->
    </ul><!-- .children -->
    </li><!-- #comment-## -->
        <li class="comment even thread-odd thread-alt depth-1 clearfix">
            <span class="cn">67</span>
            <div class="c" id="comment-169988">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/281d234ca83251614a66121a05cb8fad?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Manny Fleurmond</h3>
                    <span class="dati">
                        <a title="Commentlink #67" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169988">
                            March 13, 2011 9:26 pm                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>I also recommend using the plugins_url() function to find your plugins base directory:<br />
    <a href="http://codex.wordpress.org/Function_Reference/plugins_url" rel="nofollow">http://codex.wordpress.org/Function_Reference/plugins_url</a></p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169988" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169988" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment odd alt thread-even depth-1 clearfix">
            <span class="cn">68</span>
            <div class="c" id="comment-169989">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/f3fc67a71bef1394539fd4be794cb73e?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Dax Davis</h3>
                    <span class="dati">
                        <a title="Commentlink #68" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169989">
                            March 13, 2011 9:52 pm                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>This is a great post.  Thanks for bringing it all together in one place.</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169989" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169989" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment even thread-odd thread-alt depth-1 clearfix">
            <span class="cn">69</span>
            <div class="c" id="comment-169990">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/f8393ef67ed5144e15890d60eaa2289e?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Valentinas</h3>
                    <span class="dati">
                        <a title="Commentlink #69" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169990">
                            March 14, 2011 1:28 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Great article! Particularly the part about using wp_debug is a must-read for every plugin developer.<br />
    By the way, just wanted to point out that there is a function wp_login_url()  for login url. People should use this, because some plugins may modify it with filter that is inside it and bloginfo(‘wpurl’) . “/wp-login.php” is not necessary the right login URL.</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169990" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169990" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        <ul class="children">
        <li class="comment odd alt depth-2 clearfix">
            <span class="cn">70</span>
            <div class="c" id="comment-169992">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/7f46ae04d74b786bcaabec5a431c7937?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Dave Donaldson</h3>
                    <span class="dati">
                        <a title="Commentlink #70" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169992">
                            March 14, 2011 4:08 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>@Valentinas – Good catch about the wp_login_url() function, thanks for pointing that out.</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169992" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169992" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
    </ul><!-- .children -->
    </li><!-- #comment-## -->
        <li class="comment even thread-even depth-1 clearfix">
            <span class="cn">71</span>
            <div class="c" id="comment-169993">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/61a894194ade535460a0e34ed4b56c31?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Gavin Potts</h3>
                    <span class="dati">
                        <a title="Commentlink #71" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169993">
                            March 14, 2011 7:34 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Awesome post. 9 of 10 i’ve found extremely interesting and enlightening…</p>
    <p>I’d just like to query the tip: “Use bloginfo(‘wpurl’) Instead of bloginfo(‘url’)”. I believe this is bad advice.</p>
    <p>When developing a WordPress website, developers may be forced to work in a live environment with a holding page in place. If you use ‘wpurl’ in your themes/plugins, this will fail, as you will need to rename index.php and point ‘siteurl’ to the index page to have the website up for development.</p>
    <p>If all of your internal links are output with the ‘wpurl’ parameter, these will link to your holding page and you will have to type permalinks into your browser manually instead of clicking on links within the website.</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169993" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169993" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment odd alt thread-odd thread-alt depth-1 clearfix">
            <span class="cn">72</span>
            <div class="c" id="comment-169994">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/c92d3f3fe8e5b19bd7dc3d08142b400e?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Jim Krill</h3>
                    <span class="dati">
                        <a title="Commentlink #72" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169994">
                            March 14, 2011 6:54 pm                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>This is a great article for anyone wanting to develop a WordPress plugin.  Hopefully it will lead to some brilliant plug-ins which will enrich the WordPress community even more.</p>
    <p>Thanks Dave!</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169994" class="inpsyde_extended_comments_rate positive">1</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169994" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment even thread-even depth-1 clearfix">
            <span class="cn">73</span>
            <div class="c" id="comment-169996">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/e94a2e120ad98cc9d2708b156c6a1c69?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Philip Norton</h3>
                    <span class="dati">
                        <a title="Commentlink #73" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169996">
                            March 15, 2011 1:58 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>This is a great list, but one thing that every WordPress developer should know about (more important than knowing about require_once() etc) is nonces. Nonces are a very important part of WordPress that help to combat security problems and should definitely be on this list.<br />
    <a href="http://codex.wordpress.org/WordPress_Nonces" rel="nofollow">http://codex.wordpress.org/WordPress_Nonces</a></p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169996" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169996" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment odd alt thread-odd thread-alt depth-1 clearfix">
            <span class="cn">74</span>
            <div class="c" id="comment-169997">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/7ac2e44aeff39f6df1187cb0e4f7fb92?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Jason LaRose</h3>
                    <span class="dati">
                        <a title="Commentlink #74" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169997">
                            March 15, 2011 9:15 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>One thing every WordPress plugin developer should do is NOT include default styles for their generated HTML. Doing so means reverse engineering for other WordPress developers. If you do add default styles, add in the option to deactivate the CSS.</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169997" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169997" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment even thread-even depth-1 clearfix">
            <span class="cn">75</span>
            <div class="c" id="comment-169999">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/25c608d2c1b076011369920bfcd889a3?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Dan Coulter</h3>
                    <span class="dati">
                        <a title="Commentlink #75" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-169999">
                            March 15, 2011 12:12 pm                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Nothing about wp_enqueue_script()?</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_169999" class="inpsyde_extended_comments_rate positive">1</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="169999" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment odd alt thread-odd thread-alt depth-1 clearfix">
            <span class="cn">76</span>
            <div class="c" id="comment-170000">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/5c65fecb4e4179a59ebecb18034dcb64?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Permana Jayanta</h3>
                    <span class="dati">
                        <a title="Commentlink #76" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-170000">
                            March 15, 2011 6:40 pm                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Really helpful post as I’m writing WordPress plugin now. Maybe should added list of functions that can help plugin development, instead of writing a functions again.</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_170000" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="170000" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment even thread-even depth-1 clearfix">
            <span class="cn">77</span>
            <div class="c" id="comment-170001">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/0445bfc3e671c35b39d6036658c57a0e?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Kyathi</h3>
                    <span class="dati">
                        <a title="Commentlink #77" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-170001">
                            March 16, 2011 10:24 pm                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Thank you.. superb.. !!! its really helpful…</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_170001" class="inpsyde_extended_comments_rate positive">1</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="170001" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment odd alt thread-odd thread-alt depth-1 clearfix">
            <span class="cn">78</span>
            <div class="c" id="comment-170003">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/b80742b6d859d848f839c270c2543f3c?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Sterling Hamilton</h3>
                    <span class="dati">
                        <a title="Commentlink #78" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-170003">
                            April 9, 2011 11:15 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Hey there!</p>
    <p>A few things…</p>
    <p>In regards to dbDelta:<br />
    “require_once(ABSPATH . ‘wp-admin/includes/upgrade.php’);”</p>
    <p>That means you are now including a core WP file into your plugin…not really recommended. Further more, by doing that – it will start throwing aggressive cache busting headers. This will get in the way of caching plugins and proxies.</p>
    <p>Also – rather than prefixing every function, it’s better to just do an Object in PHP and give that a unique name. That way prefixing is not needed – just a unique object name.</p>
    <p>And the BlackBox plugin has been known to drastically slow down servers, so it should not be used in any sort of production environment.</p>
    <p>Also – you want to load your plugins meta data rather than creating your own. So version number/plugin path/etc are able to be loaded like this: <a href="https://gist.github.com/911684" rel="nofollow">https://gist.github.com/911684</a></p>
    <p>Another really good tip…do NOT rely on environment variables like HTTP_HOST, REQUEST_URI and such.</p>
    <p>These tend to be unreliable – its best to use the wordpress variables for determining locations and what not.</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_170003" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="170003" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment even thread-even depth-1 clearfix">
            <span class="cn">79</span>
            <div class="c" id="comment-170004">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/7a831efd240c56f74f4c4f2618d9a51a?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>cogmios`</h3>
                    <span class="dati">
                        <a title="Commentlink #79" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-170004">
                            May 6, 2011 10:30 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Because of the topic the “Objective Best Practices for Plugin Development?” on <a href="http://wordpress.stackexchange.com/questions/715/objective-best-practices-for-plugin-development" rel="nofollow">http://wordpress.stackexchange.com/questions/715/objective-best-practices-for-plugin-development</a> is also a good addition.</p>
    <p>Maybe to add to the debugging part: I also found using Zend Server community edition together with PHP PDT increase my debugging abilities (I dumped xampp for it).</p>
    <p> For making names unique well… I use php 5.3 with namespaces -end of problem- the language solves it for me. So I just state “this plugin is only for php 5.3 onwards” (although some discussion exist on “only 5.3″ <a href="http://groups.google.com/group/wp-hackers/browse_thread/thread/19dc7c7197f66754/9a60ad0b37ccaf1b?show_docid=9a60ad0b37ccaf1b&pli=1" rel="nofollow">http://groups.google.com/group/wp-hackers/browse_thread/thread/19dc7c7197f66754/9a60ad0b37ccaf1b?show_docid=9a60ad0b37ccaf1b&pli=1</a>)</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_170004" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="170004" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment odd alt thread-odd thread-alt depth-1 clearfix">
            <span class="cn">80</span>
            <div class="c" id="comment-170005">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/8c06582f15e2a41ca172044202c426eb?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>anyon</h3>
                    <span class="dati">
                        <a title="Commentlink #80" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-170005">
                            May 7, 2011 2:25 pm                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>rule #1 wordpress is coded badly you will not learn anything about design patterns or best practices from looking at the wordpress source code, use your initiative ;)</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_170005" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="170005" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment even thread-even depth-1 clearfix">
            <span class="cn">81</span>
            <div class="c" id="comment-170006">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/216c409be1cbf323cbd714f4010e6797?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Brett Widmann</h3>
                    <span class="dati">
                        <a title="Commentlink #81" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-170006">
                            May 10, 2011 7:22 pm                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Thanks for these really awesome tips! They will be really helpful.</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_170006" class="inpsyde_extended_comments_rate negative">-2</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="170006" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment odd alt thread-odd thread-alt depth-1 clearfix">
            <span class="cn">82</span>
            <div class="c" id="comment-170007">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/827b430098defd203fa74ed9ce92e0d9?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>mikaweb</h3>
                    <span class="dati">
                        <a title="Commentlink #82" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-170007">
                            September 11, 2011 2:28 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Nice tips. I’m currently writing my first plugin and it helped me a lot especially for the upgrade system.</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_170007" class="inpsyde_extended_comments_rate positive">2</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="170007" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment even thread-even depth-1 clearfix">
            <span class="cn">83</span>
            <div class="c" id="comment-170008">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/78d5156936de65aac7e00ea273db82e7?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>liskel</h3>
                    <span class="dati">
                        <a title="Commentlink #83" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-170008">
                            August 25, 2012 4:22 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Really nice things to keep in mind and great for beginners exploring the deep depths of wordpress plugin development!<br />
    Thanks!</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_170008" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="170008" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment odd alt thread-odd thread-alt depth-1 clearfix">
            <span class="cn">84</span>
            <div class="c" id="comment-170009">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/0fa974dbdfd8afc7390131f9fd4c097c?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Ryan S</h3>
                    <span class="dati">
                        <a title="Commentlink #84" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-170009">
                            September 14, 2012 12:09 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Hi thanks for the tip, I just notice in Settings link, I think there is the better way to declare setting link.</p>
    <p>something like this<br />
    $settings_link = ‘<a href="'.admin_url('admin.php?page=plugin-settings').'" rel="nofollow">Settings</a>‘;</p>
    <p>Ryan S</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_170009" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="170009" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        <ul class="children">
        <li class="comment even depth-2 clearfix">
            <span class="cn">85</span>
            <div class="c" id="comment-170010">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/0fa974dbdfd8afc7390131f9fd4c097c?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Ryan S</h3>
                    <span class="dati">
                        <a title="Commentlink #85" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-170010">
                            September 14, 2012 12:10 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Oops sorry for this second comment, it does not look good on my previous comment.</p>
    <p><code>$settings_link = '<a href="'.admin_url('admin.php?page=cx-events').'" rel="nofollow">Settings</a>';</code></p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_170010" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="170010" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
    </ul><!-- .children -->
    </li><!-- #comment-## -->
        <li class="comment odd alt thread-even depth-1 clearfix">
            <span class="cn">86</span>
            <div class="c" id="comment-170011">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/98d0a24074949185147845293651e72c?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Arch!tect</h3>
                    <span class="dati">
                        <a title="Commentlink #86" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-170011">
                            January 7, 2013 11:27 pm                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>thanks dude!</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_170011" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="170011" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment even thread-odd thread-alt depth-1 clearfix">
            <span class="cn">87</span>
            <div class="c" id="comment-170012">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/1cde71fd2000a3649df05c3be7fd7ba9?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>David Hazelden</h3>
                    <span class="dati">
                        <a title="Commentlink #87" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-170012">
                            February 17, 2013 8:04 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Good stuff!</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_170012" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="170012" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment odd alt thread-even depth-1 clearfix">
            <span class="cn">88</span>
            <div class="c" id="comment-170013">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/2af83baa1864c442b08865d2f9ed8223?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Byron Dunn</h3>
                    <span class="dati">
                        <a title="Commentlink #88" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-170013">
                            February 28, 2013 7:50 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Great article.  Being new to WP development, this is really helpful.  Even for those of us struggling to tweak plugins we use.</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_170013" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="170013" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment even thread-odd thread-alt depth-1 clearfix">
            <span class="cn">89</span>
            <div class="c" id="comment-170014">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/1441f3f17c4f72a0153415048e442bf0?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Manuel Marquez</h3>
                    <span class="dati">
                        <a title="Commentlink #89" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-170014">
                            March 21, 2013 1:43 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Thanks Dave,</p>
    <p>These are fantastic tips to start quality plugin development. Please keep up the good work!<br />
    Much appreciated.</p>
    <p>Cheers,<br />
    Manuel</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_170014" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="170014" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment odd alt thread-even depth-1 clearfix">
            <span class="cn">90</span>
            <div class="c" id="comment-170019">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/ad64f6ef4b9c5b4f8b3c90be203be4d2?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Alex Buri</h3>
                    <span class="dati">
                        <a title="Commentlink #90" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-170019">
                            June 28, 2013 3:04 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Clear and well-written – you’ve allowed me to understand php even in the middle of the night….<br />
    thanks</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_170019" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="170019" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment even thread-odd thread-alt depth-1 clearfix">
            <span class="cn">91</span>
            <div class="c" id="comment-170018">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://1.gravatar.com/avatar/7807fb5b55bfd79bc0c36c307b3a4bd8?s=38&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Juergen</h3>
                    <span class="dati">
                        <a title="Commentlink #91" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-170018">
                            October 14, 2013 11:31 pm                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Hello,<br />
    a really really good tutorial.<br />
    Thanks</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_170018" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="170018" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment odd alt thread-even depth-1 clearfix">
            <span class="cn">92</span>
            <div class="c" id="comment-170017">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/c1b4eb8751a973da835b8fb6588586aa?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Will</h3>
                    <span class="dati">
                        <a title="Commentlink #92" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-170017">
                            January 3, 2014 12:10 pm                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Thanks for the article. The menu stuff in particular was very helpful. </p>
    <p>I’d add 11): Understand how/when WordPress loads things. This flow chart of what happens during a WP request cycle is pretty illuminating: <a href="http://www.rarst.net/script/wordpress-core-load/" rel="nofollow">http://www.rarst.net/script/wordpress-core-load/</a> </p>
    <p>Couple of other handy flow charts linked from that page as well in particular this chart that explains WP Query Functions <a href="http://www.rarst.net/script/wordpress-query-functions/" rel="nofollow">http://www.rarst.net/script/wordpress-query-functions/</a></p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_170017" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="170017" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment even thread-odd thread-alt depth-1 clearfix">
            <span class="cn">93</span>
            <div class="c" id="comment-170015">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/e85eff52524a64e38ddc4316fb079c22?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>jack</h3>
                    <span class="dati">
                        <a title="Commentlink #93" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-170015">
                            January 20, 2014 12:02 am                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>i have developed a plugin for paggination along with a shortcode but the output is showing in dashboad and when adding shortcode in any pages then it displays output in pages.<br />
    Kindly suggest how to hide the output from dashbord.</p>
    <p>Thank You in advance</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_170015" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="170015" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
        <li class="comment odd alt thread-even depth-1 clearfix">
            <span class="cn">94</span>
            <div class="c" id="comment-170016">
            <div class="cau clearfix">
                <img alt="" src="http://www.smashingmagazine.com/wp-content/plugins/inpsyde-gravatar-load-delay/inc/frontend/../../assets/img/avatar-placeholder.png" data-gravatar-url="http://0.gravatar.com/avatar/6c94850a0051b2ab23ab7a18c7d4d181?s=38&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D38&r=G" class="avatar avatar-38 photo" height="38" width="38" />            <div class="aum">
                    <h3>Wordpress plugins</h3>
                    <span class="dati">
                        <a title="Commentlink #94" href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/#comment-170016">
                            February 20, 2014 10:04 pm                    </a>
                    </span>
                </div>
            </div>
            <div class="ctx">
                <p>Good post. I learn something totally new and challenging on blogs I stumbleupon on a daily basis. It will always be helpful to read through content from other authors and use something from their sites.</p>
            </div>
            <div class="com">
                            <div class="reply"></div>
                <div class="inpsyde_extended_comments_rate_wrapper clearfix" aria-live="polite">
        <div id="inpsyde_extended_comments_rate_170016" class="inpsyde_extended_comments_rate">0</div>
                <div class="inpsyde_extended_comments_rate_stars" data-comment_id="170016" data-action="inpsyde_extended_comments_rate"></div>
        </div>        </div>
        </div>
        </li><!-- #comment-## -->
                </ol>
                            </div>
        </div>
    </div></div><p><a href="#top" class="top" title="Jump to the top of the page">↑ Back to top</a></p>
    </div><div class="fo-na">
    <div class="mn" id="mn">
         <ul id="menu-smashing-mobile-network" class="mnu"><li class="mnh">Smashing Pages:</li><li id="menu-item-188956" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-188956 menu-item-books"><a href="http://www.smashingmagazine.com/books/">Books</a></li>
    <li id="menu-item-188957" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-188957 menu-item-ebooks"><a href="http://www.smashingmagazine.com/ebooks/">eBooks</a></li>
    <li id="menu-item-188955" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-188955 menu-item-workshops"><a href="http://www.smashingmagazine.com/smashing-workshops/">Workshops</a></li>
    <li id="menu-item-188959" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-188959 menu-item-email-newsletter"><a href="http://www.smashingmagazine.com/the-smashing-newsletter/">Email Newsletter</a></li>
    <li id="menu-item-188961" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-188961 menu-item-job-board"><a href="http://jobs.smashingmagazine.com">Job Board</a></li>
    <li id="menu-item-188958" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-188958 menu-item-about-us-impressum"><a href="http://www.smashingmagazine.com/about/">About us / Impressum</a></li>
    </ul>
         <ul id="menu-mobile-categories" class="mnu"><li class="mnh">Categories:</li><li id="menu-item-181575" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-181575 menu-item-coding"><a href="http://www.smashingmagazine.com/category/coding/">Coding</a></li>
    <li id="menu-item-181576" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-181576 menu-item-design"><a href="http://www.smashingmagazine.com/category/design/">Design</a></li>
    <li id="menu-item-181580" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-181580 menu-item-mobile"><a href="http://www.smashingmagazine.com/category/mobile/">Mobile</a></li>
    <li id="menu-item-181579" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-181579 menu-item-graphics"><a href="http://www.smashingmagazine.com/category/graphics/">Graphics</a></li>
    <li id="menu-item-181577" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-181577 menu-item-ux-design"><a href="http://www.smashingmagazine.com/category/uxdesign/">UX Design</a></li>
    <li id="menu-item-181578" class="menu-item menu-item-type-taxonomy menu-item-object-category current-post-ancestor current-menu-parent current-post-parent menu-item-181578 menu-item-wordpress"><a href="http://www.smashingmagazine.com/category/wordpress/"><span class="long"><span>Word</span><span>Press</span></span><span class="short">WP</span></a></li>
    </ul>
        <a href="#top" class="top" title="Jump to the top of the page">↑ Back to top</a>
    </div><div class="ms" id="ms">
      <form id="searching" class="sfm" method="get" action="http://www.smashingmagazine.com/search-results/" target="_top">
        <div class="clearfix">
          <input name="q" id="mobile-search-input" type="text" placeholder="e.g. CSS" />
          <button class="search_submit" type="submit">Search</button>
          <input type="hidden" name="cx" value="partner-pub-6779860845561969:5884617103">
          <input type="hidden" name="cof" value="FORID:10">
          <input type="hidden" name="ie" value="UTF-8">
        </div>
      </form>
      <a href="#top" class="top" title="Jump to the top of the page">↑ Back to top</a>
    </div> <!-- Search form --></div>
    </div><div id="wpsidebar" class="sb">
        <div class="col side">
            <div class="sf">
                <form method="get" action="http://www.smashingmagazine.com/search-results/" target="_top">
                    <label for="magazine-search">Search on Smashing Magazine</label>
                    <input id="magazine-search" name="q" type="text" placeholder="e.g. Responsive design" />
                    <button type="submit">Search</button>
                    <input type="hidden" name="cx" value="partner-pub-6779860845561969:5884617103">
                    <input type="hidden" name="cof" value="FORID:10">
                    <input type="hidden" name="ie" value="UTF-8">
                </form>
            </div>
            <div class="bw faw">
                        <span class="declare">Advertisement</span>
            <span class="awithus"><a class="sprite ed-us" href="mailto:advertising@smashingmagazine.com" title="Advertise with us!">Advertise with us!</a></span>
            <div id="spnsrlist-a"></div>
                        </div>
            <div class="sf wg">
          <h3>
              <a href="http://www.smashingmagazine.com/the-smashing-newsletter/">
                  <img src="http://www.smashingmagazine.com/files/smashing-widget/v006/img/smnl.png" alt="Smashing Newsletter" /> Smashing Newsletter
              </a>
          </h3>
          <p>Subscribe to our email newsletter for useful tips and valuable resources, sent out every second Tuesday.</p>
          <form action="http://smashingmagazine.us1.list-manage1.com/subscribe/post?u=16b832d9ad4b28edf261f34df&id=a1666656e0" method="post" id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form" class="validate">
            <input name="EMAIL" type="text" placeholder="email address" />
            <button class="search_submit" type="submit">Subscribe</button>
          </form>
        </div>
              <div class="bw">
            <div id="spnsrlist-b"></div>
          </div>
            <div class="so wg">
          <div class="fir">
            <a href="http://www.smashingmagazine.com/books/#digital-adaptation" style="border: none;">
              <img src="http://www.smashingmagazine.com/wp-content/uploads/2013/04/sidebar-digital-adaptation-paul-boag-v5-opt.png" alt="Digital Adaptation by Paul Boag">
            </a>
            <p>Nothing is more frustrating than <strong>stubborn management</strong>. That's why we have published <a href="http://www.smashingmagazine.com/books/#digital-adaptation">Digital Adaptation</a>, a new book by Paul Boag on how to help management overcome legacy practices - for good.</p>
          </div>
          <div class="sec">
            <a href="http://www.smashingmagazine.com/smashing-book-4-new-perspectives/?pk_campaign=sb4-sidebar"><img src="http://www.smashingmagazine.com/wp-content/uploads/2013/04/Smashing-Book-4-sidebar-transparent-opt.png" alt="Smashing Book #4"></a>
            <p>It's done. The <a href="http://www.smashingmagazine.com/smashing-book-4-new-perspectives/?pk_campaign=sb4-sidebar">Smashing Book #4</a>, our brand new book with smart <strong>front-end techniques</strong> and design approaches. Written by respected designers and developers, neatly packed in a gorgeous hardcover.</p>
          </div>
          <div class="thi">
            <a href="http://www.smashingmagazine.com/ebooks/?pk_campaign=sb4-sidebar">
                <img src="http://www.smashingmagazine.com/wp-content/uploads/2014/08/sidebar-smashing-library.png" alt="Smashing Library">
            </a>
                    <p>Hungry for more content? Over 60 <strong>eBooks</strong> are waiting to be discovered in our lovely <a href="http://www.smashingmagazine.com/ebooks/?pk_campaign=sb4-sidebar">Smashing Library</a>. And guess what? You can watch Smashing Conference talks there, too.</p>
                </div>
            </div>
                  <div class="bw">
            <div id="spnsrlist-c"></div>
          </div>
                <div class="wg">
          <div id="jobs">
            <h3>
                <a href="http://jobs.smashingmagazine.com/?pk_campaign=sm&piwik_kwd=widget">
                    <span>Smashing Job Board</span>
                    <img src="http://www.smashingmagazine.com/files/smashing-widget/v006/img/sm-jobs.png" alt="Smashing Jobs">
                </a>
            </h3>
            <ul class="tl">
              <li style="display:none;"></li>
              <ul class="tl"><li class="clearfix"><a href="http://feedproxy.google.com/~r/smjobs/~3/l1iopv9T-xg/2415960">Senior Web/Graphic Designer - RateHub - (Toronto, ON) - FullTime</a><p>Position for hire: Senior Web / Graphic designer
    Location: Downtown Toronto, ON
    Start Date: As soon as possible
    About us
    We’re a talen...</p></li><li class="clearfix"><a href="http://feedproxy.google.com/~r/smjobs/~3/ODntye-bheY/2415959">Senior Front-End Engineer (Yes, You can Work from Home) - Twin Technologies - (Altamont, New York) - FullTime</a><p>About the Opportunity
    We are seeking a few good men and women to help build a “best of breed” eCommerce platform that supports the creation, maintenance...</p></li></ul>        </ul>
            <a class="cr" href="http://jobs.smashingmagazine.com?pk_campaign=sm&piwik_kwd=widget">View more job openings…</a>
          </div>
        </div>
            <div id="sidebar_special-1"></div>
        <div id="sidebar_special-2"></div>
        <div class="sidebar_sky" id="sidebar_sky-1"></div>
        <div class="sidebar_sky" id="sidebar_sky-2"></div>
            </div>
    </div><div id="footer">
        
    <div class="fp clearfix">
        <a class="pi" href="http://www.smashingmagazine.com/smashing-book-4-new-perspectives/?pk_campaign=sb4-footer"><img src="http://www.smashingmagazine.com/wp-content/uploads/2013/10/smashing-book-4-footer-opt.png" alt="Smashing Book #4"></a>
        <p class="pd">
            <a href="http://www.smashingmagazine.com/smashing-book-4-new-perspectives/?pk_campaign=sb4-footer"><strong>Smashing Book #4</strong></a><br />Get our brand new Smashing Book #4, available as print and eBook. <a href="http://www.smashingmagazine.com/smashing-book-4-new-perspectives/?pk_campaign=sb4-footer">Learn more...</a>
        </p>
    </div>
    <div class="fp clearfix">
        <a class="pi" href="https://shop.smashingmagazine.com/smashing-library-complete.html?pk_campaign=smashingmagazine-footer"><img src="http://www.smashingmagazine.com/wp-content/uploads/2013/10/smashing-library-footer-new-opt.png" alt="The Smashing Library"></a>
        <p class="pd">
            <a href="https://shop.smashingmagazine.com/smashing-library-complete.html?pk_campaign=smashingmagazine-footer"><strong>The Smashing Library</strong></a><br />Grab all published and upcoming Smashing eBooks, in one swoop. <a href="https://shop.smashingmagazine.com/smashing-library-complete.html?pk_campaign=smashingmagazine-footer">Learn more...</a>
        </p>
    </div>
    <div class="fp clearfix">
        <a class="pi" href="http://www.smashingmagazine.com/smashing-workshops/"><img src="http://www.smashingmagazine.com/wp-content/uploads/2013/08/footer-brad-frost-opt.jpg" alt="Smashing Workshops"></a>
        <p class="pd">
            <a href="http://www.smashingmagazine.com/smashing-workshops/"><strong>Smashing Workshops</strong></a><br />Join our hands-on full-day workshops, run by experts of the industry. Good stuff. <a href="http://www.smashingmagazine.com/smashing-workshops/">Learn more...</a>
        </p>
    </div><p class="stmt"><em>With a commitment to quality content for the design community.</em><br />Founded by Vitaly Friedman and Sven Lennartz. 2006-2014.<br />Made in Germany. ? <a href="http://www.smashingmagazine.com/write-for-us/">Write for us</a> - <a href="http://www.smashingmagazine.com/contact/">Contact us</a> - <a href="http://www.smashingmagazine.com/about/">Impressum</a>.</p>
    </div>
        <script type="text/javascript">var clicky_site_ids=clicky_site_ids||[];clicky_site_ids.push(2727),function(){var e=document.createElement("script");e.type="text/javascript",e.async=!0,e.src="//static.getclicky.com/js",(document.getElementsByTagName("head")[0]||document.getElementsByTagName("body")[0]).appendChild(e)}();</script><noscript><p><img alt="Clicky" width="1" height="1" src="//in.getclicky.com/2727ns.gif" /></p></noscript>
        
        <script type='text/javascript' src='http://www.smashingmagazine.com/wp-content/themes/smashing-magazine/javascripts/ads.min.js?ver=2014.1.3'></script>
    <script type="text/javascript">var elements=["http://www.smashingmagazine.com/wp-content/themes/smashing-magazine/javascripts/onload.min.js?ver=2014.12.0","http://www.smashingmagazine.com/wp-content/themes/smashing-magazine/javascripts/prism.js"],downloadJSAtOnload=function(n){if("[object Array]"!==Object.prototype.toString.call(n))return 0;var t,e;for(t=0;t<n.length;t++)e=document.createElement("script"),e.src=n[t],document.body.appendChild(e);return !0};window.addEventListener ? window.addEventListener("load",function(){downloadJSAtOnload(elements)},!1):window.attachEvent ? window.attachEvent("onload",function(){downloadJSAtOnload(elements)}):window.onload=function(){downloadJSAtOnload(elements)};window.onload=function(){var avatars=document.querySelectorAll('.avatar');for(var i=0,length=avatars.length;i<length;i++){var gravatar_url=avatars[i].getAttribute('data-gravatar-url');avatars[i].src=gravatar_url;}};</script>
    <script type='text/javascript'>/* <![CDATA[ */  SmashingAds.load();   /* ]]> */</script><script type='text/javascript'>/* <![CDATA[ */  SmashingAds.postLoad();   /* ]]> */</script><script type='text/javascript'>/* <![CDATA[ */  SmashingAds.postPostLoad();   /* ]]> */</script>
    <script type="text/javascript">(function(){"use strict";if("querySelector" in document){var forEach=function(array,callback,scope){for(var i=0;i<array.length;i++){callback.call(scope,i,array[i]);}};var articles=document.getElementsByTagName("article");forEach(articles,function(i,el){var tagElements=el.querySelectorAll("li.tags a");var tags=[];forEach(tagElements,function(i,el){var content=el.innerText||el.textContent;tags.push(content.toLowerCase());});var image=el.querySelector(".at");if(image)image.setAttribute("data-adt-keywords",tags);});adtile("[data-adt-keywords]",{apiKey:"4624ca9f-0982-442f-b691-bb5f04643a74",channel:"technology",keywords:["Smashing Conference","Smashingconf","Whistler","Front-end","CSS","Javascript"],taglineFontFamily:"'Proxima Nova Bold','Helvetica Neue',Helvetica,Arial,sans-serif",taglineBorderRadius:"1.25em",colors:{iconBackground:"#e53b2c",closeButtonBackground:"#e53b2c"}});}})();</script>
    </body></html>
    <end node> 5P9i0s8y19Z
    dt=
    <node>WARNINGS
    1
    [FORMS]
    DO not use name="name" into inputs. RETURNS PAGE NOT FOUND
    <end node> 5P9i0s8y19Z
    ','Cheat Sheets','','inherit','closed','closed','','22-revision-v1','','','2017-12-22 00:41:00','2017-12-22 00:41:00','',22,'http://www.acctcrop.softwarewebdesign.com/2017/12/22/22-revision-v1/',0,'revision','',0); INSERT INTO `swd_posts` VALUES (24,1,'2017-12-22 00:52:07','2017-12-22 00:52:07','
    <node>CUSTOM CODING
    <node>Disable auto updates
    <node>Disable site
    <node>EXTERNAL PHP
    <node>Hacks
    <node>footer changes
    <node>Header Change
    <node>New user
    <node>is logged in
    <node>Merging admins
    <node>Protect Login Screen
    <node>redirect
    <node>Codects
    <node>database access
    <node>domain change
    <node>Embed wordpress page
    <node>MEMBERlogin
    <node>Redirect
    <node>database
    <node>get_row
    <node>MergeDatabases
    <node>minimum permissions
    <node>New subject
    <node>notes
    <node>plugin
    <node>backupWordpress
    <node>Contact form
    <node>shortcodes
    <node>WIDGET
    <node>example
    <node>new area
    <node>saved info
    <node>simple one

    <Treepad version 3.0>
    dt=
    <node>CUSTOM CODING
    0
    accepted
        
    If you are getting to the point where the code in your theme's functions.php is starting to overwhelm you I would definitely say you are ready to consider splitting it up into multiple files. I tend to do that almost by second nature at this point.
    Use Include Files in your Theme's functions.php File
    I create a subdirectory called "includes" under my theme directory and segment my code into include files organized by what makes sense to me at the time (which means I'm constantly refactoring and moving code around as a site evolves.) I also rarely put any real code in functions.php; everything goes in the include files; just my preference.
    Just to give you an example here's my test install that I use to test my answers to questions here on WordPress Answers. Every time I answer a question I keep the code around in case I need it again. This isn't exactly what you'll do for a live site but it shows the mechanics of splitting up the code:
    require_once('includes/null-meta-compare.php');
    require_once('includes/older-examples.php');
    require_once('includes/wp-admin-menu-classes.php');
    <end node> 5P9i0s8y19Z
    dt=
    <node>Disable auto updates
    1
    Example Coding Magic: Turn Off Automatic Updates
    Auto updates have been a part of WordPress since version 3.7. Not everyone likes this feature; many would like to turn it off. All you need to do is add this line of code to your
    wp-config.php file.
    1./* Disable WordPress automatic updates */
    .2.define( 'WP_AUTO_UPDATE_CORE', false );
    <end node> 5P9i0s8y19Z
    dt=
    <node>Disable site
    1
    In the header.php file of genisis
    <?php
    if(!is_user_logged_in()){
    echo "This site is under construction"; exit;
    }
    <end node> 5P9i0s8y19Z
    dt=
    <node>EXTERNAL PHP
    1
    home
    | photos
    |     login
      
    Integrating WP in external PHP pages
    24
    Jun
    I have several external pages that use the WP theme engine to wrap the content. I use the method found here, which worked great under WordPress 2.9.2. After upgrading to WP 3.0, these pages no longer worked as expected but instead generated 404s; it turns out the fix is rather simple.
    The code to include the WP theme in external pages used to look like this:
    < ?php 'OLD METHOD
    require('./wp-blog-header.php');
    get_header();
    ?>
    <h2>This is the external content.</h2>
    < ?php
    get_sidebar();
    get_footer();
    ?>
    The newest version of WP merged the old WordPress Multi-User (WPMU) and the standalone version of WordPress. Since this merger, the new way to include WP in external pages is to change the require() statement to pull in wp-load.php (instead of wp-blog-header.php) like this:
    < ?php
    require('./wp-load.php');
    get_header();
    ?>
    <h2>This is the external content.</h2>
    < ?php
    get_sidebar();
    get_footer();
    ?>
    Now your external pages work just like they used to! I found the answer on a BBPress forum post from nine months ago.
    This entry was posted on Thursday, June 24th, 2010 at 11:00 am and is filed under Web Development, WordPress. It was tagged with the following tags: php, web, WordPress. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.
    <end node> 5P9i0s8y19Z
    dt=
    <node>Hacks
    1
    new user: http://www.wpbeginner.com/wp-tutorials/how-to-add-an-admin-user-to-the-wordpress-database-via-mysql/
    <end node> 5P9i0s8y19Z
    dt=
    <node>footer changes
    2
    in the themes function.php add:
    remove_action( 'genesis_footer', 'genesis_do_footer' );
    add_action( 'genesis_footer', 'sp_custom_footer' );
    function sp_custom_footer() {
        ?>
        <p>Copyright 2015 - Software Web Design</p>
        <?php
    }
    <?php
    /**
    * Genesis Framework.
    *
    * WARNING: This file is part of the core Genesis Framework. DO NOT edit this file under any circumstances.
    * Please do all modifications in the form of a child theme.
    *
    * @package Genesis\\Templates
    * @author  StudioPress
    * @license GPL-2.0+
    * @link    http://my.studiopress.com/themes/genesis/
    */
    genesis_structural_wrap( 'site-inner', 'close' );
    echo '</div>'; //* end .site-inner or #inner
    add_filter( 'genesis_footer_creds_text', 'custom_footer_creds_text' );
    function custom_footer_creds_text() {
        echo '<div class="creds"><p>';     echo 'Copyright © ';     echo date('Y');     echo '·Built by <a href="http://www.kblegacydesigns.com">Kb Legacy Designs</a> & <a href="http://www.softwarewebdesign.com">Software Web Design</a> · ';     echo '</p></div>'; }
    do_action( 'genesis_before_footer' );
      
    do_action( 'genesis_footer' );

    do_action( 'genesis_after_footer' );

    echo '</div>'; //* end .site-container or #wrap
    do_action( 'genesis_after' );
    wp_footer(); //* we need this for plugins
    ?>
    </body>
    </html>
    Footer
    Make Sure you have ftp access just in case because I brought the site down using editor
    Code snippets should be placed in your child theme's functions.php file.
    For Beginners, you may wish to use the Simple Edits plugin to edit the footer from the admin area.
    For Intermediate users who need more control over the appearace of the footer –
    Below is the code to customize the Return to Top of Page text on your site:
    /** Customize the return to top of page text */add_filter( 'genesis_footer_backtotop_text', 'custom_footer_backtotop_text' ); function custom_footer_backtotop_text($backtotop) {     $backtotop = '[footer_backtotop text="Return to Top"]';     return $backtotop; }
    Below is the code to customize the Credits text on your site:
    /* Customize the credits exmpl1*/
    add_filter( 'genesis_footer_creds_text', 'custom_footer_creds_text' ); function custom_footer_creds_text() {     echo '<div class="creds"><p>';     echo 'Copyright © ';     echo date('Y');     echo ' · <a href="http://mydomain.com">My Custom Link</a> · Built on the <a href="http://www.studiopress.com/themes/genesis" title="Genesis Framework">Genesis Framework</a>';     echo '</p></div>'; }
    //Change  footer credits exmpl 2
    add_filter( 'genesis_footer_creds_text', 'custom_footer_creds_text' );
    function custom_footer_creds_text() {
        echo '<div class="creds"><p>';     echo 'Copyright © ';     echo date('Y');     echo ' · <a href="http://kblegacy.com">KB Legacy</a> · Built by KB Legacy Designs';     echo '</p></div>'; }
    Below is the code to customize the entire footer text on your site:
    /** Customize the entire footer */remove_action( 'genesis_footer', 'genesis_do_footer' ); add_action( 'genesis_footer', 'custom_footer' ); function custom_footer() {     ?>     <p>© Copyright 2012 <a href="http://mydomain.com/">My Domain</a> · All Rights Reserved · Powered by <a href="http://wordpress.org/">WordPress</a> · <a href="http://mydomain.com/wp-admin">Admin</a></p>     <?php }
    <end node> 5P9i0s8y19Z
    dt=
    <node>Header Change
    2
    <?php
    /*  Template Name: Include Page */
    add_action('genesis_meta', 'add_head');
    function add_head() {
        include("wpHeaderInclude.php");
    }

    Outreach Child Theme: wpHeaderInclude.php
    <link rel="stylesheet" href="<?php echo includes_url(); ?>/js/lightbox/lightbox.css" type="text/css" media="screen" >
    <script type="text/javascript" src="<?php echo includes_url(); ?>/js/lightbox/lightbox.js"></script>
    Just add your lightbox folder to the include/js folder
    =====================================================
    I actually found how to do it, it's pretty straight forward:
    1/ Register a function to be executed when the wp_head action fires:
    add_action('wp_head', 'my_function');
    2/ Make the function echo whatever you want in the header:
    function my_function()
    {
    <link rel="stylesheet" href="<?php echo includes_url(); ?>/js/lightbox/lightbox.css" type="text/css" media="screen" >
    echo '<meta name="robots" content="noindex, nofollow">';
    }
    Using this trick for the Facebook Like plugin, thanks to the smart Add Your Own Headers plugin that showed me pointers.
    <end node> 5P9i0s8y19Z
    dt=
    <node>New user
    2
    REQUIRES 3 INSERTS
    INSERT INTO `databasename`.`wp_users` (`ID`, `user_login`, `user_pass`, `user_nicename`, `user_email`, `user_url`, `user_registered`, `user_activation_key`, `user_status`, `display_name`) VALUES ('4', 'demo', MD5('demo'), 'Syed Balkhi', 'test@yourdomain.com', 'http://www.wpbeginner.com/', '2011-06-07 00:00:00', '', '0', 'Syed Balkhi');
    2    
    3    
    4    INSERT INTO `databasename`.`wp_usermeta` (`umeta_id`, `user_id`, `meta_key`, `meta_value`) VALUES (NULL, '4', 'wp_capabilities', 'a:1:{s:13:"administrator";s:1:"1";}');
    5    
    6    
    7    INSERT INTO `databasename`.`wp_usermeta` (`umeta_id`, `user_id`, `meta_key`, `meta_value`) VALUES (NULL, '4', 'wp_user_level', '10');
    wp_w3q1o7u0_usermeta
    WPBeginner» Blog» Tutorials» How to Add an Admin User to…
    How to Add an Admin User to the WordPress Database via MySQL
    Last updated on November 25th, 2014 by Editorial Staff
    Share This Article
    101
    Follow WPBeginner on YouTube
    How to Add an Admin User to the WordPress Database via MySQL
    Few days ago, we ran into an issue where a user’s site got hacked and their admin account was deleted from the database. This locked them out of their site without any other entry. We went in to the phpMyAdmin and created a new admin user to grant them access. In this article, we will show you a step by step guide on how to create an admin user in WordPress Database via MySQL.
    Note: You should always make a backup of your database before performing any MySQL edits. This tutorial requires basic understanding of how phpMyAdmin works.
    Video Tutorial
    If you don’t like the video or need more instructions, then continue reading.
    First, you need to login to phpMyAdmin and locate your WordPress database. (Below is a screenshot of a HostGator cPanel)
    cPanel phpMyAdmin
    Once you are in, we will be making changes to the wp_users and wp_usermeta tables. Lets go ahead and click on wp_users table.
    phpMyAdmin wp_users table
    We need to insert our new admin user’s information, so click on the Insert tab like it shows in the image above. In the insert form, add the following:
        ID – pick a number (in our example, we will use the number 4).
        user_login – insert the username you want to use to access the WordPress Dashboard.
        user_pass – add a password for this username. Make sure to select MD5 in the functions menu (Refer to the screenshot below).
        user_nicename – put a nickname or something else that you would like to refer yourself as.
        user_email – add the email you want to associate with this account.
        user_url – this would be the url to your website.
        user_registered – select the date/time for when this user is registered.
        user_status – set this to 0.
        display_name – put the name you like to display for this user on the site (it can be your user_nicename value as well).
        Click on the Go Button
    phpMyAdmin Insert values in wp_users table
    Next we are going to have to add the values to wp_usermeta table. Click on the wp_usermeta table and then click on the Insert tab just like the previous step. Then add the following information to the insert form:
        unmeta_id – leave this blank (it will be auto-generated)
        user_id – this will be the id of the user you created in the previous step. Remember we picked 4.
        meta_key – this should be wp_capabilities
        meta_value – insert this: a:1:{s:13:"administrator";s:1:"1";}
    Insert another row with the following information:
        unmeta_id – leave this blank (it will be auto-generated)
        user_id – this will be the id of the user you created in the previous step. Remember we picked 4.
        meta_key – this should be wp_user_level
        meta_value – 10
    Then click on the Go button, and you have created yourself a new username. Now you should be able to login to your wp-admin with the username and password you specified for this user. Once logged in, click on Users and edit the username you just created. Go down and click on the Save button (you don’t have to change anything). This will allow WordPress to go through and add some more information and clean-up the user we just added.
    SQL query
    For developers who want to speed this process up, you can simply drop this SQL query in your database.
    1    INSERT INTO `databasename`.`wp_users` (`ID`, `user_login`, `user_pass`, `user_nicename`, `user_email`, `user_url`, `user_registered`, `user_activation_key`, `user_status`, `display_name`) VALUES ('4', 'demo', MD5('demo'), 'Syed Balkhi', 'test@yourdomain.com', 'http://www.wpbeginner.com/', '2011-06-07 00:00:00', '', '0', 'Syed Balkhi');
    2    
    3    
    4    INSERT INTO `databasename`.`wp_usermeta` (`umeta_id`, `user_id`, `meta_key`, `meta_value`) VALUES (NULL, '4', 'wp_capabilities', 'a:1:{s:13:"administrator";s:1:"1";}');
    5    
    6    
    7    INSERT INTO `databasename`.`wp_usermeta` (`umeta_id`, `user_id`, `meta_key`, `meta_value`) VALUES (NULL, '4', 'wp_user_level', '10');
    Remember to change the databasename to the database you are working with. Also don’t forget to change the appropriate values.
    About the Editorial Staff
    Editorial Staff at WPBeginner is a team of WordPress lovers led by Syed Balkhi. Page maintained by Syed Balkhi.
    More on WPBeginner Right Now
        How to Easily Create a Responsive WordPress Slider with Soliloquy
        How to Easily Create a Responsive WordPress Slider with Soliloquy
        How We Increased Our Organic Search Traffic By Using HitTail
        How We Increased Our Organic Search Traffic By Using HitTail
        WordPress Custom Fields 101: Tips, Tricks, and Hacks
        WordPress Custom Fields 101: Tips, Tricks, and Hacks
        How to Get Google’s Verified Authorship for your WordPress Blog
        How to Get Google’s Verified Authorship for your WordPress Blog
    WPBeginner's WordPress Training Videos Free
    WPBeginner's Video Icon
    Our HD-Quality tutorial videos for WordPress Beginners will teach you how to use WordPress to create and manage your own website in about an hour. Get started now »
    Join over 130,000 WordPress Users
    who get fresh content from WPBeginner!
    <end node> 5P9i0s8y19Z
    dt=
    <node>is logged in
    1
    <?php
    if(!is_user_logged_in()){
    echo "This site is under construction"; exit;
    }
    <end node> 5P9i0s8y19Z
    dt=
    <node>Merging admins
    1
    Add this to the mystuff.php of the non wordpress admin FROM THE WINDSORSEVERANCESTORAGE.COM
    session_start();
    include("config.php");
    require_once("../wp-load.php");
    if(!is_user_logged_in() && $bypass!=true){
    echo "This site is under construction"; exit;
    } else $wordpress=true;
    if($wordpress==false){
        $db = mysql_pconnect($server, $user,$password);
        if (!$db){
            echo 'Error: Could not connect to database.  Please try again later.'; exit;
        }
        mysql_select_db($database);
        if($pageLevel=='')$pageLevel=3;
        if($LEVEL<$pageLevel && $bypass!=true){
            echo "<body onload=setTimeout(\\"location.href='LoginScreen.php'\\",2000)>";
            echo "You need to login with more security.<p>Click <a href='LoginScreen.php'>here</a> to continue.";$_SESSION['LEVEL']='';exit;
        }
    }else $_SESSION['LEVEL']=10;
    <end node> 5P9i0s8y19Z
    dt=
    <node>Protect Login Screen
    1
    This is done near the top in both files
    in the index.php of the root/wp-admin folder add:
    if($_GET["SWD"]!="") setcookie("SWD_ADMIN","swd", time()+(60*60*24*30),"/");
    in the root folder wp-login.php add:
    if($_COOKIE["SWD_ADMIN"]!="swd"){ echo "You have been terminated"; exit; }
    <end node> 5P9i0s8y19Z
    dt=
    <node>redirect
    1
    add_action( 'template_redirect', 'restrictPage_blah', 100 );
    function restrictPage_blah() {
    if( ! is_user_logged_in() && is_page('restrictedPage') )
    {
    wp_redirect( 'http://www.google.com' );
        exit;
    }
    }
    <end node> 5P9i0s8y19Z
    dt=
    <node>Codects
    1
    <?php
    require_once("../wp-load.php");
    require_once("swdFunctions.php");
    function current_session(){
       $sessionid =$_COOKIE["MYCOOKIE"];//$_SESSION["MYSESSION"];
        if($sessionid==""){
          $sessionid=strtotime(date("Y-m-d H:i:s")); setcookie("MYCOOKIE",$sessionid,time()+60*60*24*300);
        }
        return $sessionid;
    }
    get_header();
    include(get_site_url()."/swd/mdropdown.php");
    ?>
    <div id="content-full" class="grid col-940">
    </div><!-- end of #content-full -->
    <?php get_footer(); ?>
    <end node> 5P9i0s8y19Z
    dt=
    <node>database access
    2
    <?php
    $path = $_SERVER['DOCUMENT_ROOT'];
    include_once $path . '/wp-config.php';
    include_once $path . '/wp-load.php'; // THIS MAY BE THE ONLY LINE YOU MAY NEED
    include_once $path . '/wp-includes/wp-db.php';
    include_once $path . '/wp-includes/pluggable.php';
    // $wpdb is available, do stuff
    <end node> 5P9i0s8y19Z
    dt=
    <node>domain change
    2
    UPDATE wp_posts SET guid = replace(guid, 'http://www.old-domain.com','http://www.new-domain.com');
    UPDATE whs_posts SET guid = replace(guid, 'http://www.softwarewebsecure.com/WINDSORHAIR','http://new.windsorhairshoppe.com');
    <end node> 5P9i0s8y19Z
    dt=
    <node>Embed wordpress page
    2
    From the swinterTmpl.php from Storage
    include(includes_url()."storageLeaseForm.php?WPLOGIN=".STORAGE_MEMBER."&site1=".urlencode(site_url()));
                $include1 = get_pages('include=62'); $content = apply_filters('the_content',$include1[0]->post_content); echo $content;
                //echo includes_url()."storageLeaseForm.php?site1=".urlencode(site_url());
                break;
    ID: page/post ID (int)
    ?post_author: author ID (string)
    ?post_date: time-date string (YYYY-MM-DD HH:MM:SS), e.g., "2012-10-15 01:02:59"
    ?post_date_gmt: time-date string
    ?post_content: HTML (string)
    ?post_title
    ?post_excerpt: HTML (string)
    ?post_status: (publish|inherit|pending|private|future|draft|trash)
    ?comment_status: closed/open
    ?ping_status: (closed|open)
    ?post_password
    ?post_name: slug for page/post
    ?to_ping
    ?pinged
    ?post_modified: time-date string
    ?post_modified_gmt: time-date string
    ?post_content_filtered
    ?post_parent: parent ID (int)
    ?guid: URL
    ?menu_order: (int)
    ?post_type: (page|post|attachment)
    ?post_mime_type
    ?comment_count: number of comments (string)
    ?filter
    All values are strings unless otherwise shown as (int).
    <end node> 5P9i0s8y19Z
    dt=
    <node>MEMBERlogin
    2
    using the index.php
    <?php
    session_start();
    define('DARNELL_MEMBER', $_SESSION["DARNELL"]);
    //echo "shoot";exit;
    /**
    * Front to the WordPress application. This file doesn't do anything, but loads
    * wp-blog-header.php which does and tells WordPress to load the theme.
    *
    * @package WordPress
    */
    /**
    * Tells WordPress to load the WordPress theme and output it.
    *
    * @var bool
    */
    define('WP_USE_THEMES', true);
    /** Loads the WordPress Environment and Template */
    require( dirname( __FILE__ ) . '/wp-blog-header.php' );
    <end node> 5P9i0s8y19Z
    dt=
    <node>Redirect
    2
    [mix wordpress with non-wordpress site]
    $actual_link = "https://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
    $parse = parse_url($actual_link);
    //echo "dog--".$server1;
    if($parse['host']=="new.angeldesignsbydenise.com"){
       define('WP_USE_THEMES', true);
    // Loads the WordPress Environment and Template
       require( dirname( __FILE__ ) . '/wp-blog-header.php' );
       exit;
    }
    <end node> 5P9i0s8y19Z
    dt=
    <node>database
    1
    [MULTIPLE RECORDS]
    $rows=$wpdb->get_results($query);$num=$wpdb->num_rows;
    foreach ( $rows as $row ) {
        if($cnt>$defaultField){
            $dis.="\\n</td></tr></table><td width=175><table><tr><td><b>Member</b><td><b>Year<b></td>\\n";$cnt=0;
        }
       $donationid=$row->donationid;
        $last_name=$row->last_name;
        $last_name=ShortenString($last_name);
        $first_name=$row->first_name;
        $first_name=ShortenString($first_name);
        $authcode=$row->authcode;
        $datefill=$row->datefill;
        $timelapse=(int)((strtotime(date("Y-m-d"))-strtotime($datefill))/$yearlapse);
        if($timelapse==0)$timelapse="NEW";
    //REPORT FORMAT here
            if($authcode=="YES"){
                $dis.="<tr><td align=right>Anonymous</td><td width=20 style='text-align:center;'>$timelapse</td></tr>\\n";
            }else{
                $dis.="<tr><td align=right>$first_name $last_name</td><td width=20 style='text-align:center;'>$timelapse</td></tr>\\n";   // <td class=view>$first_name</td>    <td class=view>$address</td>    <td class=view>$city</td>    <td class=view>$state</td>    <td class=view>$zip</td>    <td class=view>$phone</td>    <td class=view>$email</td>    <td class=viewnumber align=right>$pay_interval</td>    <td class=view>$pay_option</td>    <td class=viewnumber align=right>$amount</td>    <td class=view>$datefill</td>    <td class=view>$responsecode</td>    <td class=viewnumber align=right>$subscriptionid</td>    <td class=view>$reasoncode</td>    <td class=view>$reasontext</td>    <td class=view>$authcode</td>    <td class=view>$avscode</td>    <td class=view>$cardType</td>    <td class=view>$cardnum</td>    <td class=view>$csc</td>    <td class=view>$month</td>    <td class=viewnumber align=right>$year</td>";
            }
        $cnt++;
    }
    SELECT Generic Results
    Generic, mulitple row results can be pulled from the database with get_results. The function returns the entire query result as an array, or NULL on no result. Each element of this array corresponds to one row of the query result and, like get_row, can be an object, an associative array, or a numbered array.
    <?php $wpdb->get_results('query', output_type); ?>
    query
        (string) The query you wish to run. Setting this parameter to null will return the data from the cached results of the previous query.
    output_type
        One of four pre-defined constants. Defaults to OBJECT. See SELECT a Row and its examples for more information.
            OBJECT - result will be output as a numerically indexed array of row objects.
            OBJECT_K - result will be output as an associative array of row objects, using first column's values as keys (duplicates will be discarded).
            ARRAY_A - result will be output as an numerically indexed array of associative arrays, using column names as keys.
            ARRAY_N - result will be output as a numerically indexed array of numerically indexed arrays.
    Since this function uses the '$wpdb->query()' function all the class variables are properly set. The results count for a 'SELECT' query will be stored in $wpdb->num_rows.
    [UPDATE OR DELETE]
    Run Any Query on the Database
    The query function allows you to execute any SQL query on the WordPress database. It is best to use a more specific function (see below), however, for SELECT queries.
    <?php $wpdb->query('query'); ?>
    query
        (string) The SQL query you wish to execute.
    The function returns an integer corresponding to the number of rows affected/selected. If there is a MySQL error, the function will return FALSE. (Note: since both 0 and FALSE can be returned, make sure you use the correct comparison operator: equality == vs. identicality ===).
    <end node> 5P9i0s8y19Z
    dt=
    <node>get_row
    2
    SELECT a Row
    To retrieve an entire row from a query, use get_row. The function can return the row as an object, an associative array, or as a numerically indexed array. If more than one row is returned by the query, only the specified row is returned by the function, but all rows are cached for later use. Returns OBJECT holding NULL if no result is found, consider this when using the returned value in arguments, see example below
    <?php $wpdb->get_row('query', output_type, row_offset); ?>
    query
    (string) The query you wish to run.
    output_type
    One of three pre-defined constants. Defaults to OBJECT.
    ¦OBJECT - result will be output as an object.
    ¦ARRAY_A - result will be output as an associative array.
    ¦ARRAY_N - result will be output as a numerically indexed array.
    row_offset
    (integer) The desired row (0 being the first). Defaults to 0.
    Examples
    Get all the information about Link 10.
    $mylink = $wpdb->get_row("SELECT * FROM $wpdb->links WHERE link_id = 10");
    The properties of the $mylink object are the column names of the result from the SQL query (in this example all the columns from the $wpdb->links table, but you could also query for specific columns only).
    echo $mylink->link_id; // prints "10"
    In contrast, using
    $mylink = $wpdb->get_row("SELECT * FROM $wpdb->links WHERE link_id = 10", ARRAY_A);
    would result in an associative array:
    echo $mylink['link_id']; // prints "10"
    and
    $mylink = $wpdb->get_row("SELECT * FROM $wpdb->links WHERE link_id = 10", ARRAY_N);
    would result in a numerically indexed array:
    echo $mylink[1]; // prints "10"
    If there is no record with ID 10 in the links table, null will be returned. The following would then be false:
    if ($mylink != null) {
      // do something with the link
      return true;
    } else {
      // no link found
      return false;
    }
    <end node> 5P9i0s8y19Z
    dt=
    <node>MergeDatabases
    2
    http://wordpress.stackexchange.com/questions/94018/merging-two-wp-posts-tables-while-avoiding-duplicates
    Import the new table as wp_posts_2, then join them and delete all duplicates based on post_content; then merge the two tables.
    The following SQL query (untested!) should give the posts from the new table to be deleted:
    SELECT wp2.* FROM wp_posts_2 as wp2 LEFT JOIN wp_posts as wp ON wp2.post_content = wp.post_content WHERE wp2.post_content = wp.post_content
    So, you can delete the entries with this query (also untested):
    DELETE wp_posts_2.* LEFT JOIN wp_posts as wp ON wp_posts_2.post_content = wp.post_content WHERE wp_posts_2.post_content = wp.post_content
    Then merge the two tables.
    <end node> 5P9i0s8y19Z
    dt=
    <node>minimum permissions
    2
    Below is an example of the minimum privileges a database user needs to have. Other database permissions are regarded as “extra” privileges that in most cases are not needed. A typical WordPress user should be granted the following database privileges only:
    The official documentation says to give the user all privs. Others suggest that you can restrict it to
    SELECT
    •INSERT
    •UPDATE
    •DELETE
    •CREATE
    •ALTER
    •INDEX
    •DROP optional
    Plugins etc can though call any statement they want so you would have to thoroughly test
    Data:
        SELECT
        INSERT
        UPDATE
    Example of How to Grant Access Privileges
    If you are upgrading WordPress, the above database permissions might not suffice between versions, WordPress might need to make further changes to the database. In this case, if you are only upgrading to the latest version of WordPress, add the below privileges to the WordPress database user:
    Structure:
        CREATE
        ALTER
    NOTE: Some plugins might require additional database privileges such as CREATE, DROP or DELETE and in those cases these privileges should be granted.
    <end node> 5P9i0s8y19Z
    dt=
    <node>New subject
    2
    <end node> 5P9i0s8y19Z
    dt=
    <node>notes
    2
    Interfacing With the Database
    WordPress provides a class of functions for all database manipulations. The class is called wpdb and is loosely based on the ezSQL class written and maintained by Justin Vincent.
    Using the $wpdb Object
    Methods in the wpdb() class should not be called directly.
    WordPress provides a global variable, $wpdb, which is an instantiation of the class already set up to talk to the WordPress database. Always use the global $wpdb variable. (Remember to globalize $wpdb before using it in any custom functions.)
    The $wpdb object can be used to read data from any table in the WordPress database (such as custom plugin tables), not just the standard tables that WordPress creates. For example to SELECT some information from a custom table called "mytable", you can do the following. $myrows = $wpdb->get_results( "SELECT id, name FROM mytable" );
    The $wpdb object can talk to any number of tables, but only one database: the WordPress database. In the rare case you need to connect to another database, you will have to instantiate your own object from the wpdb class with the appropriate connection details. For extremely complicated setups with many databases, consider using hyperdb instead. Run Any Query on the Database
    The query function allows you to execute any SQL query on the WordPress database. It is best to use a more specific function (see below), however, for SELECT queries.
    <?php $wpdb->query('query'); ?>
    query
    (string) The SQL query you wish to execute.
    The function returns an integer corresponding to the number of rows affected/selected. If there is a MySQL error, the function will return FALSE. (Note: since both 0 and FALSE can be returned, make sure you use the correct comparison operator: equality == vs. identicality ===).
    Note: As with all functions in this class that execute SQL queries, you must SQL escape all inputs (e.g., wpdb->escape($user_entered_data_string)). See the section entitled Protect Queries Against SQL Injection Attacks below.
    Examples
    Delete the 'gargle' meta key and value from Post 13. (We'll add the 'prepare' method to make sure we're not dealing with an illegal operation or any illegal characters):
    $wpdb->query(
        $wpdb->prepare(
            "
                    DELETE FROM $wpdb->postmeta
             WHERE post_id = %d
             AND meta_key = %s
            ",
                13, 'gargle'
            )
    );
    Performed in WordPress by delete_post_meta().
    Set the parent of Page 15 to Page 7.
    $wpdb->query(
        "
        UPDATE $wpdb->posts
        SET post_parent = 7
        WHERE ID = 15
            AND post_status = 'static'
        "
    );
    SELECT a Variable
    The get_var function returns a single variable from the database. Though only one variable is returned, the entire result of the query is cached for later use. Returns NULL if no result is found.
    <?php $wpdb->get_var('query',column_offset,row_offset); ?>
    query
    (string) The query you wish to run. Setting this parameter to null will return the specified variable from the cached results of the previous query.
    column_offset
    (integer) The desired column (0 being the first). Defaults to 0.
    row_offset
    (integer) The desired row (0 being the first). Defaults to 0.
    Examples
    Retrieve and display the number of users.
    <?php
    $user_count = $wpdb->get_var( "SELECT COUNT(*) FROM $wpdb->users" );
    echo "<p>User count is {$user_count}</p>";
    ?>
    Retrieve and display the sum of a Custom Field value.
    <?php
    // set the meta_key to the appropriate custom field meta key
    $meta_key = 'miles';
    $allmiles = $wpdb->get_var( $wpdb->prepare(
        "
            SELECT sum(meta_value)
            FROM $wpdb->postmeta
            WHERE meta_key = %s
        ",
        $meta_key
    ) );
    echo "<p>Total miles is {$allmiles}</p>";
    ?>
    SELECT a Row
    To retrieve an entire row from a query, use get_row. The function can return the row as an object, an associative array, or as a numerically indexed array. If more than one row is returned by the query, only the specified row is returned by the function, but all rows are cached for later use. Returns OBJECT holding NULL if no result is found, consider this when using the returned value in arguments, see example below.
    <?php $wpdb->get_row('query', output_type, row_offset); ?>
    query
    (string) The query you wish to run.
    output_type
    One of three pre-defined constants. Defaults to OBJECT.
    ¦OBJECT - result will be output as an object.
    ¦ARRAY_A - result will be output as an associative array.
    ¦ARRAY_N - result will be output as a numerically indexed array.
    row_offset
    (integer) The desired row (0 being the first). Defaults to 0.
    Examples
    Get all the information about Link 10.
    $mylink = $wpdb->get_row("SELECT * FROM $wpdb->links WHERE link_id = 10");
    The properties of the $mylink object are the column names of the result from the SQL query (in this example all the columns from the $wpdb->links table, but you could also query for specific columns only).
    echo $mylink->link_id; // prints "10"
    In contrast, using
    $mylink = $wpdb->get_row("SELECT * FROM $wpdb->links WHERE link_id = 10", ARRAY_A);
    would result in an associative array:
    echo $mylink['link_id']; // prints "10"
    and
    $mylink = $wpdb->get_row("SELECT * FROM $wpdb->links WHERE link_id = 10", ARRAY_N);
    would result in a numerically indexed array:
    echo $mylink[1]; // prints "10"
    If there is no record with ID 10 in the links table, null will be returned. The following would then be false:
    if ($mylink != null) {
      // do something with the link
      return true;
    } else {
      // no link found
      return false;
    }
    SELECT a Column
    To SELECT a column, use get_col. This function outputs a one dimensional array. If more than one column is returned by the query, only the specified column will be returned by the function, but the entire result is cached for later use. Returns an empty array if no result is found.
    <?php $wpdb->get_col('query',column_offset); ?>
    query
    (string) the query you wish to execute. Setting this parameter to null will return the specified column from the cached results of the previous query.
    column_offset
    (integer) The desired column (0 being the first). Defaults to 0.
    Examples
    For this example, assume the blog is devoted to information about automobiles. Each post describes a particular car (e.g. 1969 Ford Mustang), and three Custom Fields, manufacturer, model, and year, are assigned to each post. This example will display the post titles, filtered by a particular manufacturer (Ford), and sorted by model and year.
    The get_col form of the wpdb Class is used to return an array of all the post ids meeting the criteria and sorted in the correct order. Then a foreach construct is used to iterate through that array of post ids, displaying the title of each post. Note that the SQL for this example was created by Andomar.
    <?php
    $meta_key1        = 'model';
    $meta_key2        = 'year';
    $meta_key3        = 'manufacturer';
    $meta_key3_value    = 'Ford';
    $postids=$wpdb->get_col( $wpdb->prepare(
        "
        SELECT      key3.post_id
        FROM        $wpdb->postmeta key3
        INNER JOIN  $wpdb->postmeta key1
                    ON key1.post_id = key3.post_id
                    AND key1.meta_key = %s
        INNER JOIN  $wpdb->postmeta key2
                    ON key2.post_id = key3.post_id
                    AND key2.meta_key = %s
        WHERE       key3.meta_key = %s
                    AND key3.meta_value = %s
        ORDER BY    key1.meta_value, key2.meta_value
        ",
        $meta_key1,
        $meta_key2,
        $meta_key3,
        $meta_key3_value
    ) );
    if ( $postids )
    {
        echo "List of {$meta_key3_value}(s), sorted by {$meta_key1}, {$meta_key2}";
        foreach ( $postids as $id )
        {
            $post = get_post( intval( $id ) );
            setup_postdata( $post );
            ?>
            <p>
                <a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>">
                    <?php the_title(); ?>
                </a>
            </p>
            <?php
        }
    }
    ?>
    This example lists all posts that contain a particular custom field, but sorted by the value of a second custom field.
    <?php
    // List all posts with custom field Color, sorted by the value of custom field Display_Order
    // does not exclude any 'post_type'
    // assumes each post has just one custom field for Color, and one for Display_Order
    $meta_key1 = 'Color';
    $meta_key2 = 'Display_Order';
    $postids = $wpdb->get_col( $wpdb->prepare(
        "
        SELECT      key1.post_id
        FROM        $wpdb->postmeta key1
        INNER JOIN  $wpdb->postmeta key2
                    ON key2.post_id = key1.post_id
                    AND key2.meta_key = %s
        WHERE       key1.meta_key = %s
        ORDER BY    key2.meta_value+(0) ASC
        ",
            $meta_key2,
        $meta_key1
    ) );
    if ( $postids )
    {
        echo "List of {$meta_key1} posts, sorted by {$meta_key2}";
        foreach ( $postids as $id )
        {
            $post = get_post( intval( $id ) );
            setup_postdata( $post );
            ?>
            <p>
                <a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>">
                    <?php the_title(); ?>
                </a>
            </p>
            <?php
        }
    }
    ?>
    SELECT Generic Results
    Generic, mulitple row results can be pulled from the database with get_results. The function returns the entire query result as an array, or NULL on no result. Each element of this array corresponds to one row of the query result and, like get_row, can be an object, an associative array, or a numbered array.
    <?php $wpdb->get_results('query', output_type); ?>
    query
    (string) The query you wish to run. Setting this parameter to null will return the data from the cached results of the previous query.
    output_type
    One of four pre-defined constants. Defaults to OBJECT. See SELECT a Row and its examples for more information.
    ¦OBJECT - result will be output as a numerically indexed array of row objects.
    ¦OBJECT_K - result will be output as an associative array of row objects, using first column's values as keys (duplicates will be discarded).
    ¦ARRAY_A - result will be output as an numerically indexed array of associative arrays, using column names as keys.
    ¦ARRAY_N - result will be output as a numerically indexed array of numerically indexed arrays.
    Since this function uses the '$wpdb->query()' function all the class variables are properly set. The results count for a 'SELECT' query will be stored in $wpdb->num_rows.
    Examples
    Get the IDs and Titles of all the Drafts by User 5 and echo the Titles.
    $fivesdrafts = $wpdb->get_results(
        "
        SELECT ID, post_title
        FROM $wpdb->posts
        WHERE post_status = 'draft'
            AND post_author = 5
        "
    );
    foreach ( $fivesdrafts as $fivesdraft )
    {
        echo $fivesdraft->post_title;
    }
    Get all information on the Drafts by User 5.
    <?php
    $fivesdrafts = $wpdb->get_results(
        "
        SELECT *
        FROM $wpdb->posts
        WHERE post_status = 'draft'
            AND post_author = 5
        "
    );
    if ( $fivesdrafts )
    {
        foreach ( $fivesdrafts as $post )
        {
            setup_postdata( $post );
            ?>
            <h2>
                <a href="<?php the_permalink(); ?>" rel="bookmark" title="Permalink: <?php the_title(); ?>">
                    <?php the_title(); ?>
                </a>
            </h2>
            <?php
        }
        else
        {
            ?>
            <h2>Not Found</h2>
            <?php
        }
    }
    ?>
    INSERT rows
    Insert a row into a table.
    <?php $wpdb->insert( $table, $data, $format ); ?>
    table
    (string) The name of the table to insert data into.
    data
    (array) Data to insert (in column => value pairs). Both $data columns and $data values should be "raw" (neither should be SQL escaped).
    format
    (array|string) (optional) An array of formats to be mapped to each of the value in $data. If string, that format will be used for all of the values in $data. If omitted, all values in $data will be treated as strings unless otherwise specified in wpdb::$field_types.
    Possible format values: %s as string; %d as decimal number; and %f as float.
    After insert, the ID generated for the AUTO_INCREMENT column can be accessed with:
    $wpdb->insert_idThis function returns false if the row could not be inserted.
    Examples
    Insert two columns in a row, the first value being a string and the second a number:
    $wpdb->insert(
        'table',
        array(
            'column1' => 'value1',
            'column2' => 123
        ),
        array(
            '%s',
            '%d'
        )
    );
    UPDATE rows
    Update a row in the table. Returns false if errors, or the number of rows affected if successful.
    <?php $wpdb->update( $table, $data, $where, $format = null, $where_format = null ); ?>
    table
    (string) The name of the table to update.
    data
    (array) Data to update (in column => value pairs). Both $data columns and $data values should be "raw" (neither should be SQL escaped).
    where
    (array) A named array of WHERE clauses (in column => value pairs). Multiple clauses will be joined with ANDs. Both $where columns and $where values should be "raw".
    format
    (array|string) (optional) An array of formats to be mapped to each of the values in $data. If string, that format will be used for all of the values in $data.
    where_format
    (array|string) (optional) An array of formats to be mapped to each of the values in $where. If string, that format will be used for all of the items in $where.
    Possible format values: %s as string; %d as decimal number and %f as float. If omitted, all values in $where will be treated as strings.
    This function returns the number of rows updated, or false if there is an error.
    Examples
    Update a row, where the ID is 1, the value in the first column is a string and the value in the second column is a number:
    $wpdb->update(
        'table',
        array(
            'column1' => 'value1',    // string
            'column2' => 'value2'    // integer (number)
        ),
        array( 'ID' => 1 ),
        array(
            '%s',    // value1
            '%d'    // value2
        ),
        array( '%d' )
    );
    Attention: %d can't deal with comma values - if you're not using full numbers, use string/%s.
    Protect Queries Against SQL Injection Attacks
    For a more complete overview of SQL escaping in WordPress, see database Data Validation. That Data Validation article is a must-read for all WordPress code contributors and plugin authors.
    Briefly, though, all data in SQL queries must be SQL-escaped before the SQL query is executed to prevent against SQL injection attacks. This can be conveniently done with the prepare method, which supports both a sprintf()-like and vsprintf()-like syntax.
    Please note: As of 3.5, wpdb::prepare() enforces a minimum of 2 arguments. [more info]
    <?php $sql = $wpdb->prepare( 'query' , value_parameter[, value_parameter ... ] ); ?>
    query
    (string) The SQL query you wish to execute, with %s and %d placeholders. Any other % characters may cause parsing errors unless they are escaped. All % characters inside SQL string literals, including LIKE wildcards, must be double-% escaped as %%.
    value_parameter
    (int|string|array) The value to substitute into the placeholder. Many values may be passed by simply passing more arguments in a sprintf()-like fashion. Alternatively the second argument can be an array containing the values as in PHP's vsprintf() function. Care must be taken not to allow direct user input to this parameter, which would enable array manipulation of any query with multiple placeholders. Values must not already be SQL-escaped.
    Examples
    Add Meta key => value pair "Harriet's Adages" => "WordPress' database interface is like Sunday Morning: Easy." to Post 10.
    $metakey    = "Harriet's Adages";
    $metavalue    = "WordPress' database interface is like Sunday Morning: Easy.";
    $wpdb->query( $wpdb->prepare(
        "
            INSERT INTO $wpdb->postmeta
            ( post_id, meta_key, meta_value )
            VALUES ( %d, %s, %s )
        ",
            10,
        $metakey,
        $metavalue
    ) );
    Performed in WordPress by add_meta().
    <end node> 5P9i0s8y19Z
    dt=
    <node>plugin
    1
    [admin plugin]
    <?php
    ./*
    Plugin Name: swd_admin
    Description: A test plugin to demonstrate wordpress functionality
    Author: SWD
    Version: 0.1
    */
    add_action('admin_menu', 'test_plugin_setup_menu');
    function test_plugin_setup_menu(){
            add_menu_page( 'Test Plugin Page', 'Test Plugin', 'manage_options', 'test-plugin', 'swd_menu' );
    }
    function swd_menu(){
            echo "<h1>Hello World!</h1>";
    }
    ?>
    You may think that it may be super hard, but it really is not.

    All you have to do is create a new folder in the plugins directory. Example: /wp-content/plugins/yoursitename-plugin/
    Open a blank file and save it as “yoursitename-plugin.php”
    Put the following code in the file:
    <?php
    /*
    Plugin Name: Site Plugin for example.com
    Description: Site specific code changes for example.com
    */
    /* Start Adding Functions Below this Line */

    // this is widget code
    /* Stop Adding Functions Below this Line */
    ?>
    Now upload this file into the folder you created in the plugins directory. Then simply activate the plugin.
    <end node> 5P9i0s8y19Z
    dt=
    <node>backupWordpress
    2
    [Resolved] 3.4.3 update getting incorrect root directory
    Adding define( 'HMBKP_ROOT', dirname( __FILE__ )); to wp-config.php seems to fix the issue for me, thanks.
    <end node> 5P9i0s8y19Z
    dt=
    <node>Contact form
    2
    http://www.sitepoint.com/build-your-own-wordpress-contact-form-plugin-in-5-minutes/
    short codes
    <HEADER>
    <H1>Build Your Own WordPress Contact Form Plugin in 5 Minutes</H1>
    <DIV>
    <FIGURE>
    <A href="http://www.sitepoint.com/author/acollins/">
    <IMG src="http://1.gravatar.com/avatar/75eb5abf4f342e434c23fb0216631d3e?s=96&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&r=G">
    </A>     </FIGURE>
    <DIV>
    <DIV>
    <A href="http://www.sitepoint.com/author/acollins/">Agbonghama Collins</A>   </DIV>         </DIV>
    </DIV>
    <DIV>
    <P>Published <time>July 23, 2014</time>
    </P>
    </DIV>
    <DIV>
    <!-- make sure to update trackTweetsAndSubscriptions in scripts.js if the Tweet button DOM path changes in the future -->             <A href="https://twitter.com/share?text=Build+Your+Own+WordPress+Contact+Form+Plugin+in+5+Minutes&via=sitepointdotcom">
    <I>
    </I>              Tweet             </A>
    <!-- make sure to update trackTweetsAndSubscriptions in scripts.js if the Subscribe button DOM path changes in the future -->             <A href="https://confirmsubscription.com/h/y/1FD5B523FA48AA2B">
    <!--<i>
    </i>-->              Subscribe             </A>
    </DIV>
    </HEADER>
    <SECTION>
    <P>Most websites are typically designed to comply with standard web practices by including a dedicated page where a contact form is located. This provides visitors with an easy way to reach out to the site owner.</P>
    <P>In simple terms, a contact form has a set of questions and fields which are filled in by a visitor. The information is usually automatically sent via email to the site administrator or another nominated email account. It is worth noting that this email address isn’t displayed to visitors, so using a contact form typically reduces email spam from bots that harvest naked email addresses on the Internet. Contact forms play a very important role on a website, where they are used for collecting feedback, enquiries and other data from users.</P>
    <P>If your website is powered by WordPress, there are numerous plugins that seamlessly integrate a <STRONG>contact form</STRONG> on your website.</P>
    <P>In this article, I will provide a list of some free WordPress contact form plugins. I will also discuss why you should consider rolling your own contact form. Then, I will provide you with a short tutorial showing you how to build your own WordPress contact form plugin.</P>
    <H2>WordPress Contact Form Plugins</H2>
    <P>Before we get started, we’re going to go over a few of the popular free contact form plugins available in the <A href="https://wordpress.org/plugins/">WordPress Plugin Directory</A>. These are great to use, but even better to learn from when you’re getting started building your own plugins.</P>
    <P>Below are some of the most highly rated free contact form plugins for WordPress:</P>
    <OL>
    <LI>
    <P>
    <A href="http://wordpress.org/plugins/contact-form-7/">Contact Form 7</A> – This is the second <A href="http://wordpress.org/plugins/browse/popular/">most popular plugin</A> with over 18 million downloads, it could almost be considered as the de facto contact form plugin for a WordPress website. Contact Form 7 can manage multiple contact forms and you can customize the form and the email contents with simple markup. The form features include Ajax-powered submission, CAPTCHA, Akismet spam filtering and lots more.</P>
    </LI>
    <LI>
    <P>
    <A href="https://wordpress.org/plugins/contact-form-to-email/">Contact Form to Email</A> – This plugin not only creates contact forms and sends the data to a specified email address it also saves the contact form data into a database, providing printable reports and the option to export the selected data to CSV/Excel file.</P>
    </LI>
    <LI>
    <P>
    <A href="http://wordpress.org/plugins/formget-contact-form/">FormGet Contact Form</A> – An easy online drag and drop contact form builder tool. All you need to do is click on the fields that you want in your form, and within few seconds your contact form is ready.</P>
    </LI>
    <LI>
    <P>
    <A href="http://wordpress.org/plugins/contact-form-plugin/">Bestwebsoft Contact Form</A> – Allows you to implement a feedback form to a web page or a post effortlessly. It is extremely easy, and you won’t require any additional settings, even though there are some available to play with.</P>
    </LI>
    </OL>
    <H2>Why Roll Your Own Contact Form Plugin?</H2>
    <H3>Becoming a Better Developer</H3>
    <P>Developing your own WordPress plugin helps you better understand how WordPress works ‘under the hood’ which can help you to become a more experienced web developer. While there are tens of thousands of plugins in the WordPress Plugin Directory to use, being able to modify and extend other plugins is a very useful skill.</P>
    <H3>Building a Better Form</H3>
    <P>Many WordPress contact form plugins are bloated. They include many features that you may never use. Heavy usage of JavaScript and CSS files are also common in some of the standard contact form plugins. This increases the number of HTTP requests which adversely affects WordPress performance.</P>
    <P>According to <A href="http://developer.yahoo.com/performance/rules.html#num_http">Yahoo’s performance rules</A>:</P>
    <BLOCKQUOTE>
    <P>80% of the end-user response time is spent on the front-end. Most of this time is tied up in downloading all the components in the page: images, stylesheets, scripts, Flash, etc. Reducing the number of components in turn reduces the number of HTTP requests required to render the page. This is the key to faster pages.</P>
    </BLOCKQUOTE>
    <P>If you are like me, and you desire a simple contact form plugin that just works, read on. I’ll guide you through the simple process of develop your own plugin so you can kiss goodbye bloated plugins. In this example no extra CSS and JavaScript files are required, the <A href="http://www.sitepoint.com/client-side-form-validation-html5/">validation done using HTML5</A>.</P>
    <H2>Contact Form Plugin Development</H2>
    <P>In five minutes, you will learn how to develop a simple WordPress contact form, that’s a promise!</P>
    <P>Ready? Set? Go!</P>
    <P>All WordPress pluigns are PHP files, located in the <CODE>/wp-content/plugins/ directory</CODE>. In our example, the file will be called <CODE>sp-form-example.php</CODE>. I assume you’re comfortable with connecting to your server using FTP/SFTP/SCP or SSH.</P>
    <P>If you want to follow along, simply create a file called <CODE>sp-form-example.php</CODE> (the final complete example will be available at the end of the article):</P>
    <DIV>
    <DIV>
    <TABLE>
    <TBODY>
    <TR>
    <TD>
    <DIV>1</DIV>
    <DIV>2</DIV>
    <DIV>3</DIV>
    <DIV>4</DIV>
    <DIV>5</DIV>
    <DIV>6</DIV>
    <DIV>7</DIV>
    <DIV>8</DIV>
    <DIV>9</DIV>
    <DIV>10</DIV>
    <DIV>11</DIV>
    <DIV>12</DIV>
    <DIV>13</DIV>
    </TD>
    <TD>
    <DIV>
    <DIV>
    <CODE class="php plain"><?php</CODE>
    </DIV>
    <DIV>
    <CODE class="php comments">/*</CODE>
    </DIV>
    <DIV>
    <CODE class="php comments">Plugin Name: Example Contact Form Plugin</CODE>
    </DIV>
    <DIV>
    <CODE class="php comments">Plugin URI: <A href="http://example.com/">http://example.com</A>
    </CODE>
    </DIV>
    <DIV>
    <CODE class="php comments">Description: Simple non-bloated WordPress Contact Form</CODE>
    </DIV>
    <DIV>
    <CODE class="php comments">Version: 1.0</CODE>
    </DIV>
    <DIV>
    <CODE class="php comments">Author: Agbonghama Collins</CODE>
    </DIV>
    <DIV>
    <CODE class="php comments">Author URI: <A href="http://w3guy.com/">http://w3guy.com</A>
    </CODE>
    </DIV>
    <DIV>
    <CODE class="php comments">*/</CODE>
    </DIV>
    <DIV>
    <CODE class="php spaces">    </CODE>
    <CODE class="php comments">//</CODE>
    </DIV>
    <DIV>
    <CODE class="php spaces">    </CODE>
    <CODE class="php comments">// the plugin code will go here..</CODE>
    </DIV>
    <DIV>
    <CODE class="php spaces">    </CODE>
    <CODE class="php comments">//</CODE>
    </DIV>
    <DIV>
    <CODE class="php plain">?></CODE>
    </DIV>
    </DIV>
    </TD>
    </TR>
    </TBODY>
    </TABLE>
    </DIV>
    </DIV>
    <P>Next, we add the function <CODE>html_form_code()</CODE> that contains the contact form HTML:</P>
    <DIV>
    <DIV>
    <TABLE>
    <TBODY>
    <TR>
    <TD>
    <DIV>1</DIV>
    <DIV>2</DIV>
    <DIV>3</DIV>
    <DIV>4</DIV>
    <DIV>5</DIV>
    <DIV>6</DIV>
    <DIV>7</DIV>
    <DIV>8</DIV>
    <DIV>9</DIV>
    <DIV>10</DIV>
    <DIV>11</DIV>
    <DIV>12</DIV>
    <DIV>13</DIV>
    <DIV>14</DIV>
    <DIV>15</DIV>
    <DIV>16</DIV>
    <DIV>17</DIV>
    <DIV>18</DIV>
    <DIV>19</DIV>
    <DIV>20</DIV>
    <DIV>21</DIV>
    </TD>
    <TD>
    <DIV>
    <DIV>
    <CODE class="php keyword">function</CODE> <CODE class="php plain">html_form_code() {</CODE>
    </DIV>
    <DIV>
    <CODE class="php spaces">    </CODE>
    <CODE class="php functions">echo</CODE> <CODE class="php string">'<form action="'</CODE> <CODE class="php plain">. esc_url( </CODE>
    <CODE class="php variable">$_SERVER</CODE>
    <CODE class="php plain">[</CODE>
    <CODE class="php string">'REQUEST_URI'</CODE>
    <CODE class="php plain">] ) . </CODE>
    <CODE class="php string">'" method="post">'</CODE>
    <CODE class="php plain">;</CODE>
    </DIV>
    <DIV>
    <CODE class="php spaces">    </CODE>
    <CODE class="php functions">echo</CODE> <CODE class="php string">'<p>'</CODE>
    <CODE class="php plain">;</CODE>
    </DIV>
    <DIV>
    <CODE class="php spaces">    </CODE>
    <CODE class="php functions">echo</CODE> <CODE class="php string">'Your Name (required) <br />'</CODE>
    <CODE class="php plain">;</CODE>
    </DIV>
    <DIV>
    <CODE class="php spaces">    </CODE>
    <CODE class="php functions">echo</CODE> <CODE class="php string">'<input type="text" name="cf-name" pattern="[a-zA-Z0-9 ]+" value="'</CODE> <CODE class="php plain">. ( isset( </CODE>
    <CODE class="php variable">$_POST</CODE>
    <CODE class="php plain">["cf-name</CODE>
    <CODE class="php string">"] ) ? esc_attr( $_POST["</CODE>
    <CODE class="php plain">cf-name</CODE>
    <CODE class="php string">"] ) : '' ) . '"</CODE> <CODE class="php plain">size=</CODE>
    <CODE class="php string">"40"</CODE> <CODE class="php plain">/>';</CODE>
    </DIV>
    <DIV>
    <CODE class="php spaces">    </CODE>
    <CODE class="php functions">echo</CODE> <CODE class="php string">'</p>'</CODE>
    <CODE class="php plain">;</CODE>
    </DIV>
    <DIV>
    <CODE class="php spaces">    </CODE>
    <CODE class="php functions">echo</CODE> <CODE class="php string">'<p>'</CODE>
    <CODE class="php plain">;</CODE>
    </DIV>
    <DIV>
    <CODE class="php spaces">    </CODE>
    <CODE class="php functions">echo</CODE> <CODE class="php string">'Your Email (required) <br />'</CODE>
    <CODE class="php plain">;</CODE>
    </DIV>
    <DIV>
    <CODE class="php spaces">    </CODE>
    <CODE class="php functions">echo</CODE> <CODE class="php string">'<input type="email" name="cf-email" value="'</CODE> <CODE class="php plain">. ( isset( </CODE>
    <CODE class="php variable">$_POST</CODE>
    <CODE class="php plain">["cf-email</CODE>
    <CODE class="php string">"] ) ? esc_attr( $_POST["</CODE>
    <CODE class="php plain">cf-email</CODE>
    <CODE class="php string">"] ) : '' ) . '"</CODE> <CODE class="php plain">size=</CODE>
    <CODE class="php string">"40"</CODE> <CODE class="php plain">/>';</CODE>
    </DIV>
    <DIV>
    <CODE class="php spaces">    </CODE>
    <CODE class="php functions">echo</CODE> <CODE class="php string">'</p>'</CODE>
    <CODE class="php plain">;</CODE>
    </DIV>
    <DIV>
    <CODE class="php spaces">    </CODE>
    <CODE class="php functions">echo</CODE> <CODE class="php string">'<p>'</CODE>
    <CODE class="php plain">;</CODE>
    </DIV>
    <DIV>
    <CODE class="php spaces">    </CODE>
    <CODE class="php functions">echo</CODE> <CODE class="php string">'Subject (required) <br />'</CODE>
    <CODE class="php plain">;</CODE>
    </DIV>
    <DIV>
    <CODE class="php spaces">    </CODE>
    <CODE class="php functions">echo</CODE> <CODE class="php string">'<input type="text" name="cf-subject" pattern="[a-zA-Z ]+" value="'</CODE> <CODE class="php plain">. ( isset( </CODE>
    <CODE class="php variable">$_POST</CODE>
    <CODE class="php plain">["cf-subject</CODE>
    <CODE class="php string">"] ) ? esc_attr( $_POST["</CODE>
    <CODE class="php plain">cf-subject</CODE>
    <CODE class="php string">"] ) : '' ) . '"</CODE> <CODE class="php plain">size=</CODE>
    <CODE class="php string">"40"</CODE> <CODE class="php plain">/>';</CODE>
    </DIV>
    <DIV>
    <CODE class="php spaces">    </CODE>
    <CODE class="php functions">echo</CODE> <CODE class="php string">'</p>'</CODE>
    <CODE class="php plain">;</CODE>
    </DIV>
    <DIV>
    <CODE class="php spaces">    </CODE>
    <CODE class="php functions">echo</CODE> <CODE class="php string">'<p>'</CODE>
    <CODE class="php plain">;</CODE>
    </DIV>
    <DIV>
    <CODE class="php spaces">    </CODE>
    <CODE class="php functions">echo</CODE> <CODE class="php string">'Your Message (required) <br />'</CODE>
    <CODE class="php plain">;</CODE>
    </DIV>
    <DIV>
    <CODE class="php spaces">    </CODE>
    <CODE class="php functions">echo</CODE> <CODE class="php string">'<textarea rows="10" cols="35" name="cf-message">'</CODE> <CODE class="php plain">. ( isset( </CODE>
    <CODE class="php variable">$_POST</CODE>
    <CODE class="php plain">[</CODE>
    <CODE class="php string">"cf-message"</CODE>
    <CODE class="php plain">] ) ? esc_attr( </CODE>
    <CODE class="php variable">$_POST</CODE>
    <CODE class="php plain">[</CODE>
    <CODE class="php string">"cf-message"</CODE>
    <CODE class="php plain">] ) : </CODE>
    <CODE class="php string">''</CODE> <CODE class="php plain">) . </CODE>
    <CODE class="php string">'</textarea>'</CODE>
    <CODE class="php plain">;</CODE>
    </DIV>
    <DIV>
    <CODE class="php spaces">    </CODE>
    <CODE class="php functions">echo</CODE> <CODE class="php string">'</p>'</CODE>
    <CODE class="php plain">;</CODE>
    </DIV>
    <DIV>
    <CODE class="php spaces">    </CODE>
    <CODE class="php functions">echo</CODE> <CODE class="php string">'<p><input type="submit" name="cf-submitted" value="Send"/></p>'</CODE>
    <CODE class="php plain">;</CODE>
    </DIV>
    <DIV>
    <CODE class="php spaces">    </CODE>
    <CODE class="php functions">echo</CODE> <CODE class="php string">'</form>'</CODE>
    <CODE class="php plain">;</CODE>
    </DIV>
    <DIV>
    <CODE class="php plain">}</CODE>
    </DIV>
    </DIV>
    </TD>
    </TR>
    </TBODY>
    </TABLE>
    </DIV>
    </DIV>
    <P>Basic validation was added to the form via the <CODE>pattern</CODE> input attribute.</P>
    <P>The RegEX in the contact form does the following field validation:</P>
    <UL>
    <LI>
    <P>
    <STRONG>[a-zA-Z0-9 ]</STRONG>: only letters, spaces and numbers allowed in the name field; special symbols are deemed invalid.</P>
    </LI>
    <LI>
    <P>
    <STRONG>[a-zA-Z ]</STRONG>: only letters and spaces are allowed in the subject field.</P>
    </LI>
    <LI>
    <P>The <CODE>email</CODE> form control validates the email field hence there is no need for a pattern attribute.</P>
    </LI>
    </UL>
    <P>For more information on how this works, read my article on <A href="http://www.sitepoint.com/client-side-form-validation-html5/">Client-Side Form Validation with HTML5</A> to understand how the pattern attribute assists with form validation.</P>
    <H3>Hurry Up!</H3>
    <P>Okay, how many minutes do we have left? Four minutes! We still have time to get this over with.</P>
    <P>The function <CODE>deliver_mail()</CODE> sanitizes the form data and sends the mail to the WordPress administrator’s email address.</P>
    <DIV>
    <DIV>
    <TABLE>
    <TBODY>
    <TR>
    <TD>
    <DIV>1</DIV>
    <DIV>2</DIV>
    <DIV>3</DIV>
    <DIV>4</DIV>
    <DIV>5</DIV>
    <DIV>6</DIV>
    <DIV>7</DIV>
    <DIV>8</DIV>
    <DIV>9</DIV>
    <DIV>10</DIV>
    <DIV>11</DIV>
    <DIV>12</DIV>
    <DIV>13</DIV>
    <DIV>14</DIV>
    <DIV>15</DIV>
    <DIV>16</DIV>
    <DIV>17</DIV>
    <DIV>18</DIV>
    <DIV>19</DIV>
    <DIV>20</DIV>
    <DIV>21</DIV>
    <DIV>22</DIV>
    <DIV>23</DIV>
    <DIV>24</DIV>
    <DIV>25</DIV>
    <DIV>26</DIV>
    </TD>
    <TD>
    <DIV>
    <DIV>
    <CODE class="php keyword">function</CODE> <CODE class="php plain">deliver_mail() {</CODE>
    </DIV>
    <DIV> </DIV>
    <DIV>
    <CODE class="php spaces">    </CODE>
    <CODE class="php comments">// if the submit button is clicked, send the email</CODE>
    </DIV>
    <DIV>
    <CODE class="php spaces">    </CODE>
    <CODE class="php keyword">if</CODE> <CODE class="php plain">( isset( </CODE>
    <CODE class="php variable">$_POST</CODE>
    <CODE class="php plain">[</CODE>
    <CODE class="php string">'cf-submitted'</CODE>
    <CODE class="php plain">] ) ) {</CODE>
    </DIV>
    <DIV> </DIV>
    <DIV>
    <CODE class="php spaces">        </CODE>
    <CODE class="php comments">// sanitize form values</CODE>
    </DIV>
    <DIV>
    <CODE class="php spaces">        </CODE>
    <CODE class="php variable">$name</CODE>    <CODE class="php plain">= sanitize_text_field( </CODE>
    <CODE class="php variable">$_POST</CODE>
    <CODE class="php plain">[</CODE>
    <CODE class="php string">"cf-name"</CODE>
    <CODE class="php plain">] );</CODE>
    </DIV>
    <DIV>
    <CODE class="php spaces">        </CODE>
    <CODE class="php variable">$email</CODE>   <CODE class="php plain">= sanitize_email( </CODE>
    <CODE class="php variable">$_POST</CODE>
    <CODE class="php plain">[</CODE>
    <CODE class="php string">"cf-email"</CODE>
    <CODE class="php plain">] );</CODE>
    </DIV>
    <DIV>
    <CODE class="php spaces">        </CODE>
    <CODE class="php variable">$subject</CODE> <CODE class="php plain">= sanitize_text_field( </CODE>
    <CODE class="php variable">$_POST</CODE>
    <CODE class="php plain">[</CODE>
    <CODE class="php string">"cf-subject"</CODE>
    <CODE class="php plain">] );</CODE>
    </DIV>
    <DIV>
    <CODE class="php spaces">        </CODE>
    <CODE class="php variable">$message</CODE> <CODE class="php plain">= esc_textarea( </CODE>
    <CODE class="php variable">$_POST</CODE>
    <CODE class="php plain">[</CODE>
    <CODE class="php string">"cf-message"</CODE>
    <CODE class="php plain">] );</CODE>
    </DIV>
    <DIV> </DIV>
    <DIV>
    <CODE class="php spaces">        </CODE>
    <CODE class="php comments">// get the blog administrator's email address</CODE>
    </DIV>
    <DIV>
    <CODE class="php spaces">        </CODE>
    <CODE class="php variable">$to</CODE> <CODE class="php plain">= get_option( </CODE>
    <CODE class="php string">'admin_email'</CODE> <CODE class="php plain">);</CODE>
    </DIV>
    <DIV> </DIV>
    <DIV>
    <CODE class="php spaces">        </CODE>
    <CODE class="php variable">$headers</CODE> <CODE class="php plain">= </CODE>
    <CODE class="php string">"From: $name <$email>"</CODE> <CODE class="php plain">. </CODE>
    <CODE class="php string">"\\r\\n"</CODE>
    <CODE class="php plain">;</CODE>
    </DIV>
    <DIV> </DIV>
    <DIV>
    <CODE class="php spaces">        </CODE>
    <CODE class="php comments">// If email has been process for sending, display a success message</CODE>
    </DIV>
    <DIV>
    <CODE class="php spaces">        </CODE>
    <CODE class="php keyword">if</CODE> <CODE class="php plain">( wp_mail( </CODE>
    <CODE class="php variable">$to</CODE>
    <CODE class="php plain">, </CODE>
    <CODE class="php variable">$subject</CODE>
    <CODE class="php plain">, </CODE>
    <CODE class="php variable">$message</CODE>
    <CODE class="php plain">, </CODE>
    <CODE class="php variable">$headers</CODE> <CODE class="php plain">) ) {</CODE>
    </DIV>
    <DIV>
    <CODE class="php spaces">            </CODE>
    <CODE class="php functions">echo</CODE> <CODE class="php string">'<div>'</CODE>
    <CODE class="php plain">;</CODE>
    </DIV>
    <DIV>
    <CODE class="php spaces">            </CODE>
    <CODE class="php functions">echo</CODE> <CODE class="php string">'<p>Thanks for contacting me, expect a response soon.</p>'</CODE>
    <CODE class="php plain">;</CODE>
    </DIV>
    <DIV>
    <CODE class="php spaces">            </CODE>
    <CODE class="php functions">echo</CODE> <CODE class="php string">'</div>'</CODE>
    <CODE class="php plain">;</CODE>
    </DIV>
    <DIV>
    <CODE class="php spaces">        </CODE>
    <CODE class="php plain">} </CODE>
    <CODE class="php keyword">else</CODE> <CODE class="php plain">{</CODE>
    </DIV>
    <DIV>
    <CODE class="php spaces">            </CODE>
    <CODE class="php functions">echo</CODE> <CODE class="php string">'An unexpected error occurred'</CODE>
    <CODE class="php plain">;</CODE>
    </DIV>
    <DIV>
    <CODE class="php spaces">        </CODE>
    <CODE class="php plain">}</CODE>
    </DIV>
    <DIV>
    <CODE class="php spaces">    </CODE>
    <CODE class="php plain">}</CODE>
    </DIV>
    <DIV>
    <CODE class="php plain">}</CODE>
    </DIV>
    </DIV>
    </TD>
    </TR>
    </TBODY>
    </TABLE>
    </DIV>
    </DIV>
    <P>The sanitation of the form data is done by the following WordPress internal functions:</P>
    <UL>
    <LI>
    <P>
    <CODE>sanitize_text_field()</CODE>: Sanitize the data from user input.</P>
    </LI>
    <LI>
    <P>
    <CODE>sanitize_email()</CODE>: Strips out all characters that are not allowable in an email.</P>
    </LI>
    <LI>
    <P>
    <CODE>esc_textarea()</CODE>: Escape the <EM>message</EM> text area values.</P>
    </LI>
    </UL>
    <P>The code <CODE>get_option( 'admin_email' )</CODE> programmatically retrieves the WordPress administrator’s email address from the database where the email will be delivered to.</P>
    <P>Don’t want the contact form to send the mail to admin? Simply set the variable <CODE>$to</CODE> to the desired email address.</P>
    <P>If the email has successfully been processed without any errors by the function <CODE>wp_mail()</CODE> , the text <EM>Thanks for contacting me, expect a response soon</EM> will be shown, otherwise <EM>An unexpected error occurred</EM> is displayed.</P>
    <H3>1 Minute and 30 Seconds Left</H3>
    <P>The function <CODE>cf_shortcode()</CODE> is the callback function that is called when the contact form shortcode <CODE>[sitepoint_contact_form]</CODE> is active.</P>
    <DIV>
    <DIV>
    <TABLE>
    <TBODY>
    <TR>
    <TD>
    <DIV>1</DIV>
    <DIV>2</DIV>
    <DIV>3</DIV>
    <DIV>4</DIV>
    <DIV>5</DIV>
    <DIV>6</DIV>
    <DIV>7</DIV>
    </TD>
    <TD>
    <DIV>
    <DIV>
    <CODE class="php keyword">function</CODE> <CODE class="php plain">cf_shortcode() {</CODE>
    </DIV>
    <DIV>
    <CODE class="php spaces">    </CODE>
    <CODE class="php plain">ob_start();</CODE>
    </DIV>
    <DIV>
    <CODE class="php spaces">    </CODE>
    <CODE class="php plain">deliver_mail();</CODE>
    </DIV>
    <DIV>
    <CODE class="php spaces">    </CODE>
    <CODE class="php plain">html_form_code();</CODE>
    </DIV>
    <DIV> </DIV>
    <DIV>
    <CODE class="php spaces">    </CODE>
    <CODE class="php keyword">return</CODE> <CODE class="php plain">ob_get_clean();</CODE>
    </DIV>
    <DIV>
    <CODE class="php plain">}</CODE>
    </DIV>
    </DIV>
    </TD>
    </TR>
    </TBODY>
    </TABLE>
    </DIV>
    </DIV>
    <P>The above functions calls the <CODE>html_form_code()</CODE> and <CODE>deliver_mail()</CODE> functions to display the contact form HTML form and validate the form data respectively.</P>
    <P>Finally, the shortcode <CODE>[sitepoint_contact_form]</CODE> is registered to WordPress. So simply add:</P>
    <DIV>
    <DIV>
    <TABLE>
    <TBODY>
    <TR>
    <TD>
    <DIV>1</DIV>
    </TD>
    <TD>
    <DIV>
    <DIV>
    <CODE class="php plain">add_shortcode( </CODE>
    <CODE class="php string">'sitepoint_contact_form'</CODE>
    <CODE class="php plain">, </CODE>
    <CODE class="php string">'cf_shortcode'</CODE> <CODE class="php plain">);</CODE>
    </DIV>
    </DIV>
    </TD>
    </TR>
    </TBODY>
    </TABLE>
    </DIV>
    </DIV>
    <H3>3, 2, 1… Time’s Up!</H3>
    <P>Congratulations, we have successfully developed our own WordPress contact form plugin and I have fulfilled my earlier promise.</P>
    <P>Now, to use this plugin on your website, simply activate it in under the ‘Plugins’ section of your WordPress dashboard, then create a post or page and then simply add the shortcode where you want the form to appear <CODE>[sitepoint_contact_form]</CODE>.</P>
    <P>If you then preview the page and you should see the contact form displayed as shown below.</P>
    </SECTION>
    <end node> 5P9i0s8y19Z
    dt=
    <node>shortcodes
    2
    <?php
    /*
    * Plugin Name: WordPress ShortCode
    * Description: Create your WordPress shortcode.
    * Version: 1.0
    * Author: InkThemes
    * Author URI: https://inkthemes.com
    */
    // Example 1 : WP Shortcode to display form on any page or post.
    function form_creation(){
    $imagedirectory="../stylists/";
    $dir = opendir($imagedirectory);
    while ($file = readdir($dir)){
    //for ($i=1; $i<=500; $i++){
    //   $file = readdir($dir);
        $fullpath=$current_dir.$file; $fullpath2=$current_dir."/stylists/large/".$file;
        /*
        $filedate=date('Y-m-j', filemtime($fullpath));
        if(trim($file)!='.' && trim($file)!='..'){
            $fsize=filesize($fullpath)/1000;
            $fsize=(int)$fsize;$fsize=$fsize/1000;
            $message[]=$filedate."|".$file."@".$fsize;
        }
        */
        echo "<div style='float:left;padding:20px;'><a href='$fullpath2'><img src='$fullpath'><br>$file</a></div>";
    }
      closedir($dir);
    }
    add_shortcode('test', 'form_creation');
    ?>
    [test] in whatever page you want
    <end node> 5P9i0s8y19Z
    dt=
    <node>WIDGET
    1
    <?php
    /**
    * Plugin Name: A simple Widget
    * Description: A widget that displays authors name.
    * Version: 0.1
    * Author: Bilal Shaheen
    * Author URI: http://gearaffiti.com/about
    */
    add_action( 'widgets_init', 'my_widget' );
    function my_widget() {
        register_widget( 'SWDWidget' );
    }
    class SWDWidget extends WP_Widget {
        function SWDWidget() {
            $widget_ops = array( 'classname' => 'example', 'description' => __('A widget that displays SWD garbage ', 'example') );
            
            $control_ops = array( 'width' => 300, 'height' => 350, 'id_base' => 'swd_widget' );
            
            $this->WP_Widget( 'swd_widget', __('SWD Input', 'example'), $widget_ops, $control_ops );
        }
        
        function widget( $args, $instance ) {
            extract( $args );
            //Our variables from the widget settings.
            $title = apply_filters('widget_title', $instance['title'] );
            $name = $instance['name'];
            $show_info = isset( $instance['show_info'] ) ? $instance['show_info'] : false;
            echo $before_widget;
            // Display the widget title
            if ( $title )
                echo $before_title . $title . $after_title;
            //Display the name on website
            if ( $name )
                printf( '<p>' . __('Hey their Sailor! My name is %1$s.', 'example1') . '</p>', $name );
            
            if ( $show_info )
                printf( $name );
            
            echo $after_widget;
        }
        //Update the widget
        
        function update( $new_instance, $old_instance ) {
            $instance = $old_instance;
            //Strip tags from title and name to remove HTML
            $instance['title'] = strip_tags( $new_instance['title'] );
            $instance['name'] = strip_tags( $new_instance['name'] );
            $instance['show_info'] = $new_instance['show_info'];
            return $instance;
        }
        
        function form( $instance ) {
            //Set up some default widget settings.
            $defaults = array( 'title' => __('Example44', 'example1'), 'name' => __('Bilal Shaheen', 'example1'), 'show_info' => true );
            $instance = wp_parse_args( (array) $instance, $defaults ); ?>
            <p>
                <label for="<?php echo $this->get_field_id( 'title' ); ?>"><?php _e('Title:', 'example1'); ?></label>
                <input id="<?php echo $this->get_field_id( 'title' ); ?>" name="<?php echo $this->get_field_name( 'title' ); ?>" value="<?php echo $instance['title']; ?>" style="width:100%;" />
            </p>
            //Text Input.
            <p>
                <label for="<?php echo $this->get_field_id( 'name' ); ?>"><?php _e('Your Name:', 'example1'); ?></label>
                <textarea id="<?php echo $this->get_field_id( 'name' ); ?>" name="<?php echo $this->get_field_name( 'name' ); ?>"><?php echo $instance['name']; ?></textarea>
            </p>
            
            //Checkbox.
            <p>
                <input class="checkbox" type="checkbox" <?php checked( $instance['show_info'], true ); ?> id="<?php echo $this->get_field_id( 'show_info' ); ?>" name="<?php echo $this->get_field_name( 'show_info' ); ?>" />
                <label for="<?php echo $this->get_field_id( 'show_info' ); ?>"><?php _e('Display info publicly?', 'example'); ?></label>
            </p>
        <?php
        }
    }
    ?>
    <end node> 5P9i0s8y19Z
    dt=
    <node>example
    2
    [code]
    Before we get started, it would be best if you create a site-specific plugin where you will be pasting widget code. You can also paste it in your theme’s functions.php file but a site-specific plugin is better.
    In this tutorial, we will create a simple widget that just greets visitors. Take a look at this code and then paste it in your site-specific plugin to see it in action.
    01 // Creating the widget
    02 class wpb_widget extends WP_Widget {
    03
    04 function __construct() {
    05 parent::__construct(
    06 // Base ID of your widget
    07 'wpb_widget',
    08
    09 // Widget name will appear in UI
    10 __('WPBeginner Widget', 'wpb_widget_domain'),
    11
    12 // Widget description
    13 array( 'description' => __( 'Sample widget based on WPBeginner Tutorial', 'wpb_widget_domain' ), )
    14 );
    15 }
    16
    17 // Creating widget front-end
    18 // This is where the action happens
    19 public function widget( $args, $instance ) {
    20 $title = apply_filters( 'widget_title', $instance['title'] );
    21 // before and after widget arguments are defined by themes
    22 echo $args['before_widget'];
    23 if ( ! empty( $title ) )
    24 echo $args['before_title'] . $title . $args['after_title'];
    25
    26 // This is where you run the code and display the output
    27 echo __( 'Hello, World!', 'wpb_widget_domain' );
    28 echo $args['after_widget'];
    29 }
    30
    31 // Widget Backend
    32 public function form( $instance ) {
    33 if ( isset( $instance[ 'title' ] ) ) {
    34 $title = $instance[ 'title' ];
    35 }
    36 else {
    37 $title = __( 'New title', 'wpb_widget_domain' );
    38 }
    39 // Widget admin form
    40 ?>
    41 <p>
    42 <label for="<?php echo $this->get_field_id( 'title' ); ?>"><?php _e( 'Title:' ); ?></label>
    43 <input class="widefat" id="<?php echo $this->get_field_id( 'title' ); ?>" name="<?php echo $this->get_field_name( 'title' ); ?>" type="text" value="<?php echo esc_attr( $title ); ?>" />
    44 </p>
    45 <?php
    46 }
    47
    48 // Updating widget replacing old instances with new
    49 public function update( $new_instance, $old_instance ) {
    50 $instance = array();
    51 $instance['title'] = ( ! empty( $new_instance['title'] ) ) ? strip_tags( $new_instance['title'] ) : '';
    52 return $instance;
    53 }
    54 } // Class wpb_widget ends here
    55
    56 // Register and load the widget
    57 function wpb_load_widget() {
    58 register_widget( 'wpb_widget' );
    59 }
    60 add_action( 'widgets_init', 'wpb_load_widget' );
    Now go to Appearance » Widgets, drag and drop WPBeginner Widget in your sidebar to see this custom widget in action.
    Simple wasn’t it? First we created a custom widget. Then we defined what that widget does and how to display the widget back-end. Then we defined how to handle changes made to widget. Lastly, we registered and loaded the widget.
    Now there are a few things that you might want to ask. For example, what wpb_text_domain does? WordPress uses gettext to handle translation and localization. This wpb_text_domain and __e tells gettext to make a string available for translation. See how you can find translation ready WordPress themes.
    We hope this tutorial helped you learn how to create a custom WordPress widget. Let us know what widgets you are creating, by leaving a comment below.
    =====================================
    // used on the windsor hair shoppe
    <?php
    /*
    Plugin Name: Social Media Icons
    Plugin URI: http://softwarewebdesign.com
    Description: Adds Icons.
    Version: 1.0
    Author: Software Web Design
    Author URI: http://softwarewebdesign.com
    License: GPL2
    */
    class WP_Widget_SocialMedia extends WP_Widget {

        // The widget construct. Mumbo-jumbo that loads our code.
        function WP_Widget_SocialMedia() {
            $widget_ops = array( 'classname' => 'widget_SocialMedia', 'description' => __( "Social Media Icons" ) );
            $this->WP_Widget('SocialMedia', __('SocialMedia'), $widget_ops);
        } // End function WP_Widget_SocialMedia

        // This code displays the widget on the screen.
        function widget($args, $instance) {
            extract($args);
            echo $before_widget;
            if(!empty($instance['title'])) {
                echo $before_title . $instance['title'] . $after_title;
            }
            echo "<p><a href='http://www.facebook.com/pages/Windsor-Hair-Shoppe/469480233075402'><img src='".site_url()."/images/facebook.jpg'></a></p>";
            echo $after_widget;
        } // End function widget.

        // Updates the settings.
        function update($new_instance, $old_instance) {
            return $new_instance;
        } // End function update
        // The admin form.
        function form($instance) {        
            echo '<div id="bareBones-admin-panel">';
            echo '<label for="' . $this->get_field_id("title") .'">Social Media Title:</label>';
            echo '<input type="text" class="widefat" ';
            echo 'name="' . $this->get_field_name("title") . '" ';
            echo 'id="' . $this->get_field_id("title") . '" ';
            echo 'value="' . $instance["title"] . '" />';
            echo '<p>This widget will display Social Media Icons below.</p>';
            echo '</div>';
        } // end function form

    } // end class WP_Widget_BareBones

    // Register the widget.
    add_action('widgets_init', create_function('', 'return register_widget("WP_Widget_SocialMedia");'));
    ?>
    ==============================================================================
    http://www.briangardner.com/welcome-text-widget/
    <?php
    /*
    Plugin Name:  JAD Simple Widget Template
    Plugin URI:   http://www.johnathanandersendesign.com/
    Description:  A very basic widget structure to hack around with.
    Version:      0.1
    Author:       Johnathan Andersen Design
    Author URI:   http://www.johnathanandersendesign.com/    
    */
        function jad_simple_widget($args, $widget_args = 1) {
        /*
            extract( $args, EXTR_SKIP );
            if ( is_numeric($widget_args) )
                $widget_args = array( 'number' => $widget_args );
            $widget_args = wp_parse_args( $widget_args, array( 'number' => -1 ) );
            extract( $widget_args, EXTR_SKIP );
        
            $options = get_option('simple_widget');
            if ( !isset($options[$number]) )
            return;
            $title = $options[$number]['title'];         // single value
            $text = $options[$number]['text'];         // single value
            $check = $options[$number]['check'];         // multi value
            $radio = $options[$number]['radio'];         // single value
            $select = $options[$number]['select'];     // single value
            $textarea = $options[$number]['textarea']; // single value
            echo $before_widget; // start widget display code
            */
    ?>

        <?php echo "LINE 1"; // end widget display code
        
        }
        
        
        function jad_simple_widget_control($widget_args) {
            global $wp_registered_widgets;
            static $updated = false;
            /*
            if ( is_numeric($widget_args) )
                $widget_args = array( 'number' => $widget_args );
            $widget_args = wp_parse_args( $widget_args, array( 'number' => -1 ) );
            extract( $widget_args, EXTR_SKIP );
            $options = get_option('simple_widget');
            if ( !is_array($options) )
                $options = array();
            if ( !$updated && !empty($_POST['sidebar']) ) {
                $sidebar = (string) $_POST['sidebar'];
                $sidebars_widgets = wp_get_sidebars_widgets();
                if ( isset($sidebars_widgets[$sidebar]) )
                    $this_sidebar =& $sidebars_widgets[$sidebar];
                else
                    $this_sidebar = array();
                foreach ( (array) $this_sidebar as $_widget_id ) {
                    if ( 'jad_simple_widget' == $wp_registered_widgets[$_widget_id]['callback'] && isset($wp_registered_widgets[$_widget_id]['params'][0]['number']) ) {
                        $widget_number = $wp_registered_widgets[$_widget_id]['params'][0]['number'];
                        if ( !in_array( "simple-widget-$widget_number", $_POST['widget-id'] ) ) // the widget has been removed.
                            unset($options[$widget_number]);
                    }
                }
                foreach ( (array) $_POST['simple-widget'] as $widget_number => $simple_widget ) {
                    if ( !isset($simple_widget['title']) && isset($options[$widget_number]) ) // user clicked cancel
                        continue;
                    $title = strip_tags(stripslashes($simple_widget['title']));
                    $text = strip_tags(stripslashes($simple_widget['text_value']));
                    $check = $simple_widget['check_array'];
                    $radio = $simple_widget['radio_value'];
                    $select = $simple_widget['select_value'];
                    $textarea = $simple_widget['textarea_value'];
                    // Pact the values into an array
                    $options[$widget_number] = compact( 'title', 'text', 'check', 'radio', 'select', 'textarea' );
                }
                update_option('simple_widget', $options);
                $updated = true;
            }
            if ( -1 == $number ) { // if it's the first time and there are no existing values
                $title = '';
                $text = '';
                $check = '';
                $radio = '';
                $select = '';
                $textarea = '';
                $number = '%i%';
            } else { // otherwise get the existing values
                $title = attribute_escape($options[$number]['title']);
                $text = attribute_escape($options[$number]['text']); // attribute_escape used for security
                $check = $options[$number]['check'];
                $radio = $options[$number]['radio'];
                $select = $options[$number]['select'];
                $textarea = format_to_edit($options[$number]['textarea']);
            }
            print_r($options[$number]);
        */
         ECHO "lINE2";
        }
        
        
        function jad_simple_widget_register() {
            if ( !$options = get_option('simple_widget') )
                $options = array();
            $widget_ops = array('classname' => 'simple_widget', 'description' => __('Test widget form'));
            $control_ops = array('width' => 400, 'height' => 350, 'id_base' => 'simple-widget');
            $name = __('JAD Simple Widget');
        
            $id = false;
            
            foreach ( (array) array_keys($options) as $o ) {
        
                if ( !isset( $options[$o]['title'] ) )
                    continue;
                            
                $id = "simple-widget-$o";
                wp_register_sidebar_widget($id, $name, 'jad_simple_widget', $widget_ops, array( 'number' => $o ));
                wp_register_widget_control($id, $name, 'jad_simple_widget_control', $control_ops, array( 'number' => $o ));
            }
            
            if ( !$id ) {
                wp_register_sidebar_widget( 'simple-widget-1', $name, 'jad_simple_widget', $widget_ops, array( 'number' => -1 ) );
                wp_register_widget_control( 'simple-widget-1', $name, 'jad_simple_widget_control', $control_ops, array( 'number' => -1 ) );
            }
        }
    add_action('init', jad_simple_widget_register, 1);
    ?>
    *** FULL EXAMPLE ****
    <?php
    /*
    Plugin Name:  JAD Simple Widget Template
    Plugin URI:   http://www.johnathanandersendesign.com/
    Description:  A very basic widget structure to hack around with.
    Version:      0.1
    Author:       Johnathan Andersen Design
    Author URI:   http://www.johnathanandersendesign.com/    
    */
        function jad_simple_widget($args, $widget_args = 1) {
            
            extract( $args, EXTR_SKIP );
            if ( is_numeric($widget_args) )
                $widget_args = array( 'number' => $widget_args );
            $widget_args = wp_parse_args( $widget_args, array( 'number' => -1 ) );
            extract( $widget_args, EXTR_SKIP );
        
            $options = get_option('simple_widget');
            if ( !isset($options[$number]) )
            return;
            $title = $options[$number]['title'];         // single value
            $text = $options[$number]['text'];         // single value
            $check = $options[$number]['check'];         // multi value
            $radio = $options[$number]['radio'];         // single value
            $select = $options[$number]['select'];     // single value
            $textarea = $options[$number]['textarea']; // single value
                
            echo $before_widget; // start widget display code ?>
            
                <h2><?=$title?></h2>
                <p><?=$text?></p>
                <ul>
                <?php foreach($check as $value){ ?>
                    <li><?=$value?></li>
                <?php } ?>
                </ul>
                <p><?=$radio?></p>
                <p><?=$select?></p>
                <p><?=$textarea?></p>
                
        <?php echo $after_widget; // end widget display code
        
        }
        
        
        function jad_simple_widget_control($widget_args) {
        
            global $wp_registered_widgets;
            static $updated = false;
        
            if ( is_numeric($widget_args) )
                $widget_args = array( 'number' => $widget_args );            
            $widget_args = wp_parse_args( $widget_args, array( 'number' => -1 ) );
            extract( $widget_args, EXTR_SKIP );
        
            $options = get_option('simple_widget');
            
            if ( !is_array($options) )    
                $options = array();
        
            if ( !$updated && !empty($_POST['sidebar']) ) {
            
                $sidebar = (string) $_POST['sidebar'];    
                $sidebars_widgets = wp_get_sidebars_widgets();
                
                if ( isset($sidebars_widgets[$sidebar]) )
                    $this_sidebar =& $sidebars_widgets[$sidebar];
                else
                    $this_sidebar = array();
        
                foreach ( (array) $this_sidebar as $_widget_id ) {
                    if ( 'jad_simple_widget' == $wp_registered_widgets[$_widget_id]['callback'] && isset($wp_registered_widgets[$_widget_id]['params'][0]['number']) ) {
                        $widget_number = $wp_registered_widgets[$_widget_id]['params'][0]['number'];
                        if ( !in_array( "simple-widget-$widget_number", $_POST['widget-id'] ) ) // the widget has been removed.
                            unset($options[$widget_number]);
                    }
                }
        
                foreach ( (array) $_POST['simple-widget'] as $widget_number => $simple_widget ) {
                    if ( !isset($simple_widget['title']) && isset($options[$widget_number]) ) // user clicked cancel
                        continue;
                    
                    $title = strip_tags(stripslashes($simple_widget['title']));
                    $text = strip_tags(stripslashes($simple_widget['text_value']));                
                    $check = $simple_widget['check_array'];
                    $radio = $simple_widget['radio_value'];
                    $select = $simple_widget['select_value'];
                    $textarea = $simple_widget['textarea_value'];
                    
                    // Pact the values into an array
                    $options[$widget_number] = compact( 'title', 'text', 'check', 'radio', 'select', 'textarea' );
                }
        
                update_option('simple_widget', $options);
                $updated = true;
            }
        
            if ( -1 == $number ) { // if it's the first time and there are no existing values
        
                $title = '';
                $text = '';
                $check = '';
                $radio = '';
                $select = '';
                $textarea = '';
                $number = '%i%';
                
            } else { // otherwise get the existing values
            
                $title = attribute_escape($options[$number]['title']);
                $text = attribute_escape($options[$number]['text']); // attribute_escape used for security
                $check = $options[$number]['check'];
                $radio = $options[$number]['radio'];
                $select = $options[$number]['select'];
                $textarea = format_to_edit($options[$number]['textarea']);
            }
            
            print_r($options[$number]);
        ?>
        <p><label>Widget Title</label><br /><input id="title_value_<?php echo $number; ?>" name="simple-widget[<?php echo $number; ?>][title]" type="text" value="<?=$title?>" /></p>
        <p><label>Text Field</label><br /><input id="text_value_<?php echo $number; ?>" name="simple-widget[<?php echo $number; ?>][text_value]" type="text" size="30" value="<?=$text?>" /></p>
        <p>
            <label>Checkbox Group</label><br />
            Value 1 <input id="check_array_<?php echo $number; ?>" name="simple-widget[<?php echo $number; ?>][check_array][1]" type="checkbox" <?php if($check[1]){ echo 'checked="checked"';} ?> value="One" /><br />
            Value 2 <input id="check_array_<?php echo $number; ?>" name="simple-widget[<?php echo $number; ?>][check_array][2]" type="checkbox" <?php if($check[2]){ echo 'checked="checked"';} ?> value="Two" /><br />
            Value 3 <input id="check_array_<?php echo $number; ?>" name="simple-widget[<?php echo $number; ?>][check_array][3]" type="checkbox" <?php if($check[3]){ echo 'checked="checked"';} ?> value="Three" /><br />
            Value 4 <input id="check_array_<?php echo $number; ?>" name="simple-widget[<?php echo $number; ?>][check_array][4]" type="checkbox" <?php if($check[4]){ echo 'checked="checked"';} ?> value="Four" />
        </p>
        <p>
            <label>Radio Field</label><br />
            Yes <input id="radio_value_<?php echo $number; ?>" name="simple-widget[<?php echo $number; ?>][radio_value]" type="radio" <?php if($radio == 'yes') echo 'checked="checked"'; ?> value="yes" />
            No <input id="radio_value_<?php echo $number; ?>" name="simple-widget[<?php echo $number; ?>][radio_value]" type="radio" <?php if($radio == 'no') echo 'checked="checked"'; ?> value="no" />
        </p>
        <p>
            <label>Select Menu
            <select id="select_value_<?php echo $number; ?>" name="simple-widget[<?php echo $number; ?>][select_value]">
                <option <?php if ($select == 'One') echo 'selected'; ?> value="One">Value 1</option>
                <option <?php if ($select == 'Two') echo 'selected'; ?> value="Two">Value 2</option>
                <option <?php if ($select == 'Three') echo 'selected'; ?> value="Three">Value 3</option>
                <option <?php if ($select == 'Four') echo 'selected'; ?> value="Four">Value 4</option>
            </select>
            </label>
        </p>
        <p><label>Textarea</label><br /><textarea id="textarea_value_<?php echo $number; ?>" name="simple-widget[<?php echo $number; ?>][textarea_value]" type="text" cols="30" rows="4"><?=$textarea?></textarea></p>
        <input type="hidden" name="simple-widget[<?php echo $number; ?>][submit]" value="1" />
        
        <?php
        }
        
        
        function jad_simple_widget_register() {
            if ( !$options = get_option('simple_widget') )
                $options = array();
            $widget_ops = array('classname' => 'simple_widget', 'description' => __('Test widget form'));
            $control_ops = array('width' => 400, 'height' => 350, 'id_base' => 'simple-widget');
            $name = __('JAD Simple Widget');
        
            $id = false;
            
            foreach ( (array) array_keys($options) as $o ) {
        
                if ( !isset( $options[$o]['title'] ) )
                    continue;
                            
                $id = "simple-widget-$o";
                wp_register_sidebar_widget($id, $name, 'jad_simple_widget', $widget_ops, array( 'number' => $o ));
                wp_register_widget_control($id, $name, 'jad_simple_widget_control', $control_ops, array( 'number' => $o ));
            }
            
            if ( !$id ) {
                wp_register_sidebar_widget( 'simple-widget-1', $name, 'jad_simple_widget', $widget_ops, array( 'number' => -1 ) );
                wp_register_widget_control( 'simple-widget-1', $name, 'jad_simple_widget_control', $control_ops, array( 'number' => -1 ) );
            }
        }
    add_action('init', jad_simple_widget_register, 1);
    ?>
    <end node> 5P9i0s8y19Z
    dt=
    <node>new area
    2
    http://howtomatter.com/how-to-create-a-new-widget-area/
    I’ve found it helpful in certain situations to have widgetized areas (that is, places I can drag/drop widgets into from the Appearance>Widget menu) other than the standard Sidebar 1 and Sidebar 2. Certain themes have this built in, but it’s not terribly difficult to create them yourself, so I thought I’d write up a quick tutorial.
    What is a new widget area?
    As always, head on over to my test site to see an example of what I’m talking about. Scroll down to the footer and you’ll see a light red area with 2 boxes in it that say something along the lines of ‘this is your new sidebar’. In case that site/example is gone by the time you’re reading this, here’s a picture of it.
    New Sidebar for Widgets
    click to enlarge
    So what I’ve done is created 2 new sidebar areas and placed them, in this case, after the content box. Widgets can be dragged into these sidebars in the same way as you’d add widgets to the default sidebars – by going to the Appearance>Widgets menu and dragging them into the appropriate place. More about that in a minute.
    How to create a new widget area
    Per my typical approach, I’m just going to give you the code, and the instructions on where/how to place it, and if you have questions beyond this or want to know more about how/why it works, you can leave a comment or reach out to me individually…cool?
    Okay, so the first thing we need to do is register the new sidebars. This is done by going to the Thesis>Custom File Editor menu, and from the drop down menu at the top of that page, choose ‘custom_functions.php’ and click the ‘edit selected file’ button to its right. Once there, scroll down to the very bottom and paste the following code:
    /****************************************************************
       * REGISTER NEW SIDEBARS
    ****************************************************************/
    $args = array(
        'name'          => 'New Sidebar %d',
        'before_widget' => '<li id="%1$s" class="widget %2$s">',
        'after_widget'  => '</li>',
        'before_title'  => '<h3>',
        'after_title'   => '</h3>' );
    register_sidebars( 2, $args );
    /****************************************************************
       * CREATES NEW SIDEBARS
    ****************************************************************/
    function new_sidebars(){
        ?>
        <div id="new-sidebars">
            <div id="new-sidebar-1">
                <ul class="sidebar_list">
                    <?php if (!dynamic_sidebar('New Sidebar 1') ) { ?>
                        <li class="widget">
                            <div class="widget_box">
                                <h3><?php _e('New Sidebar 1', 'thesis'); ?></h3>
                                <p>This is your new sidebar.  Add widgets here from your WP Dashboard just like normal.</p>
                            </div>
                        </li>
                    <?php  }   ?>
                 </ul>
            </div>
            <div id="new-sidebar-2">
                <ul class="sidebar_list">
                    <?php if (!dynamic_sidebar('New Sidebar 2') ) { ?>
                        <li class="widget">
                            <div class="widget_box">
                                <h3><?php _e('New Sidebar 2', 'thesis'); ?></h3>
                                <p>This is your new sidebar.  Add widgets here from your WP Dashboard just like normal.</p>
                            </div>
                        </li>
                    <?php  }   ?>
                 </ul>
            </div>
        </div>
        <?php
    }
    add_action('thesis_hook_after_content_box', 'new_sidebars');
    So what that has done is created 2 new sidebars and placed them at the bottom of your content box…well, after it, actually. If you were to look at your site now, you’d see them placed one on top of the other…not what we want in this case, but we’ll remedy that with a little CSS styling.
    Styling your newly created sidebars
    Now that these widgetized sidebars are created, we need to style them to look how we want them to look. So, go to the Thesis>Custom File Editor menu, and make sure it says ‘custom.css’ in the drop down menu. Scroll down to the bottom (or to the appropriate place if you’ve got this file organized) and paste the following code:
    /***********************************
    NEW WIDGET STYLING
    ***********************************/
    #new-sidebars {
        float:left;
        width:100%;
        background-color:#ffaaaa;
        border-bottom:.1em solid #000000;
    }
    #new-sidebar-1 {
        float:left;
        margin-left:7em;
        width:40%;
    }
    #new-sidebar-2 {
        float:left;
        margin-left:2em;
        width:40%;
    }
    If everything was done properly, you should now have two sidebars after your content box that look very similar to/the same as what’s pictured above.
    Add widgets to your new sidebarsAnd if you go to your Appearance>Widgets menu, you should now see 2 new boxes in the right column where you can drag widgets. Just click the drop down arrow to expand them (pictured here) and you can begin dragging widgets into them…text, pictures, recent post widgets, whatever you like.
    What if I want my widgetized sidebars to appear somewhere else?
    Okay, so what if you don’t want these new widget areas to appear below your content box? No problem, you just need to ‘hook’ them to the area you do want them in. Look at the 1st bit of code above (that went into your custom_functions.php file). The last line says “add action…”, and you see ‘thesis_hook_after_content_box’. That ‘after_content_box is the hook we used and it tells Thesis to place it in that specific area.
    Well, Thesis has lots of hooks available (a hook essentially just refers to a different place on your site you can ‘hang’ code). Check out this visual reference and click on one of the thumbnail images you see there. As you’ll see, the hooks are all over the place and they each refer to a different spot on the page. Choose where you want your widgetized sidebars to go and replace ‘after_content_box’ in the above code with the hook you want.
    Of course, that will require you to style your sidebars differently because the size of the space/hook you’re placing them in/on will determine how you style them. If you decide to do that, leave me a comment and I’ll show you how to do it.
    Things to keep in mind
        We registered/created just 2 widgetized sidebars. If you want more, that’s totally doable and it’s a matter of a few tweaks to the above code. Comment me if you would like to learn how to do so.
        Depending on what widget(s) you drop into these newly created sidebars, your styling (CSS) may need to be altered (an image, for example, may be taller than, say, a list of links, etc), so if you run into an issue where it just doesn’t look right, comment me.
    Alright, so that wraps things up. If anything is unclear or doesn’t work or if you need some additional support, please holler. And of course, if you’re at your wit’s end and want to hire me to build you a WordPress site or provide some WordPress Coaching, please do.
    Cheers…
    =========================================================
    http://www.studiograsshopper.ch/code-snippets/how-to-add-a-widgetised-area-in-a-wordpress-theme/
    How to add a Widgetised area in a WordPress theme
    July 11, 2009 26 Comments
    Darling, I'm not in the mood to go dancing. Let's stay home and code widgets instead!
    Darling, I'm not in the mood to go dancing. Let's stay home and code widgets instead!
    Here’s a tutorial to show you how to add a widget to a theme template file.
    Most themes these days come with built-in widget support, most commonly in the sidebar, but also sometimes in other parts of the theme such as the header, homepage or single post pages.
    In this tutorial I show you how to add a widget area to single post pages, and how to use the new widget area to display an advert on every single post page.
    Widget basics
    There are only four things we need to know in order to set up our new widget area:
        Which theme template file we need to edit
        The code for a Widget area, which we will place in the relevant theme template file
        How to “register” a Widget area, usually in the theme’s functions.php, in order to tell WordPress that the widget area exists and therefore allow you to add widgets to this widget area in the Dashboard.
        Add some styling to the widget area so that it fits in with the look of our site.
    Which template file?
    If you familiar with WordPress you will know that different pages on your site are produced by different theme template files. Which template file is used to display different views of your site is taken care of by WordPress, behind the scenes, and follows the Template Hierarchy coded into the WordPress Core files.
    In our example, we want to add the widget area to the single post page. Depending on your theme this will be either single.php or index.php. In our example, let’s assume it is index.php.
    Adding Widget code to the theme file
    Open up your index.php (take a backup first, just in case you need to put everything back to how it was) and decide where you want the new widget area to appear. Typically, your index.php file will be structured something like this (I’ve left out most of the code to keep things simple):
    1    <?php get_header(); ?>
    2    
    3    <div id="content">
    4    
    5        <div id="contentleft">
    6        
    7            <div class="postarea">
    8            
    9            <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
    10                
    11                // Loop stuff goes here eg Title, Date, Content etc
    12                
    13                                    
    14                <!--
    15                <?php trackback_rdf(); ?>
    16                -->
    17                
    18                <?php endwhile; else: ?>
    19                
    20                <p><?php _e('Sorry, no posts matched your criteria.'); ?></p><?php endif; ?>
    21                
    22            </div><!-- End of postarea -->
    23                
    24            <div class="postcomments">
    25                
    26                <?php comments_template('',true); ?>
    27            
    28            </div>
    29            
    30        </div>
    31        
    32        <?php include(TEMPLATEPATH."/sidebar.php");?>
    33                
    34    </div>
    35    
    36    <?php get_footer(); ?>
    Your index.php file may not have the same DIV id name’s, but the structure should be similar: a DIV containing the Loop, in this case the postarea div (lines 7-22), and a DIV containing the call to the comments template, in this case the postcomments DIV (lines 24-28).
    We want to place our widget area between these two DIVs. That way, the widget content will display below the post content and above the comments section of the page.
    First, let’s add a new DIV and give it a new class called “widget-post”. You can name this class whatever you like, but choose something that has some meaning so that it’s easier to remember its purpose. Here’s our added code in lines 24-28:
    1    </div><!-- End of postarea -->
    2    
    3    <div class="widget-post">
    4    
    5        // Our widget stuff will go here...
    6    
    7    </div>
    8                
    9    <div class="postcomments">
    10                
    11        <?php comments_template('',true); ?>
    12            
    13    </div>
    Now let’s add the code to display our new widget area. Here it is:
    1    </div><!-- End of postarea -->
    2    
    3    <div class="widget-post">
    4    
    5        <?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('Post Widget') ) : ?>
    6        <?php endif; ?>
    7    
    8    </div>
    9                
    10    <div class="postcomments">
    11                
    12        <?php comments_template('',true); ?>
    13            
    14    </div>
    The new code we’ve added will pull in the widget content. In plain English, the code says – if widgets aren’t enabled in this theme or a widget area called “Post Widget” hasn’t been registered, do nothing. Therefore, if widgets are enabled and the widget area called “Post Widget” exists, the widget content will be displayed here. That’s it – no more work needed on the template file, and it’s time to add the “register” code in functions.php.
    Registering the widget in functions.php
    We now need to tell WordPress that it should enable a widget area called “Post Widget”. Open up your functions.php and look for a block of code something like this:
    1    if ( function_exists('register_sidebars') ) {
    2        register_sidebar(array('name'=>'Sidebar 1',));
    3        register_sidebar(array('name'=>'Sidebar 2',));
    4        register_sidebar(array('name'=>'Sidebar 3',));
    5    }
    This is the section of code that tells WordPress to enable widget areas. All we need to do is add a new line to this block of code to register our new widget area. Like this:
    1    if ( function_exists('register_sidebars') ) {
    2        register_sidebar(array('name'=>'Sidebar 1',));
    3        register_sidebar(array('name'=>'Sidebar 2',));
    4        register_sidebar(array('name'=>'Sidebar 3',));
    5        register_sidebar(array('name'=>'Post Widget',));
    6    }
    The important points to note are:
        We’ve added the extra line below the existing lines, but before the closing curly bracket. This ensures that our changes do not mess up the widgets you’ve already set up in your sidebar, for example.
        We’ve used exactly the same name “Post Widget” that we used in the new code added in index.php above.
    Another important point to remember is that the names of widget areas must be unique!
    Adding widgets to the new widget area
    Go to Dashboard>Appearance>Widgets and you should now see that your Post Widget appears in the righthand side of this screen. You can now drag a Text Widget to the Post Widget, and then add the code necessary to display your adverts within the Text Widget. For example, you can add Google Adsense code here, or affiliate code for a banner ad etc.
    View your site and check that on single post pages you now see your adverts between the post content and the comments. If it doesn’t appear, re-check the above steps in case you’ve missed something. If using a newly set up Google Adsense, remember that it can take a short while for the Adsense to populate.
    Styling the new widget area
    You will probably need to adjust your CSS to get the new widget area to fit in with the look of your site. The most important thing to do first is to add something like this to your style.css to define a style for the new widget-post DIV class which is the container for the widget area:
    1    .widget-post {
    2        background: #FFFFFF;
    3        margin: 0px;
    4        padding: 10px;
    5        width: 600px;
    6        }
    This is just a starting point – adjust the width, background, padding and margin to suit you.
    If you are using Google Adsense, your Google code will already include various styles based on the selections you made when setting up the Google Adsense. If you are posting your own HTML in the Text Widget you will probably have to add some styling to style.css to make the neceesary adjustments. If you are unfamiliar with CSS, check out the many great tutorials that are out there.
    And finally…
    As you can see, it isn’t too difficult to add a widget area to a theme file. This same method can be used elsewhere in your site to create other widget areas – just remember to name each one uniquely, and have fun
    =================================================
    How to add widget area http://www.templatemonster.com/help/how-to-add-widget-area.html
        Author: Chris Diaz
        Posted on: April 7, 2011
        Relation: Layout
        Complexity: Advanced
        Tags: widget, WordPress
    Rating: 3.3/5 (2 votes cast)

    How to add widget area in WordPress
    This tutorial will show you how to create new widget area in WordPress. Any widget in WordPress template could be displayed in any place on the page. This could be done using WordPress widget areas.

    To add widget area access to your WordPress installation folder.
    1. Open ‘wp-content/themes/theme###’ folder.
    2. View the functions.php file
    3. Use search tool (CTRL+F) and search for ‘widget’. You can fund the following lines:
    Here you can see that widgets are defined in the sidebar-init.php file
    ?
    1
    2
        
    //Widget and Sidebar
    require_once $includes_path . 'sidebar-init.php';
    This line defines the $includes_path variable value.
    ?
    1
        
    $includes_path = TEMPLATEPATH . '/includes/';
    These lines shows you that the widgets are defined in the wp-content/themes/theme###/includes/sidebar-init.php file
    4. Open sidebar-init.php file. All widget areas are defined here. The following code is used to define wach area:
    ?
    1
    2
    3
    4
    5
    6
    7
    8
    9
        
        register_sidebar(array(
            'name'          => 'Sidebar 2',
            'id'            => 'sidebar-2',
            'description'   => __( 'Located at the right side of pages.'),
            'before_widget' => '<div id="%1$s" class="widget %2$s">',
            'after_widget'  => '</div>',
            'before_title'  => '<h3 class="widget-title">',
            'after_title'   => '</h3>',
    ));
    To register new widget area copy the code above and paste it before the closing ‘}’ bracket
    Change the ‘name’, ‘id’ and ‘description’ values.

    5. Now you can insert the widget area to any part of the template. Go back to the ‘wp-content/themes/theme###‘ folder. You can insert the area to any layout file:
        header.php
        footer.php
        single.php
        category.php
        index.php
        sidebar.php etc
    6. Paste the following code to the required place to insert the widget area.
    ?
    1
        
    <?php if ( ! dynamic_sidebar( 'New Widget Area' ) ) :?><?php endif;?>
    Replace ‘New Widget Area’ with your widget area name.
    7. If everything has been done correctly the new widget area would be available from the WordPress admin panel Appearance>Widgets (right column) .

    Feel free to check the detailed video tutorial below:
    <end node> 5P9i0s8y19Z
    dt=
    <node>saved info
    2
    ?><div id="topbar" class="sidebar widget-area">
    <?php
        genesis_structural_wrap( 'topbar' );
        do_action( 'genesis_before_sidebar_widget_area' );
        do_action( 'genesis_sidebar' );
        do_action( 'genesis_after_sidebar_widget_area' );
        genesis_structural_wrap( 'topbar', 'close' );
    ?>
    </div>
    <!-- begin #featured-top -->
    <div id="featured-top">
                <?php if (!dynamic_sidebar('Homepage Top')) : ?>
                    <div class="widget">
                        
                        <div class="wrap">
                            <p><?php _e("This is a widgeted area which is called Homepage.", 'genesis'); ?></p>
                        </div><!-- end .wrap -->
                    </div><!-- end .widget -->
                <?php endif; ?>
            </div><!-- end #featured-top -->
    <end node> 5P9i0s8y19Z
    dt=
    <node>simple one
    2
    <?php
    /*
    Plugin Name: My Widget
    Plugin URI: http://mydomain.com
    Description: My first widget
    Author: Me
    Version: 1.0
    Author URI: http://mydomain.com
    */
    // Block direct requests
    if ( !defined('ABSPATH') )
        die('-1');
        
        
    add_action( 'widgets_init', function(){
         register_widget( 'My_Widget' );
    });    
    /**
    * Adds My_Widget widget.
    */
    class My_Widget extends WP_Widget {
        /**
         * Register widget with WordPress.
         */
        function __construct() {
            parent::__construct(
                'My_Widget', // Base ID
                __('My Widget', 'text_domain'), // Name
                array( 'description' => __( 'My first widget!', 'text_domain' ), ) // Args
            );
        }
        /**
         * Front-end display of widget.
         *
         * @see WP_Widget::widget()
         *
         * @param array $args     Widget arguments.
         * @param array $instance Saved values from database.
         */
        public function widget( $args, $instance ) {
        
             echo $args['before_widget'];
            if ( ! empty( $instance['title'] ) ) {
                echo $args['before_title'] . apply_filters( 'widget_title', $instance['title'] ). $args['after_title'];
            }
            echo __( 'Hello, World!', 'text_domain' );
            echo $args['after_widget'];
        }
        /**
         * Back-end widget form.
         *
         * @see WP_Widget::form()
         *
         * @param array $instance Previously saved values from database.
         */
        public function form( $instance ) {
            if ( isset( $instance[ 'title' ] ) ) {
                $title = $instance[ 'title' ];
            }
            else {
                $title = __( 'New title', 'text_domain' );
            }
            ?>
            <p>
                <label for="<?php echo $this->get_field_id( 'title' ); ?>"><?php _e( 'Title:' ); ?></label>
                <input class="widefat" id="<?php echo $this->get_field_id( 'title' ); ?>" name="<?php echo $this->get_field_name( 'title' ); ?>" type="text" value="<?php echo esc_attr( $title ); ?>">
            </p>
            <?php
        }
        /**
         * Sanitize widget form values as they are saved.
         *
         * @see WP_Widget::update()
         *
         * @param array $new_instance Values just sent to be saved.
         * @param array $old_instance Previously saved values from database.
         *
         * @return array Updated safe values to be saved.
         */
        public function update( $new_instance, $old_instance ) {
            $instance = array();
            $instance['title'] = ( ! empty( $new_instance['title'] ) ) ? strip_tags( $new_instance['title'] ) : '';
            return $instance;
        }
    } // class My_Widget
    <end node> 5P9i0s8y19Z
    ','Custom Code','','publish','closed','closed','','custom-code','','','2017-12-22 00:52:07','2017-12-22 00:52:07','',0,'http://www.acctcrop.softwarewebdesign.com/?page_id=24',0,'page','',0),(25,1,'2017-12-22 00:52:07','2017-12-22 00:52:07','
    <node>CUSTOM CODING
    <node>Disable auto updates
    <node>Disable site
    <node>EXTERNAL PHP
    <node>Hacks
    <node>footer changes
    <node>Header Change
    <node>New user
    <node>is logged in
    <node>Merging admins
    <node>Protect Login Screen
    <node>redirect
    <node>Codects
    <node>database access
    <node>domain change
    <node>Embed wordpress page
    <node>MEMBERlogin
    <node>Redirect
    <node>database
    <node>get_row
    <node>MergeDatabases
    <node>minimum permissions
    <node>New subject
    <node>notes
    <node>plugin
    <node>backupWordpress
    <node>Contact form
    <node>shortcodes
    <node>WIDGET
    <node>example
    <node>new area
    <node>saved info
    <node>simple one

    <Treepad version 3.0>
    dt=
    <node>CUSTOM CODING
    0
    accepted
        
    If you are getting to the point where the code in your theme's functions.php is starting to overwhelm you I would definitely say you are ready to consider splitting it up into multiple files. I tend to do that almost by second nature at this point.
    Use Include Files in your Theme's functions.php File
    I create a subdirectory called "includes" under my theme directory and segment my code into include files organized by what makes sense to me at the time (which means I'm constantly refactoring and moving code around as a site evolves.) I also rarely put any real code in functions.php; everything goes in the include files; just my preference.
    Just to give you an example here's my test install that I use to test my answers to questions here on WordPress Answers. Every time I answer a question I keep the code around in case I need it again. This isn't exactly what you'll do for a live site but it shows the mechanics of splitting up the code:
    require_once('includes/null-meta-compare.php');
    require_once('includes/older-examples.php');
    require_once('includes/wp-admin-menu-classes.php');
    <end node> 5P9i0s8y19Z
    dt=
    <node>Disable auto updates
    1
    Example Coding Magic: Turn Off Automatic Updates
    Auto updates have been a part of WordPress since version 3.7. Not everyone likes this feature; many would like to turn it off. All you need to do is add this line of code to your
    wp-config.php file.
    1./* Disable WordPress automatic updates */
    .2.define( 'WP_AUTO_UPDATE_CORE', false );
    <end node> 5P9i0s8y19Z
    dt=
    <node>Disable site
    1
    In the header.php file of genisis
    <?php
    if(!is_user_logged_in()){
    echo "This site is under construction"; exit;
    }
    <end node> 5P9i0s8y19Z
    dt=
    <node>EXTERNAL PHP
    1
    home
    | photos
    |     login
      
    Integrating WP in external PHP pages
    24
    Jun
    I have several external pages that use the WP theme engine to wrap the content. I use the method found here, which worked great under WordPress 2.9.2. After upgrading to WP 3.0, these pages no longer worked as expected but instead generated 404s; it turns out the fix is rather simple.
    The code to include the WP theme in external pages used to look like this:
    < ?php 'OLD METHOD
    require('./wp-blog-header.php');
    get_header();
    ?>
    <h2>This is the external content.</h2>
    < ?php
    get_sidebar();
    get_footer();
    ?>
    The newest version of WP merged the old WordPress Multi-User (WPMU) and the standalone version of WordPress. Since this merger, the new way to include WP in external pages is to change the require() statement to pull in wp-load.php (instead of wp-blog-header.php) like this:
    < ?php
    require('./wp-load.php');
    get_header();
    ?>
    <h2>This is the external content.</h2>
    < ?php
    get_sidebar();
    get_footer();
    ?>
    Now your external pages work just like they used to! I found the answer on a BBPress forum post from nine months ago.
    This entry was posted on Thursday, June 24th, 2010 at 11:00 am and is filed under Web Development, WordPress. It was tagged with the following tags: php, web, WordPress. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.
    <end node> 5P9i0s8y19Z
    dt=
    <node>Hacks
    1
    new user: http://www.wpbeginner.com/wp-tutorials/how-to-add-an-admin-user-to-the-wordpress-database-via-mysql/
    <end node> 5P9i0s8y19Z
    dt=
    <node>footer changes
    2
    in the themes function.php add:
    remove_action( 'genesis_footer', 'genesis_do_footer' );
    add_action( 'genesis_footer', 'sp_custom_footer' );
    function sp_custom_footer() {
        ?>
        <p>Copyright 2015 - Software Web Design</p>
        <?php
    }
    <?php
    /**
    * Genesis Framework.
    *
    * WARNING: This file is part of the core Genesis Framework. DO NOT edit this file under any circumstances.
    * Please do all modifications in the form of a child theme.
    *
    * @package Genesis\\Templates
    * @author  StudioPress
    * @license GPL-2.0+
    * @link    http://my.studiopress.com/themes/genesis/
    */
    genesis_structural_wrap( 'site-inner', 'close' );
    echo '</div>'; //* end .site-inner or #inner
    add_filter( 'genesis_footer_creds_text', 'custom_footer_creds_text' );
    function custom_footer_creds_text() {
        echo '<div class="creds"><p>';     echo 'Copyright © ';     echo date('Y');     echo '·Built by <a href="http://www.kblegacydesigns.com">Kb Legacy Designs</a> & <a href="http://www.softwarewebdesign.com">Software Web Design</a> · ';     echo '</p></div>'; }
    do_action( 'genesis_before_footer' );
      
    do_action( 'genesis_footer' );

    do_action( 'genesis_after_footer' );

    echo '</div>'; //* end .site-container or #wrap
    do_action( 'genesis_after' );
    wp_footer(); //* we need this for plugins
    ?>
    </body>
    </html>
    Footer
    Make Sure you have ftp access just in case because I brought the site down using editor
    Code snippets should be placed in your child theme's functions.php file.
    For Beginners, you may wish to use the Simple Edits plugin to edit the footer from the admin area.
    For Intermediate users who need more control over the appearace of the footer –
    Below is the code to customize the Return to Top of Page text on your site:
    /** Customize the return to top of page text */add_filter( 'genesis_footer_backtotop_text', 'custom_footer_backtotop_text' ); function custom_footer_backtotop_text($backtotop) {     $backtotop = '[footer_backtotop text="Return to Top"]';     return $backtotop; }
    Below is the code to customize the Credits text on your site:
    /* Customize the credits exmpl1*/
    add_filter( 'genesis_footer_creds_text', 'custom_footer_creds_text' ); function custom_footer_creds_text() {     echo '<div class="creds"><p>';     echo 'Copyright © ';     echo date('Y');     echo ' · <a href="http://mydomain.com">My Custom Link</a> · Built on the <a href="http://www.studiopress.com/themes/genesis" title="Genesis Framework">Genesis Framework</a>';     echo '</p></div>'; }
    //Change  footer credits exmpl 2
    add_filter( 'genesis_footer_creds_text', 'custom_footer_creds_text' );
    function custom_footer_creds_text() {
        echo '<div class="creds"><p>';     echo 'Copyright © ';     echo date('Y');     echo ' · <a href="http://kblegacy.com">KB Legacy</a> · Built by KB Legacy Designs';     echo '</p></div>'; }
    Below is the code to customize the entire footer text on your site:
    /** Customize the entire footer */remove_action( 'genesis_footer', 'genesis_do_footer' ); add_action( 'genesis_footer', 'custom_footer' ); function custom_footer() {     ?>     <p>© Copyright 2012 <a href="http://mydomain.com/">My Domain</a> · All Rights Reserved · Powered by <a href="http://wordpress.org/">WordPress</a> · <a href="http://mydomain.com/wp-admin">Admin</a></p>     <?php }
    <end node> 5P9i0s8y19Z
    dt=
    <node>Header Change
    2
    <?php
    /*  Template Name: Include Page */
    add_action('genesis_meta', 'add_head');
    function add_head() {
        include("wpHeaderInclude.php");
    }

    Outreach Child Theme: wpHeaderInclude.php
    <link rel="stylesheet" href="<?php echo includes_url(); ?>/js/lightbox/lightbox.css" type="text/css" media="screen" >
    <script type="text/javascript" src="<?php echo includes_url(); ?>/js/lightbox/lightbox.js"></script>
    Just add your lightbox folder to the include/js folder
    =====================================================
    I actually found how to do it, it's pretty straight forward:
    1/ Register a function to be executed when the wp_head action fires:
    add_action('wp_head', 'my_function');
    2/ Make the function echo whatever you want in the header:
    function my_function()
    {
    <link rel="stylesheet" href="<?php echo includes_url(); ?>/js/lightbox/lightbox.css" type="text/css" media="screen" >
    echo '<meta name="robots" content="noindex, nofollow">';
    }
    Using this trick for the Facebook Like plugin, thanks to the smart Add Your Own Headers plugin that showed me pointers.
    <end node> 5P9i0s8y19Z
    dt=
    <node>New user
    2
    REQUIRES 3 INSERTS
    INSERT INTO `databasename`.`wp_users` (`ID`, `user_login`, `user_pass`, `user_nicename`, `user_email`, `user_url`, `user_registered`, `user_activation_key`, `user_status`, `display_name`) VALUES ('4', 'demo', MD5('demo'), 'Syed Balkhi', 'test@yourdomain.com', 'http://www.wpbeginner.com/', '2011-06-07 00:00:00', '', '0', 'Syed Balkhi');
    2    
    3    
    4    INSERT INTO `databasename`.`wp_usermeta` (`umeta_id`, `user_id`, `meta_key`, `meta_value`) VALUES (NULL, '4', 'wp_capabilities', 'a:1:{s:13:"administrator";s:1:"1";}');
    5    
    6    
    7    INSERT INTO `databasename`.`wp_usermeta` (`umeta_id`, `user_id`, `meta_key`, `meta_value`) VALUES (NULL, '4', 'wp_user_level', '10');
    wp_w3q1o7u0_usermeta
    WPBeginner» Blog» Tutorials» How to Add an Admin User to…
    How to Add an Admin User to the WordPress Database via MySQL
    Last updated on November 25th, 2014 by Editorial Staff
    Share This Article
    101
    Follow WPBeginner on YouTube
    How to Add an Admin User to the WordPress Database via MySQL
    Few days ago, we ran into an issue where a user’s site got hacked and their admin account was deleted from the database. This locked them out of their site without any other entry. We went in to the phpMyAdmin and created a new admin user to grant them access. In this article, we will show you a step by step guide on how to create an admin user in WordPress Database via MySQL.
    Note: You should always make a backup of your database before performing any MySQL edits. This tutorial requires basic understanding of how phpMyAdmin works.
    Video Tutorial
    If you don’t like the video or need more instructions, then continue reading.
    First, you need to login to phpMyAdmin and locate your WordPress database. (Below is a screenshot of a HostGator cPanel)
    cPanel phpMyAdmin
    Once you are in, we will be making changes to the wp_users and wp_usermeta tables. Lets go ahead and click on wp_users table.
    phpMyAdmin wp_users table
    We need to insert our new admin user’s information, so click on the Insert tab like it shows in the image above. In the insert form, add the following:
        ID – pick a number (in our example, we will use the number 4).
        user_login – insert the username you want to use to access the WordPress Dashboard.
        user_pass – add a password for this username. Make sure to select MD5 in the functions menu (Refer to the screenshot below).
        user_nicename – put a nickname or something else that you would like to refer yourself as.
        user_email – add the email you want to associate with this account.
        user_url – this would be the url to your website.
        user_registered – select the date/time for when this user is registered.
        user_status – set this to 0.
        display_name – put the name you like to display for this user on the site (it can be your user_nicename value as well).
        Click on the Go Button
    phpMyAdmin Insert values in wp_users table
    Next we are going to have to add the values to wp_usermeta table. Click on the wp_usermeta table and then click on the Insert tab just like the previous step. Then add the following information to the insert form:
        unmeta_id – leave this blank (it will be auto-generated)
        user_id – this will be the id of the user you created in the previous step. Remember we picked 4.
        meta_key – this should be wp_capabilities
        meta_value – insert this: a:1:{s:13:"administrator";s:1:"1";}
    Insert another row with the following information:
        unmeta_id – leave this blank (it will be auto-generated)
        user_id – this will be the id of the user you created in the previous step. Remember we picked 4.
        meta_key – this should be wp_user_level
        meta_value – 10
    Then click on the Go button, and you have created yourself a new username. Now you should be able to login to your wp-admin with the username and password you specified for this user. Once logged in, click on Users and edit the username you just created. Go down and click on the Save button (you don’t have to change anything). This will allow WordPress to go through and add some more information and clean-up the user we just added.
    SQL query
    For developers who want to speed this process up, you can simply drop this SQL query in your database.
    1    INSERT INTO `databasename`.`wp_users` (`ID`, `user_login`, `user_pass`, `user_nicename`, `user_email`, `user_url`, `user_registered`, `user_activation_key`, `user_status`, `display_name`) VALUES ('4', 'demo', MD5('demo'), 'Syed Balkhi', 'test@yourdomain.com', 'http://www.wpbeginner.com/', '2011-06-07 00:00:00', '', '0', 'Syed Balkhi');
    2    
    3    
    4    INSERT INTO `databasename`.`wp_usermeta` (`umeta_id`, `user_id`, `meta_key`, `meta_value`) VALUES (NULL, '4', 'wp_capabilities', 'a:1:{s:13:"administrator";s:1:"1";}');
    5    
    6    
    7    INSERT INTO `databasename`.`wp_usermeta` (`umeta_id`, `user_id`, `meta_key`, `meta_value`) VALUES (NULL, '4', 'wp_user_level', '10');
    Remember to change the databasename to the database you are working with. Also don’t forget to change the appropriate values.
    About the Editorial Staff
    Editorial Staff at WPBeginner is a team of WordPress lovers led by Syed Balkhi. Page maintained by Syed Balkhi.
    More on WPBeginner Right Now
        How to Easily Create a Responsive WordPress Slider with Soliloquy
        How to Easily Create a Responsive WordPress Slider with Soliloquy
        How We Increased Our Organic Search Traffic By Using HitTail
        How We Increased Our Organic Search Traffic By Using HitTail
        WordPress Custom Fields 101: Tips, Tricks, and Hacks
        WordPress Custom Fields 101: Tips, Tricks, and Hacks
        How to Get Google’s Verified Authorship for your WordPress Blog
        How to Get Google’s Verified Authorship for your WordPress Blog
    WPBeginner's WordPress Training Videos Free
    WPBeginner's Video Icon
    Our HD-Quality tutorial videos for WordPress Beginners will teach you how to use WordPress to create and manage your own website in about an hour. Get started now »
    Join over 130,000 WordPress Users
    who get fresh content from WPBeginner!
    <end node> 5P9i0s8y19Z
    dt=
    <node>is logged in
    1
    <?php
    if(!is_user_logged_in()){
    echo "This site is under construction"; exit;
    }
    <end node> 5P9i0s8y19Z
    dt=
    <node>Merging admins
    1
    Add this to the mystuff.php of the non wordpress admin FROM THE WINDSORSEVERANCESTORAGE.COM
    session_start();
    include("config.php");
    require_once("../wp-load.php");
    if(!is_user_logged_in() && $bypass!=true){
    echo "This site is under construction"; exit;
    } else $wordpress=true;
    if($wordpress==false){
        $db = mysql_pconnect($server, $user,$password);
        if (!$db){
            echo 'Error: Could not connect to database.  Please try again later.'; exit;
        }
        mysql_select_db($database);
        if($pageLevel=='')$pageLevel=3;
        if($LEVEL<$pageLevel && $bypass!=true){
            echo "<body onload=setTimeout(\\"location.href='LoginScreen.php'\\",2000)>";
            echo "You need to login with more security.<p>Click <a href='LoginScreen.php'>here</a> to continue.";$_SESSION['LEVEL']='';exit;
        }
    }else $_SESSION['LEVEL']=10;
    <end node> 5P9i0s8y19Z
    dt=
    <node>Protect Login Screen
    1
    This is done near the top in both files
    in the index.php of the root/wp-admin folder add:
    if($_GET["SWD"]!="") setcookie("SWD_ADMIN","swd", time()+(60*60*24*30),"/");
    in the root folder wp-login.php add:
    if($_COOKIE["SWD_ADMIN"]!="swd"){ echo "You have been terminated"; exit; }
    <end node> 5P9i0s8y19Z
    dt=
    <node>redirect
    1
    add_action( 'template_redirect', 'restrictPage_blah', 100 );
    function restrictPage_blah() {
    if( ! is_user_logged_in() && is_page('restrictedPage') )
    {
    wp_redirect( 'http://www.google.com' );
        exit;
    }
    }
    <end node> 5P9i0s8y19Z
    dt=
    <node>Codects
    1
    <?php
    require_once("../wp-load.php");
    require_once("swdFunctions.php");
    function current_session(){
       $sessionid =$_COOKIE["MYCOOKIE"];//$_SESSION["MYSESSION"];
        if($sessionid==""){
          $sessionid=strtotime(date("Y-m-d H:i:s")); setcookie("MYCOOKIE",$sessionid,time()+60*60*24*300);
        }
        return $sessionid;
    }
    get_header();
    include(get_site_url()."/swd/mdropdown.php");
    ?>
    <div id="content-full" class="grid col-940">
    </div><!-- end of #content-full -->
    <?php get_footer(); ?>
    <end node> 5P9i0s8y19Z
    dt=
    <node>database access
    2
    <?php
    $path = $_SERVER['DOCUMENT_ROOT'];
    include_once $path . '/wp-config.php';
    include_once $path . '/wp-load.php'; // THIS MAY BE THE ONLY LINE YOU MAY NEED
    include_once $path . '/wp-includes/wp-db.php';
    include_once $path . '/wp-includes/pluggable.php';
    // $wpdb is available, do stuff
    <end node> 5P9i0s8y19Z
    dt=
    <node>domain change
    2
    UPDATE wp_posts SET guid = replace(guid, 'http://www.old-domain.com','http://www.new-domain.com');
    UPDATE whs_posts SET guid = replace(guid, 'http://www.softwarewebsecure.com/WINDSORHAIR','http://new.windsorhairshoppe.com');
    <end node> 5P9i0s8y19Z
    dt=
    <node>Embed wordpress page
    2
    From the swinterTmpl.php from Storage
    include(includes_url()."storageLeaseForm.php?WPLOGIN=".STORAGE_MEMBER."&site1=".urlencode(site_url()));
                $include1 = get_pages('include=62'); $content = apply_filters('the_content',$include1[0]->post_content); echo $content;
                //echo includes_url()."storageLeaseForm.php?site1=".urlencode(site_url());
                break;
    ID: page/post ID (int)
    ?post_author: author ID (string)
    ?post_date: time-date string (YYYY-MM-DD HH:MM:SS), e.g., "2012-10-15 01:02:59"
    ?post_date_gmt: time-date string
    ?post_content: HTML (string)
    ?post_title
    ?post_excerpt: HTML (string)
    ?post_status: (publish|inherit|pending|private|future|draft|trash)
    ?comment_status: closed/open
    ?ping_status: (closed|open)
    ?post_password
    ?post_name: slug for page/post
    ?to_ping
    ?pinged
    ?post_modified: time-date string
    ?post_modified_gmt: time-date string
    ?post_content_filtered
    ?post_parent: parent ID (int)
    ?guid: URL
    ?menu_order: (int)
    ?post_type: (page|post|attachment)
    ?post_mime_type
    ?comment_count: number of comments (string)
    ?filter
    All values are strings unless otherwise shown as (int).
    <end node> 5P9i0s8y19Z
    dt=
    <node>MEMBERlogin
    2
    using the index.php
    <?php
    session_start();
    define('DARNELL_MEMBER', $_SESSION["DARNELL"]);
    //echo "shoot";exit;
    /**
    * Front to the WordPress application. This file doesn't do anything, but loads
    * wp-blog-header.php which does and tells WordPress to load the theme.
    *
    * @package WordPress
    */
    /**
    * Tells WordPress to load the WordPress theme and output it.
    *
    * @var bool
    */
    define('WP_USE_THEMES', true);
    /** Loads the WordPress Environment and Template */
    require( dirname( __FILE__ ) . '/wp-blog-header.php' );
    <end node> 5P9i0s8y19Z
    dt=
    <node>Redirect
    2
    [mix wordpress with non-wordpress site]
    $actual_link = "https://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
    $parse = parse_url($actual_link);
    //echo "dog--".$server1;
    if($parse['host']=="new.angeldesignsbydenise.com"){
       define('WP_USE_THEMES', true);
    // Loads the WordPress Environment and Template
       require( dirname( __FILE__ ) . '/wp-blog-header.php' );
       exit;
    }
    <end node> 5P9i0s8y19Z
    dt=
    <node>database
    1
    [MULTIPLE RECORDS]
    $rows=$wpdb->get_results($query);$num=$wpdb->num_rows;
    foreach ( $rows as $row ) {
        if($cnt>$defaultField){
            $dis.="\\n</td></tr></table><td width=175><table><tr><td><b>Member</b><td><b>Year<b></td>\\n";$cnt=0;
        }
       $donationid=$row->donationid;
        $last_name=$row->last_name;
        $last_name=ShortenString($last_name);
        $first_name=$row->first_name;
        $first_name=ShortenString($first_name);
        $authcode=$row->authcode;
        $datefill=$row->datefill;
        $timelapse=(int)((strtotime(date("Y-m-d"))-strtotime($datefill))/$yearlapse);
        if($timelapse==0)$timelapse="NEW";
    //REPORT FORMAT here
            if($authcode=="YES"){
                $dis.="<tr><td align=right>Anonymous</td><td width=20 style='text-align:center;'>$timelapse</td></tr>\\n";
            }else{
                $dis.="<tr><td align=right>$first_name $last_name</td><td width=20 style='text-align:center;'>$timelapse</td></tr>\\n";   // <td class=view>$first_name</td>    <td class=view>$address</td>    <td class=view>$city</td>    <td class=view>$state</td>    <td class=view>$zip</td>    <td class=view>$phone</td>    <td class=view>$email</td>    <td class=viewnumber align=right>$pay_interval</td>    <td class=view>$pay_option</td>    <td class=viewnumber align=right>$amount</td>    <td class=view>$datefill</td>    <td class=view>$responsecode</td>    <td class=viewnumber align=right>$subscriptionid</td>    <td class=view>$reasoncode</td>    <td class=view>$reasontext</td>    <td class=view>$authcode</td>    <td class=view>$avscode</td>    <td class=view>$cardType</td>    <td class=view>$cardnum</td>    <td class=view>$csc</td>    <td class=view>$month</td>    <td class=viewnumber align=right>$year</td>";
            }
        $cnt++;
    }
    SELECT Generic Results
    Generic, mulitple row results can be pulled from the database with get_results. The function returns the entire query result as an array, or NULL on no result. Each element of this array corresponds to one row of the query result and, like get_row, can be an object, an associative array, or a numbered array.
    <?php $wpdb->get_results('query', output_type); ?>
    query
        (string) The query you wish to run. Setting this parameter to null will return the data from the cached results of the previous query.
    output_type
        One of four pre-defined constants. Defaults to OBJECT. See SELECT a Row and its examples for more information.
            OBJECT - result will be output as a numerically indexed array of row objects.
            OBJECT_K - result will be output as an associative array of row objects, using first column's values as keys (duplicates will be discarded).
            ARRAY_A - result will be output as an numerically indexed array of associative arrays, using column names as keys.
            ARRAY_N - result will be output as a numerically indexed array of numerically indexed arrays.
    Since this function uses the '$wpdb->query()' function all the class variables are properly set. The results count for a 'SELECT' query will be stored in $wpdb->num_rows.
    [UPDATE OR DELETE]
    Run Any Query on the Database
    The query function allows you to execute any SQL query on the WordPress database. It is best to use a more specific function (see below), however, for SELECT queries.
    <?php $wpdb->query('query'); ?>
    query
        (string) The SQL query you wish to execute.
    The function returns an integer corresponding to the number of rows affected/selected. If there is a MySQL error, the function will return FALSE. (Note: since both 0 and FALSE can be returned, make sure you use the correct comparison operator: equality == vs. identicality ===).
    <end node> 5P9i0s8y19Z
    dt=
    <node>get_row
    2
    SELECT a Row
    To retrieve an entire row from a query, use get_row. The function can return the row as an object, an associative array, or as a numerically indexed array. If more than one row is returned by the query, only the specified row is returned by the function, but all rows are cached for later use. Returns OBJECT holding NULL if no result is found, consider this when using the returned value in arguments, see example below
    <?php $wpdb->get_row('query', output_type, row_offset); ?>
    query
    (string) The query you wish to run.
    output_type
    One of three pre-defined constants. Defaults to OBJECT.
    ¦OBJECT - result will be output as an object.
    ¦ARRAY_A - result will be output as an associative array.
    ¦ARRAY_N - result will be output as a numerically indexed array.
    row_offset
    (integer) The desired row (0 being the first). Defaults to 0.
    Examples
    Get all the information about Link 10.
    $mylink = $wpdb->get_row("SELECT * FROM $wpdb->links WHERE link_id = 10");
    The properties of the $mylink object are the column names of the result from the SQL query (in this example all the columns from the $wpdb->links table, but you could also query for specific columns only).
    echo $mylink->link_id; // prints "10"
    In contrast, using
    $mylink = $wpdb->get_row("SELECT * FROM $wpdb->links WHERE link_id = 10", ARRAY_A);
    would result in an associative array:
    echo $mylink['link_id']; // prints "10"
    and
    $mylink = $wpdb->get_row("SELECT * FROM $wpdb->links WHERE link_id = 10", ARRAY_N);
    would result in a numerically indexed array:
    echo $mylink[1]; // prints "10"
    If there is no record with ID 10 in the links table, null will be returned. The following would then be false:
    if ($mylink != null) {
      // do something with the link
      return true;
    } else {
      // no link found
      return false;
    }
    <end node> 5P9i0s8y19Z
    dt=
    <node>MergeDatabases
    2
    http://wordpress.stackexchange.com/questions/94018/merging-two-wp-posts-tables-while-avoiding-duplicates
    Import the new table as wp_posts_2, then join them and delete all duplicates based on post_content; then merge the two tables.
    The following SQL query (untested!) should give the posts from the new table to be deleted:
    SELECT wp2.* FROM wp_posts_2 as wp2 LEFT JOIN wp_posts as wp ON wp2.post_content = wp.post_content WHERE wp2.post_content = wp.post_content
    So, you can delete the entries with this query (also untested):
    DELETE wp_posts_2.* LEFT JOIN wp_posts as wp ON wp_posts_2.post_content = wp.post_content WHERE wp_posts_2.post_content = wp.post_content
    Then merge the two tables.
    <end node> 5P9i0s8y19Z
    dt=
    <node>minimum permissions
    2
    Below is an example of the minimum privileges a database user needs to have. Other database permissions are regarded as “extra” privileges that in most cases are not needed. A typical WordPress user should be granted the following database privileges only:
    The official documentation says to give the user all privs. Others suggest that you can restrict it to
    SELECT
    •INSERT
    •UPDATE
    •DELETE
    •CREATE
    •ALTER
    •INDEX
    •DROP optional
    Plugins etc can though call any statement they want so you would have to thoroughly test
    Data:
        SELECT
        INSERT
        UPDATE
    Example of How to Grant Access Privileges
    If you are upgrading WordPress, the above database permissions might not suffice between versions, WordPress might need to make further changes to the database. In this case, if you are only upgrading to the latest version of WordPress, add the below privileges to the WordPress database user:
    Structure:
        CREATE
        ALTER
    NOTE: Some plugins might require additional database privileges such as CREATE, DROP or DELETE and in those cases these privileges should be granted.
    <end node> 5P9i0s8y19Z
    dt=
    <node>New subject
    2
    <end node> 5P9i0s8y19Z
    dt=
    <node>notes
    2
    Interfacing With the Database
    WordPress provides a class of functions for all database manipulations. The class is called wpdb and is loosely based on the ezSQL class written and maintained by Justin Vincent.
    Using the $wpdb Object
    Methods in the wpdb() class should not be called directly.
    WordPress provides a global variable, $wpdb, which is an instantiation of the class already set up to talk to the WordPress database. Always use the global $wpdb variable. (Remember to globalize $wpdb before using it in any custom functions.)
    The $wpdb object can be used to read data from any table in the WordPress database (such as custom plugin tables), not just the standard tables that WordPress creates. For example to SELECT some information from a custom table called "mytable", you can do the following. $myrows = $wpdb->get_results( "SELECT id, name FROM mytable" );
    The $wpdb object can talk to any number of tables, but only one database: the WordPress database. In the rare case you need to connect to another database, you will have to instantiate your own object from the wpdb class with the appropriate connection details. For extremely complicated setups with many databases, consider using hyperdb instead. Run Any Query on the Database
    The query function allows you to execute any SQL query on the WordPress database. It is best to use a more specific function (see below), however, for SELECT queries.
    <?php $wpdb->query('query'); ?>
    query
    (string) The SQL query you wish to execute.
    The function returns an integer corresponding to the number of rows affected/selected. If there is a MySQL error, the function will return FALSE. (Note: since both 0 and FALSE can be returned, make sure you use the correct comparison operator: equality == vs. identicality ===).
    Note: As with all functions in this class that execute SQL queries, you must SQL escape all inputs (e.g., wpdb->escape($user_entered_data_string)). See the section entitled Protect Queries Against SQL Injection Attacks below.
    Examples
    Delete the 'gargle' meta key and value from Post 13. (We'll add the 'prepare' method to make sure we're not dealing with an illegal operation or any illegal characters):
    $wpdb->query(
        $wpdb->prepare(
            "
                    DELETE FROM $wpdb->postmeta
             WHERE post_id = %d
             AND meta_key = %s
            ",
                13, 'gargle'
            )
    );
    Performed in WordPress by delete_post_meta().
    Set the parent of Page 15 to Page 7.
    $wpdb->query(
        "
        UPDATE $wpdb->posts
        SET post_parent = 7
        WHERE ID = 15
            AND post_status = 'static'
        "
    );
    SELECT a Variable
    The get_var function returns a single variable from the database. Though only one variable is returned, the entire result of the query is cached for later use. Returns NULL if no result is found.
    <?php $wpdb->get_var('query',column_offset,row_offset); ?>
    query
    (string) The query you wish to run. Setting this parameter to null will return the specified variable from the cached results of the previous query.
    column_offset
    (integer) The desired column (0 being the first). Defaults to 0.
    row_offset
    (integer) The desired row (0 being the first). Defaults to 0.
    Examples
    Retrieve and display the number of users.
    <?php
    $user_count = $wpdb->get_var( "SELECT COUNT(*) FROM $wpdb->users" );
    echo "<p>User count is {$user_count}</p>";
    ?>
    Retrieve and display the sum of a Custom Field value.
    <?php
    // set the meta_key to the appropriate custom field meta key
    $meta_key = 'miles';
    $allmiles = $wpdb->get_var( $wpdb->prepare(
        "
            SELECT sum(meta_value)
            FROM $wpdb->postmeta
            WHERE meta_key = %s
        ",
        $meta_key
    ) );
    echo "<p>Total miles is {$allmiles}</p>";
    ?>
    SELECT a Row
    To retrieve an entire row from a query, use get_row. The function can return the row as an object, an associative array, or as a numerically indexed array. If more than one row is returned by the query, only the specified row is returned by the function, but all rows are cached for later use. Returns OBJECT holding NULL if no result is found, consider this when using the returned value in arguments, see example below.
    <?php $wpdb->get_row('query', output_type, row_offset); ?>
    query
    (string) The query you wish to run.
    output_type
    One of three pre-defined constants. Defaults to OBJECT.
    ¦OBJECT - result will be output as an object.
    ¦ARRAY_A - result will be output as an associative array.
    ¦ARRAY_N - result will be output as a numerically indexed array.
    row_offset
    (integer) The desired row (0 being the first). Defaults to 0.
    Examples
    Get all the information about Link 10.
    $mylink = $wpdb->get_row("SELECT * FROM $wpdb->links WHERE link_id = 10");
    The properties of the $mylink object are the column names of the result from the SQL query (in this example all the columns from the $wpdb->links table, but you could also query for specific columns only).
    echo $mylink->link_id; // prints "10"
    In contrast, using
    $mylink = $wpdb->get_row("SELECT * FROM $wpdb->links WHERE link_id = 10", ARRAY_A);
    would result in an associative array:
    echo $mylink['link_id']; // prints "10"
    and
    $mylink = $wpdb->get_row("SELECT * FROM $wpdb->links WHERE link_id = 10", ARRAY_N);
    would result in a numerically indexed array:
    echo $mylink[1]; // prints "10"
    If there is no record with ID 10 in the links table, null will be returned. The following would then be false:
    if ($mylink != null) {
      // do something with the link
      return true;
    } else {
      // no link found
      return false;
    }
    SELECT a Column
    To SELECT a column, use get_col. This function outputs a one dimensional array. If more than one column is returned by the query, only the specified column will be returned by the function, but the entire result is cached for later use. Returns an empty array if no result is found.
    <?php $wpdb->get_col('query',column_offset); ?>
    query
    (string) the query you wish to execute. Setting this parameter to null will return the specified column from the cached results of the previous query.
    column_offset
    (integer) The desired column (0 being the first). Defaults to 0.
    Examples
    For this example, assume the blog is devoted to information about automobiles. Each post describes a particular car (e.g. 1969 Ford Mustang), and three Custom Fields, manufacturer, model, and year, are assigned to each post. This example will display the post titles, filtered by a particular manufacturer (Ford), and sorted by model and year.
    The get_col form of the wpdb Class is used to return an array of all the post ids meeting the criteria and sorted in the correct order. Then a foreach construct is used to iterate through that array of post ids, displaying the title of each post. Note that the SQL for this example was created by Andomar.
    <?php
    $meta_key1        = 'model';
    $meta_key2        = 'year';
    $meta_key3        = 'manufacturer';
    $meta_key3_value    = 'Ford';
    $postids=$wpdb->get_col( $wpdb->prepare(
        "
        SELECT      key3.post_id
        FROM        $wpdb->postmeta key3
        INNER JOIN  $wpdb->postmeta key1
                    ON key1.post_id = key3.post_id
                    AND key1.meta_key = %s
        INNER JOIN  $wpdb->postmeta key2
                    ON key2.post_id = key3.post_id
                    AND key2.meta_key = %s
        WHERE       key3.meta_key = %s
                    AND key3.meta_value = %s
        ORDER BY    key1.meta_value, key2.meta_value
        ",
        $meta_key1,
        $meta_key2,
        $meta_key3,
        $meta_key3_value
    ) );
    if ( $postids )
    {
        echo "List of {$meta_key3_value}(s), sorted by {$meta_key1}, {$meta_key2}";
        foreach ( $postids as $id )
        {
            $post = get_post( intval( $id ) );
            setup_postdata( $post );
            ?>
            <p>
                <a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>">
                    <?php the_title(); ?>
                </a>
            </p>
            <?php
        }
    }
    ?>
    This example lists all posts that contain a particular custom field, but sorted by the value of a second custom field.
    <?php
    // List all posts with custom field Color, sorted by the value of custom field Display_Order
    // does not exclude any 'post_type'
    // assumes each post has just one custom field for Color, and one for Display_Order
    $meta_key1 = 'Color';
    $meta_key2 = 'Display_Order';
    $postids = $wpdb->get_col( $wpdb->prepare(
        "
        SELECT      key1.post_id
        FROM        $wpdb->postmeta key1
        INNER JOIN  $wpdb->postmeta key2
                    ON key2.post_id = key1.post_id
                    AND key2.meta_key = %s
        WHERE       key1.meta_key = %s
        ORDER BY    key2.meta_value+(0) ASC
        ",
            $meta_key2,
        $meta_key1
    ) );
    if ( $postids )
    {
        echo "List of {$meta_key1} posts, sorted by {$meta_key2}";
        foreach ( $postids as $id )
        {
            $post = get_post( intval( $id ) );
            setup_postdata( $post );
            ?>
            <p>
                <a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>">
                    <?php the_title(); ?>
                </a>
            </p>
            <?php
        }
    }
    ?>
    SELECT Generic Results
    Generic, mulitple row results can be pulled from the database with get_results. The function returns the entire query result as an array, or NULL on no result. Each element of this array corresponds to one row of the query result and, like get_row, can be an object, an associative array, or a numbered array.
    <?php $wpdb->get_results('query', output_type); ?>
    query
    (string) The query you wish to run. Setting this parameter to null will return the data from the cached results of the previous query.
    output_type
    One of four pre-defined constants. Defaults to OBJECT. See SELECT a Row and its examples for more information.
    ¦OBJECT - result will be output as a numerically indexed array of row objects.
    ¦OBJECT_K - result will be output as an associative array of row objects, using first column's values as keys (duplicates will be discarded).
    ¦ARRAY_A - result will be output as an numerically indexed array of associative arrays, using column names as keys.
    ¦ARRAY_N - result will be output as a numerically indexed array of numerically indexed arrays.
    Since this function uses the '$wpdb->query()' function all the class variables are properly set. The results count for a 'SELECT' query will be stored in $wpdb->num_rows.
    Examples
    Get the IDs and Titles of all the Drafts by User 5 and echo the Titles.
    $fivesdrafts = $wpdb->get_results(
        "
        SELECT ID, post_title
        FROM $wpdb->posts
        WHERE post_status = 'draft'
            AND post_author = 5
        "
    );
    foreach ( $fivesdrafts as $fivesdraft )
    {
        echo $fivesdraft->post_title;
    }
    Get all information on the Drafts by User 5.
    <?php
    $fivesdrafts = $wpdb->get_results(
        "
        SELECT *
        FROM $wpdb->posts
        WHERE post_status = 'draft'
            AND post_author = 5
        "
    );
    if ( $fivesdrafts )
    {
        foreach ( $fivesdrafts as $post )
        {
            setup_postdata( $post );
            ?>
            <h2>
                <a href="<?php the_permalink(); ?>" rel="bookmark" title="Permalink: <?php the_title(); ?>">
                    <?php the_title(); ?>
                </a>
            </h2>
            <?php
        }
        else
        {
            ?>
            <h2>Not Found</h2>
            <?php
        }
    }
    ?>
    INSERT rows
    Insert a row into a table.
    <?php $wpdb->insert( $table, $data, $format ); ?>
    table
    (string) The name of the table to insert data into.
    data
    (array) Data to insert (in column => value pairs). Both $data columns and $data values should be "raw" (neither should be SQL escaped).
    format
    (array|string) (optional) An array of formats to be mapped to each of the value in $data. If string, that format will be used for all of the values in $data. If omitted, all values in $data will be treated as strings unless otherwise specified in wpdb::$field_types.
    Possible format values: %s as string; %d as decimal number; and %f as float.
    After insert, the ID generated for the AUTO_INCREMENT column can be accessed with:
    $wpdb->insert_idThis function returns false if the row could not be inserted.
    Examples
    Insert two columns in a row, the first value being a string and the second a number:
    $wpdb->insert(
        'table',
        array(
            'column1' => 'value1',
            'column2' => 123
        ),
        array(
            '%s',
            '%d'
        )
    );
    UPDATE rows
    Update a row in the table. Returns false if errors, or the number of rows affected if successful.
    <?php $wpdb->update( $table, $data, $where, $format = null, $where_format = null ); ?>
    table
    (string) The name of the table to update.
    data
    (array) Data to update (in column => value pairs). Both $data columns and $data values should be "raw" (neither should be SQL escaped).
    where
    (array) A named array of WHERE clauses (in column => value pairs). Multiple clauses will be joined with ANDs. Both $where columns and $where values should be "raw".
    format
    (array|string) (optional) An array of formats to be mapped to each of the values in $data. If string, that format will be used for all of the values in $data.
    where_format
    (array|string) (optional) An array of formats to be mapped to each of the values in $where. If string, that format will be used for all of the items in $where.
    Possible format values: %s as string; %d as decimal number and %f as float. If omitted, all values in $where will be treated as strings.
    This function returns the number of rows updated, or false if there is an error.
    Examples
    Update a row, where the ID is 1, the value in the first column is a string and the value in the second column is a number:
    $wpdb->update(
        'table',
        array(
            'column1' => 'value1',    // string
            'column2' => 'value2'    // integer (number)
        ),
        array( 'ID' => 1 ),
        array(
            '%s',    // value1
            '%d'    // value2
        ),
        array( '%d' )
    );
    Attention: %d can't deal with comma values - if you're not using full numbers, use string/%s.
    Protect Queries Against SQL Injection Attacks
    For a more complete overview of SQL escaping in WordPress, see database Data Validation. That Data Validation article is a must-read for all WordPress code contributors and plugin authors.
    Briefly, though, all data in SQL queries must be SQL-escaped before the SQL query is executed to prevent against SQL injection attacks. This can be conveniently done with the prepare method, which supports both a sprintf()-like and vsprintf()-like syntax.
    Please note: As of 3.5, wpdb::prepare() enforces a minimum of 2 arguments. [more info]
    <?php $sql = $wpdb->prepare( 'query' , value_parameter[, value_parameter ... ] ); ?>
    query
    (string) The SQL query you wish to execute, with %s and %d placeholders. Any other % characters may cause parsing errors unless they are escaped. All % characters inside SQL string literals, including LIKE wildcards, must be double-% escaped as %%.
    value_parameter
    (int|string|array) The value to substitute into the placeholder. Many values may be passed by simply passing more arguments in a sprintf()-like fashion. Alternatively the second argument can be an array containing the values as in PHP's vsprintf() function. Care must be taken not to allow direct user input to this parameter, which would enable array manipulation of any query with multiple placeholders. Values must not already be SQL-escaped.
    Examples
    Add Meta key => value pair "Harriet's Adages" => "WordPress' database interface is like Sunday Morning: Easy." to Post 10.
    $metakey    = "Harriet's Adages";
    $metavalue    = "WordPress' database interface is like Sunday Morning: Easy.";
    $wpdb->query( $wpdb->prepare(
        "
            INSERT INTO $wpdb->postmeta
            ( post_id, meta_key, meta_value )
            VALUES ( %d, %s, %s )
        ",
            10,
        $metakey,
        $metavalue
    ) );
    Performed in WordPress by add_meta().
    <end node> 5P9i0s8y19Z
    dt=
    <node>plugin
    1
    [admin plugin]
    <?php
    ./*
    Plugin Name: swd_admin
    Description: A test plugin to demonstrate wordpress functionality
    Author: SWD
    Version: 0.1
    */
    add_action('admin_menu', 'test_plugin_setup_menu');
    function test_plugin_setup_menu(){
            add_menu_page( 'Test Plugin Page', 'Test Plugin', 'manage_options', 'test-plugin', 'swd_menu' );
    }
    function swd_menu(){
            echo "<h1>Hello World!</h1>";
    }
    ?>
    You may think that it may be super hard, but it really is not.

    All you have to do is create a new folder in the plugins directory. Example: /wp-content/plugins/yoursitename-plugin/
    Open a blank file and save it as “yoursitename-plugin.php”
    Put the following code in the file:
    <?php
    /*
    Plugin Name: Site Plugin for example.com
    Description: Site specific code changes for example.com
    */
    /* Start Adding Functions Below this Line */

    // this is widget code
    /* Stop Adding Functions Below this Line */
    ?>
    Now upload this file into the folder you created in the plugins directory. Then simply activate the plugin.
    <end node> 5P9i0s8y19Z
    dt=
    <node>backupWordpress
    2
    [Resolved] 3.4.3 update getting incorrect root directory
    Adding define( 'HMBKP_ROOT', dirname( __FILE__ )); to wp-config.php seems to fix the issue for me, thanks.
    <end node> 5P9i0s8y19Z
    dt=
    <node>Contact form
    2
    http://www.sitepoint.com/build-your-own-wordpress-contact-form-plugin-in-5-minutes/
    short codes
    <HEADER>
    <H1>Build Your Own WordPress Contact Form Plugin in 5 Minutes</H1>
    <DIV>
    <FIGURE>
    <A href="http://www.sitepoint.com/author/acollins/">
    <IMG src="http://1.gravatar.com/avatar/75eb5abf4f342e434c23fb0216631d3e?s=96&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&r=G">
    </A>     </FIGURE>
    <DIV>
    <DIV>
    <A href="http://www.sitepoint.com/author/acollins/">Agbonghama Collins</A>   </DIV>         </DIV>
    </DIV>
    <DIV>
    <P>Published <time>July 23, 2014</time>
    </P>
    </DIV>
    <DIV>
    <!-- make sure to update trackTweetsAndSubscriptions in scripts.js if the Tweet button DOM path changes in the future -->             <A href="https://twitter.com/share?text=Build+Your+Own+WordPress+Contact+Form+Plugin+in+5+Minutes&via=sitepointdotcom">
    <I>
    </I>              Tweet             </A>
    <!-- make sure to update trackTweetsAndSubscriptions in scripts.js if the Subscribe button DOM path changes in the future -->             <A href="https://confirmsubscription.com/h/y/1FD5B523FA48AA2B">
    <!--<i>
    </i>-->              Subscribe             </A>
    </DIV>
    </HEADER>
    <SECTION>
    <P>Most websites are typically designed to comply with standard web practices by including a dedicated page where a contact form is located. This provides visitors with an easy way to reach out to the site owner.</P>
    <P>In simple terms, a contact form has a set of questions and fields which are filled in by a visitor. The information is usually automatically sent via email to the site administrator or another nominated email account. It is worth noting that this email address isn’t displayed to visitors, so using a contact form typically reduces email spam from bots that harvest naked email addresses on the Internet. Contact forms play a very important role on a website, where they are used for collecting feedback, enquiries and other data from users.</P>
    <P>If your website is powered by WordPress, there are numerous plugins that seamlessly integrate a <STRONG>contact form</STRONG> on your website.</P>
    <P>In this article, I will provide a list of some free WordPress contact form plugins. I will also discuss why you should consider rolling your own contact form. Then, I will provide you with a short tutorial showing you how to build your own WordPress contact form plugin.</P>
    <H2>WordPress Contact Form Plugins</H2>
    <P>Before we get started, we’re going to go over a few of the popular free contact form plugins available in the <A href="https://wordpress.org/plugins/">WordPress Plugin Directory</A>. These are great to use, but even better to learn from when you’re getting started building your own plugins.</P>
    <P>Below are some of the most highly rated free contact form plugins for WordPress:</P>
    <OL>
    <LI>
    <P>
    <A href="http://wordpress.org/plugins/contact-form-7/">Contact Form 7</A> – This is the second <A href="http://wordpress.org/plugins/browse/popular/">most popular plugin</A> with over 18 million downloads, it could almost be considered as the de facto contact form plugin for a WordPress website. Contact Form 7 can manage multiple contact forms and you can customize the form and the email contents with simple markup. The form features include Ajax-powered submission, CAPTCHA, Akismet spam filtering and lots more.</P>
    </LI>
    <LI>
    <P>
    <A href="https://wordpress.org/plugins/contact-form-to-email/">Contact Form to Email</A> – This plugin not only creates contact forms and sends the data to a specified email address it also saves the contact form data into a database, providing printable reports and the option to export the selected data to CSV/Excel file.</P>
    </LI>
    <LI>
    <P>
    <A href="http://wordpress.org/plugins/formget-contact-form/">FormGet Contact Form</A> – An easy online drag and drop contact form builder tool. All you need to do is click on the fields that you want in your form, and within few seconds your contact form is ready.</P>
    </LI>
    <LI>
    <P>
    <A href="http://wordpress.org/plugins/contact-form-plugin/">Bestwebsoft Contact Form</A> – Allows you to implement a feedback form to a web page or a post effortlessly. It is extremely easy, and you won’t require any additional settings, even though there are some available to play with.</P>
    </LI>
    </OL>
    <H2>Why Roll Your Own Contact Form Plugin?</H2>
    <H3>Becoming a Better Developer</H3>
    <P>Developing your own WordPress plugin helps you better understand how WordPress works ‘under the hood’ which can help you to become a more experienced web developer. While there are tens of thousands of plugins in the WordPress Plugin Directory to use, being able to modify and extend other plugins is a very useful skill.</P>
    <H3>Building a Better Form</H3>
    <P>Many WordPress contact form plugins are bloated. They include many features that you may never use. Heavy usage of JavaScript and CSS files are also common in some of the standard contact form plugins. This increases the number of HTTP requests which adversely affects WordPress performance.</P>
    <P>According to <A href="http://developer.yahoo.com/performance/rules.html#num_http">Yahoo’s performance rules</A>:</P>
    <BLOCKQUOTE>
    <P>80% of the end-user response time is spent on the front-end. Most of this time is tied up in downloading all the components in the page: images, stylesheets, scripts, Flash, etc. Reducing the number of components in turn reduces the number of HTTP requests required to render the page. This is the key to faster pages.</P>
    </BLOCKQUOTE>
    <P>If you are like me, and you desire a simple contact form plugin that just works, read on. I’ll guide you through the simple process of develop your own plugin so you can kiss goodbye bloated plugins. In this example no extra CSS and JavaScript files are required, the <A href="http://www.sitepoint.com/client-side-form-validation-html5/">validation done using HTML5</A>.</P>
    <H2>Contact Form Plugin Development</H2>
    <P>In five minutes, you will learn how to develop a simple WordPress contact form, that’s a promise!</P>
    <P>Ready? Set? Go!</P>
    <P>All WordPress pluigns are PHP files, located in the <CODE>/wp-content/plugins/ directory</CODE>. In our example, the file will be called <CODE>sp-form-example.php</CODE>. I assume you’re comfortable with connecting to your server using FTP/SFTP/SCP or SSH.</P>
    <P>If you want to follow along, simply create a file called <CODE>sp-form-example.php</CODE> (the final complete example will be available at the end of the article):</P>
    <DIV>
    <DIV>
    <TABLE>
    <TBODY>
    <TR>
    <TD>
    <DIV>1</DIV>
    <DIV>2</DIV>
    <DIV>3</DIV>
    <DIV>4</DIV>
    <DIV>5</DIV>
    <DIV>6</DIV>
    <DIV>7</DIV>
    <DIV>8</DIV>
    <DIV>9</DIV>
    <DIV>10</DIV>
    <DIV>11</DIV>
    <DIV>12</DIV>
    <DIV>13</DIV>
    </TD>
    <TD>
    <DIV>
    <DIV>
    <CODE class="php plain"><?php</CODE>
    </DIV>
    <DIV>
    <CODE class="php comments">/*</CODE>
    </DIV>
    <DIV>
    <CODE class="php comments">Plugin Name: Example Contact Form Plugin</CODE>
    </DIV>
    <DIV>
    <CODE class="php comments">Plugin URI: <A href="http://example.com/">http://example.com</A>
    </CODE>
    </DIV>
    <DIV>
    <CODE class="php comments">Description: Simple non-bloated WordPress Contact Form</CODE>
    </DIV>
    <DIV>
    <CODE class="php comments">Version: 1.0</CODE>
    </DIV>
    <DIV>
    <CODE class="php comments">Author: Agbonghama Collins</CODE>
    </DIV>
    <DIV>
    <CODE class="php comments">Author URI: <A href="http://w3guy.com/">http://w3guy.com</A>
    </CODE>
    </DIV>
    <DIV>
    <CODE class="php comments">*/</CODE>
    </DIV>
    <DIV>
    <CODE class="php spaces">    </CODE>
    <CODE class="php comments">//</CODE>
    </DIV>
    <DIV>
    <CODE class="php spaces">    </CODE>
    <CODE class="php comments">// the plugin code will go here..</CODE>
    </DIV>
    <DIV>
    <CODE class="php spaces">    </CODE>
    <CODE class="php comments">//</CODE>
    </DIV>
    <DIV>
    <CODE class="php plain">?></CODE>
    </DIV>
    </DIV>
    </TD>
    </TR>
    </TBODY>
    </TABLE>
    </DIV>
    </DIV>
    <P>Next, we add the function <CODE>html_form_code()</CODE> that contains the contact form HTML:</P>
    <DIV>
    <DIV>
    <TABLE>
    <TBODY>
    <TR>
    <TD>
    <DIV>1</DIV>
    <DIV>2</DIV>
    <DIV>3</DIV>
    <DIV>4</DIV>
    <DIV>5</DIV>
    <DIV>6</DIV>
    <DIV>7</DIV>
    <DIV>8</DIV>
    <DIV>9</DIV>
    <DIV>10</DIV>
    <DIV>11</DIV>
    <DIV>12</DIV>
    <DIV>13</DIV>
    <DIV>14</DIV>
    <DIV>15</DIV>
    <DIV>16</DIV>
    <DIV>17</DIV>
    <DIV>18</DIV>
    <DIV>19</DIV>
    <DIV>20</DIV>
    <DIV>21</DIV>
    </TD>
    <TD>
    <DIV>
    <DIV>
    <CODE class="php keyword">function</CODE> <CODE class="php plain">html_form_code() {</CODE>
    </DIV>
    <DIV>
    <CODE class="php spaces">    </CODE>
    <CODE class="php functions">echo</CODE> <CODE class="php string">'<form action="'</CODE> <CODE class="php plain">. esc_url( </CODE>
    <CODE class="php variable">$_SERVER</CODE>
    <CODE class="php plain">[</CODE>
    <CODE class="php string">'REQUEST_URI'</CODE>
    <CODE class="php plain">] ) . </CODE>
    <CODE class="php string">'" method="post">'</CODE>
    <CODE class="php plain">;</CODE>
    </DIV>
    <DIV>
    <CODE class="php spaces">    </CODE>
    <CODE class="php functions">echo</CODE> <CODE class="php string">'<p>'</CODE>
    <CODE class="php plain">;</CODE>
    </DIV>
    <DIV>
    <CODE class="php spaces">    </CODE>
    <CODE class="php functions">echo</CODE> <CODE class="php string">'Your Name (required) <br />'</CODE>
    <CODE class="php plain">;</CODE>
    </DIV>
    <DIV>
    <CODE class="php spaces">    </CODE>
    <CODE class="php functions">echo</CODE> <CODE class="php string">'<input type="text" name="cf-name" pattern="[a-zA-Z0-9 ]+" value="'</CODE> <CODE class="php plain">. ( isset( </CODE>
    <CODE class="php variable">$_POST</CODE>
    <CODE class="php plain">["cf-name</CODE>
    <CODE class="php string">"] ) ? esc_attr( $_POST["</CODE>
    <CODE class="php plain">cf-name</CODE>
    <CODE class="php string">"] ) : '' ) . '"</CODE> <CODE class="php plain">size=</CODE>
    <CODE class="php string">"40"</CODE> <CODE class="php plain">/>';</CODE>
    </DIV>
    <DIV>
    <CODE class="php spaces">    </CODE>
    <CODE class="php functions">echo</CODE> <CODE class="php string">'</p>'</CODE>
    <CODE class="php plain">;</CODE>
    </DIV>
    <DIV>
    <CODE class="php spaces">    </CODE>
    <CODE class="php functions">echo</CODE> <CODE class="php string">'<p>'</CODE>
    <CODE class="php plain">;</CODE>
    </DIV>
    <DIV>
    <CODE class="php spaces">    </CODE>
    <CODE class="php functions">echo</CODE> <CODE class="php string">'Your Email (required) <br />'</CODE>
    <CODE class="php plain">;</CODE>
    </DIV>
    <DIV>
    <CODE class="php spaces">    </CODE>
    <CODE class="php functions">echo</CODE> <CODE class="php string">'<input type="email" name="cf-email" value="'</CODE> <CODE class="php plain">. ( isset( </CODE>
    <CODE class="php variable">$_POST</CODE>
    <CODE class="php plain">["cf-email</CODE>
    <CODE class="php string">"] ) ? esc_attr( $_POST["</CODE>
    <CODE class="php plain">cf-email</CODE>
    <CODE class="php string">"] ) : '' ) . '"</CODE> <CODE class="php plain">size=</CODE>
    <CODE class="php string">"40"</CODE> <CODE class="php plain">/>';</CODE>
    </DIV>
    <DIV>
    <CODE class="php spaces">    </CODE>
    <CODE class="php functions">echo</CODE> <CODE class="php string">'</p>'</CODE>
    <CODE class="php plain">;</CODE>
    </DIV>
    <DIV>
    <CODE class="php spaces">    </CODE>
    <CODE class="php functions">echo</CODE> <CODE class="php string">'<p>'</CODE>
    <CODE class="php plain">;</CODE>
    </DIV>
    <DIV>
    <CODE class="php spaces">    </CODE>
    <CODE class="php functions">echo</CODE> <CODE class="php string">'Subject (required) <br />'</CODE>
    <CODE class="php plain">;</CODE>
    </DIV>
    <DIV>
    <CODE class="php spaces">    </CODE>
    <CODE class="php functions">echo</CODE> <CODE class="php string">'<input type="text" name="cf-subject" pattern="[a-zA-Z ]+" value="'</CODE> <CODE class="php plain">. ( isset( </CODE>
    <CODE class="php variable">$_POST</CODE>
    <CODE class="php plain">["cf-subject</CODE>
    <CODE class="php string">"] ) ? esc_attr( $_POST["</CODE>
    <CODE class="php plain">cf-subject</CODE>
    <CODE class="php string">"] ) : '' ) . '"</CODE> <CODE class="php plain">size=</CODE>
    <CODE class="php string">"40"</CODE> <CODE class="php plain">/>';</CODE>
    </DIV>
    <DIV>
    <CODE class="php spaces">    </CODE>
    <CODE class="php functions">echo</CODE> <CODE class="php string">'</p>'</CODE>
    <CODE class="php plain">;</CODE>
    </DIV>
    <DIV>
    <CODE class="php spaces">    </CODE>
    <CODE class="php functions">echo</CODE> <CODE class="php string">'<p>'</CODE>
    <CODE class="php plain">;</CODE>
    </DIV>
    <DIV>
    <CODE class="php spaces">    </CODE>
    <CODE class="php functions">echo</CODE> <CODE class="php string">'Your Message (required) <br />'</CODE>
    <CODE class="php plain">;</CODE>
    </DIV>
    <DIV>
    <CODE class="php spaces">    </CODE>
    <CODE class="php functions">echo</CODE> <CODE class="php string">'<textarea rows="10" cols="35" name="cf-message">'</CODE> <CODE class="php plain">. ( isset( </CODE>
    <CODE class="php variable">$_POST</CODE>
    <CODE class="php plain">[</CODE>
    <CODE class="php string">"cf-message"</CODE>
    <CODE class="php plain">] ) ? esc_attr( </CODE>
    <CODE class="php variable">$_POST</CODE>
    <CODE class="php plain">[</CODE>
    <CODE class="php string">"cf-message"</CODE>
    <CODE class="php plain">] ) : </CODE>
    <CODE class="php string">''</CODE> <CODE class="php plain">) . </CODE>
    <CODE class="php string">'</textarea>'</CODE>
    <CODE class="php plain">;</CODE>
    </DIV>
    <DIV>
    <CODE class="php spaces">    </CODE>
    <CODE class="php functions">echo</CODE> <CODE class="php string">'</p>'</CODE>
    <CODE class="php plain">;</CODE>
    </DIV>
    <DIV>
    <CODE class="php spaces">    </CODE>
    <CODE class="php functions">echo</CODE> <CODE class="php string">'<p><input type="submit" name="cf-submitted" value="Send"/></p>'</CODE>
    <CODE class="php plain">;</CODE>
    </DIV>
    <DIV>
    <CODE class="php spaces">    </CODE>
    <CODE class="php functions">echo</CODE> <CODE class="php string">'</form>'</CODE>
    <CODE class="php plain">;</CODE>
    </DIV>
    <DIV>
    <CODE class="php plain">}</CODE>
    </DIV>
    </DIV>
    </TD>
    </TR>
    </TBODY>
    </TABLE>
    </DIV>
    </DIV>
    <P>Basic validation was added to the form via the <CODE>pattern</CODE> input attribute.</P>
    <P>The RegEX in the contact form does the following field validation:</P>
    <UL>
    <LI>
    <P>
    <STRONG>[a-zA-Z0-9 ]</STRONG>: only letters, spaces and numbers allowed in the name field; special symbols are deemed invalid.</P>
    </LI>
    <LI>
    <P>
    <STRONG>[a-zA-Z ]</STRONG>: only letters and spaces are allowed in the subject field.</P>
    </LI>
    <LI>
    <P>The <CODE>email</CODE> form control validates the email field hence there is no need for a pattern attribute.</P>
    </LI>
    </UL>
    <P>For more information on how this works, read my article on <A href="http://www.sitepoint.com/client-side-form-validation-html5/">Client-Side Form Validation with HTML5</A> to understand how the pattern attribute assists with form validation.</P>
    <H3>Hurry Up!</H3>
    <P>Okay, how many minutes do we have left? Four minutes! We still have time to get this over with.</P>
    <P>The function <CODE>deliver_mail()</CODE> sanitizes the form data and sends the mail to the WordPress administrator’s email address.</P>
    <DIV>
    <DIV>
    <TABLE>
    <TBODY>
    <TR>
    <TD>
    <DIV>1</DIV>
    <DIV>2</DIV>
    <DIV>3</DIV>
    <DIV>4</DIV>
    <DIV>5</DIV>
    <DIV>6</DIV>
    <DIV>7</DIV>
    <DIV>8</DIV>
    <DIV>9</DIV>
    <DIV>10</DIV>
    <DIV>11</DIV>
    <DIV>12</DIV>
    <DIV>13</DIV>
    <DIV>14</DIV>
    <DIV>15</DIV>
    <DIV>16</DIV>
    <DIV>17</DIV>
    <DIV>18</DIV>
    <DIV>19</DIV>
    <DIV>20</DIV>
    <DIV>21</DIV>
    <DIV>22</DIV>
    <DIV>23</DIV>
    <DIV>24</DIV>
    <DIV>25</DIV>
    <DIV>26</DIV>
    </TD>
    <TD>
    <DIV>
    <DIV>
    <CODE class="php keyword">function</CODE> <CODE class="php plain">deliver_mail() {</CODE>
    </DIV>
    <DIV> </DIV>
    <DIV>
    <CODE class="php spaces">    </CODE>
    <CODE class="php comments">// if the submit button is clicked, send the email</CODE>
    </DIV>
    <DIV>
    <CODE class="php spaces">    </CODE>
    <CODE class="php keyword">if</CODE> <CODE class="php plain">( isset( </CODE>
    <CODE class="php variable">$_POST</CODE>
    <CODE class="php plain">[</CODE>
    <CODE class="php string">'cf-submitted'</CODE>
    <CODE class="php plain">] ) ) {</CODE>
    </DIV>
    <DIV> </DIV>
    <DIV>
    <CODE class="php spaces">        </CODE>
    <CODE class="php comments">// sanitize form values</CODE>
    </DIV>
    <DIV>
    <CODE class="php spaces">        </CODE>
    <CODE class="php variable">$name</CODE>    <CODE class="php plain">= sanitize_text_field( </CODE>
    <CODE class="php variable">$_POST</CODE>
    <CODE class="php plain">[</CODE>
    <CODE class="php string">"cf-name"</CODE>
    <CODE class="php plain">] );</CODE>
    </DIV>
    <DIV>
    <CODE class="php spaces">        </CODE>
    <CODE class="php variable">$email</CODE>   <CODE class="php plain">= sanitize_email( </CODE>
    <CODE class="php variable">$_POST</CODE>
    <CODE class="php plain">[</CODE>
    <CODE class="php string">"cf-email"</CODE>
    <CODE class="php plain">] );</CODE>
    </DIV>
    <DIV>
    <CODE class="php spaces">        </CODE>
    <CODE class="php variable">$subject</CODE> <CODE class="php plain">= sanitize_text_field( </CODE>
    <CODE class="php variable">$_POST</CODE>
    <CODE class="php plain">[</CODE>
    <CODE class="php string">"cf-subject"</CODE>
    <CODE class="php plain">] );</CODE>
    </DIV>
    <DIV>
    <CODE class="php spaces">        </CODE>
    <CODE class="php variable">$message</CODE> <CODE class="php plain">= esc_textarea( </CODE>
    <CODE class="php variable">$_POST</CODE>
    <CODE class="php plain">[</CODE>
    <CODE class="php string">"cf-message"</CODE>
    <CODE class="php plain">] );</CODE>
    </DIV>
    <DIV> </DIV>
    <DIV>
    <CODE class="php spaces">        </CODE>
    <CODE class="php comments">// get the blog administrator's email address</CODE>
    </DIV>
    <DIV>
    <CODE class="php spaces">        </CODE>
    <CODE class="php variable">$to</CODE> <CODE class="php plain">= get_option( </CODE>
    <CODE class="php string">'admin_email'</CODE> <CODE class="php plain">);</CODE>
    </DIV>
    <DIV> </DIV>
    <DIV>
    <CODE class="php spaces">        </CODE>
    <CODE class="php variable">$headers</CODE> <CODE class="php plain">= </CODE>
    <CODE class="php string">"From: $name <$email>"</CODE> <CODE class="php plain">. </CODE>
    <CODE class="php string">"\\r\\n"</CODE>
    <CODE class="php plain">;</CODE>
    </DIV>
    <DIV> </DIV>
    <DIV>
    <CODE class="php spaces">        </CODE>
    <CODE class="php comments">// If email has been process for sending, display a success message</CODE>
    </DIV>
    <DIV>
    <CODE class="php spaces">        </CODE>
    <CODE class="php keyword">if</CODE> <CODE class="php plain">( wp_mail( </CODE>
    <CODE class="php variable">$to</CODE>
    <CODE class="php plain">, </CODE>
    <CODE class="php variable">$subject</CODE>
    <CODE class="php plain">, </CODE>
    <CODE class="php variable">$message</CODE>
    <CODE class="php plain">, </CODE>
    <CODE class="php variable">$headers</CODE> <CODE class="php plain">) ) {</CODE>
    </DIV>
    <DIV>
    <CODE class="php spaces">            </CODE>
    <CODE class="php functions">echo</CODE> <CODE class="php string">'<div>'</CODE>
    <CODE class="php plain">;</CODE>
    </DIV>
    <DIV>
    <CODE class="php spaces">            </CODE>
    <CODE class="php functions">echo</CODE> <CODE class="php string">'<p>Thanks for contacting me, expect a response soon.</p>'</CODE>
    <CODE class="php plain">;</CODE>
    </DIV>
    <DIV>
    <CODE class="php spaces">            </CODE>
    <CODE class="php functions">echo</CODE> <CODE class="php string">'</div>'</CODE>
    <CODE class="php plain">;</CODE>
    </DIV>
    <DIV>
    <CODE class="php spaces">        </CODE>
    <CODE class="php plain">} </CODE>
    <CODE class="php keyword">else</CODE> <CODE class="php plain">{</CODE>
    </DIV>
    <DIV>
    <CODE class="php spaces">            </CODE>
    <CODE class="php functions">echo</CODE> <CODE class="php string">'An unexpected error occurred'</CODE>
    <CODE class="php plain">;</CODE>
    </DIV>
    <DIV>
    <CODE class="php spaces">        </CODE>
    <CODE class="php plain">}</CODE>
    </DIV>
    <DIV>
    <CODE class="php spaces">    </CODE>
    <CODE class="php plain">}</CODE>
    </DIV>
    <DIV>
    <CODE class="php plain">}</CODE>
    </DIV>
    </DIV>
    </TD>
    </TR>
    </TBODY>
    </TABLE>
    </DIV>
    </DIV>
    <P>The sanitation of the form data is done by the following WordPress internal functions:</P>
    <UL>
    <LI>
    <P>
    <CODE>sanitize_text_field()</CODE>: Sanitize the data from user input.</P>
    </LI>
    <LI>
    <P>
    <CODE>sanitize_email()</CODE>: Strips out all characters that are not allowable in an email.</P>
    </LI>
    <LI>
    <P>
    <CODE>esc_textarea()</CODE>: Escape the <EM>message</EM> text area values.</P>
    </LI>
    </UL>
    <P>The code <CODE>get_option( 'admin_email' )</CODE> programmatically retrieves the WordPress administrator’s email address from the database where the email will be delivered to.</P>
    <P>Don’t want the contact form to send the mail to admin? Simply set the variable <CODE>$to</CODE> to the desired email address.</P>
    <P>If the email has successfully been processed without any errors by the function <CODE>wp_mail()</CODE> , the text <EM>Thanks for contacting me, expect a response soon</EM> will be shown, otherwise <EM>An unexpected error occurred</EM> is displayed.</P>
    <H3>1 Minute and 30 Seconds Left</H3>
    <P>The function <CODE>cf_shortcode()</CODE> is the callback function that is called when the contact form shortcode <CODE>[sitepoint_contact_form]</CODE> is active.</P>
    <DIV>
    <DIV>
    <TABLE>
    <TBODY>
    <TR>
    <TD>
    <DIV>1</DIV>
    <DIV>2</DIV>
    <DIV>3</DIV>
    <DIV>4</DIV>
    <DIV>5</DIV>
    <DIV>6</DIV>
    <DIV>7</DIV>
    </TD>
    <TD>
    <DIV>
    <DIV>
    <CODE class="php keyword">function</CODE> <CODE class="php plain">cf_shortcode() {</CODE>
    </DIV>
    <DIV>
    <CODE class="php spaces">    </CODE>
    <CODE class="php plain">ob_start();</CODE>
    </DIV>
    <DIV>
    <CODE class="php spaces">    </CODE>
    <CODE class="php plain">deliver_mail();</CODE>
    </DIV>
    <DIV>
    <CODE class="php spaces">    </CODE>
    <CODE class="php plain">html_form_code();</CODE>
    </DIV>
    <DIV> </DIV>
    <DIV>
    <CODE class="php spaces">    </CODE>
    <CODE class="php keyword">return</CODE> <CODE class="php plain">ob_get_clean();</CODE>
    </DIV>
    <DIV>
    <CODE class="php plain">}</CODE>
    </DIV>
    </DIV>
    </TD>
    </TR>
    </TBODY>
    </TABLE>
    </DIV>
    </DIV>
    <P>The above functions calls the <CODE>html_form_code()</CODE> and <CODE>deliver_mail()</CODE> functions to display the contact form HTML form and validate the form data respectively.</P>
    <P>Finally, the shortcode <CODE>[sitepoint_contact_form]</CODE> is registered to WordPress. So simply add:</P>
    <DIV>
    <DIV>
    <TABLE>
    <TBODY>
    <TR>
    <TD>
    <DIV>1</DIV>
    </TD>
    <TD>
    <DIV>
    <DIV>
    <CODE class="php plain">add_shortcode( </CODE>
    <CODE class="php string">'sitepoint_contact_form'</CODE>
    <CODE class="php plain">, </CODE>
    <CODE class="php string">'cf_shortcode'</CODE> <CODE class="php plain">);</CODE>
    </DIV>
    </DIV>
    </TD>
    </TR>
    </TBODY>
    </TABLE>
    </DIV>
    </DIV>
    <H3>3, 2, 1… Time’s Up!</H3>
    <P>Congratulations, we have successfully developed our own WordPress contact form plugin and I have fulfilled my earlier promise.</P>
    <P>Now, to use this plugin on your website, simply activate it in under the ‘Plugins’ section of your WordPress dashboard, then create a post or page and then simply add the shortcode where you want the form to appear <CODE>[sitepoint_contact_form]</CODE>.</P>
    <P>If you then preview the page and you should see the contact form displayed as shown below.</P>
    </SECTION>
    <end node> 5P9i0s8y19Z
    dt=
    <node>shortcodes
    2
    <?php
    /*
    * Plugin Name: WordPress ShortCode
    * Description: Create your WordPress shortcode.
    * Version: 1.0
    * Author: InkThemes
    * Author URI: https://inkthemes.com
    */
    // Example 1 : WP Shortcode to display form on any page or post.
    function form_creation(){
    $imagedirectory="../stylists/";
    $dir = opendir($imagedirectory);
    while ($file = readdir($dir)){
    //for ($i=1; $i<=500; $i++){
    //   $file = readdir($dir);
        $fullpath=$current_dir.$file; $fullpath2=$current_dir."/stylists/large/".$file;
        /*
        $filedate=date('Y-m-j', filemtime($fullpath));
        if(trim($file)!='.' && trim($file)!='..'){
            $fsize=filesize($fullpath)/1000;
            $fsize=(int)$fsize;$fsize=$fsize/1000;
            $message[]=$filedate."|".$file."@".$fsize;
        }
        */
        echo "<div style='float:left;padding:20px;'><a href='$fullpath2'><img src='$fullpath'><br>$file</a></div>";
    }
      closedir($dir);
    }
    add_shortcode('test', 'form_creation');
    ?>
    [test] in whatever page you want
    <end node> 5P9i0s8y19Z
    dt=
    <node>WIDGET
    1
    <?php
    /**
    * Plugin Name: A simple Widget
    * Description: A widget that displays authors name.
    * Version: 0.1
    * Author: Bilal Shaheen
    * Author URI: http://gearaffiti.com/about
    */
    add_action( 'widgets_init', 'my_widget' );
    function my_widget() {
        register_widget( 'SWDWidget' );
    }
    class SWDWidget extends WP_Widget {
        function SWDWidget() {
            $widget_ops = array( 'classname' => 'example', 'description' => __('A widget that displays SWD garbage ', 'example') );
            
            $control_ops = array( 'width' => 300, 'height' => 350, 'id_base' => 'swd_widget' );
            
            $this->WP_Widget( 'swd_widget', __('SWD Input', 'example'), $widget_ops, $control_ops );
        }
        
        function widget( $args, $instance ) {
            extract( $args );
            //Our variables from the widget settings.
            $title = apply_filters('widget_title', $instance['title'] );
            $name = $instance['name'];
            $show_info = isset( $instance['show_info'] ) ? $instance['show_info'] : false;
            echo $before_widget;
            // Display the widget title
            if ( $title )
                echo $before_title . $title . $after_title;
            //Display the name on website
            if ( $name )
                printf( '<p>' . __('Hey their Sailor! My name is %1$s.', 'example1') . '</p>', $name );
            
            if ( $show_info )
                printf( $name );
            
            echo $after_widget;
        }
        //Update the widget
        
        function update( $new_instance, $old_instance ) {
            $instance = $old_instance;
            //Strip tags from title and name to remove HTML
            $instance['title'] = strip_tags( $new_instance['title'] );
            $instance['name'] = strip_tags( $new_instance['name'] );
            $instance['show_info'] = $new_instance['show_info'];
            return $instance;
        }
        
        function form( $instance ) {
            //Set up some default widget settings.
            $defaults = array( 'title' => __('Example44', 'example1'), 'name' => __('Bilal Shaheen', 'example1'), 'show_info' => true );
            $instance = wp_parse_args( (array) $instance, $defaults ); ?>
            <p>
                <label for="<?php echo $this->get_field_id( 'title' ); ?>"><?php _e('Title:', 'example1'); ?></label>
                <input id="<?php echo $this->get_field_id( 'title' ); ?>" name="<?php echo $this->get_field_name( 'title' ); ?>" value="<?php echo $instance['title']; ?>" style="width:100%;" />
            </p>
            //Text Input.
            <p>
                <label for="<?php echo $this->get_field_id( 'name' ); ?>"><?php _e('Your Name:', 'example1'); ?></label>
                <textarea id="<?php echo $this->get_field_id( 'name' ); ?>" name="<?php echo $this->get_field_name( 'name' ); ?>"><?php echo $instance['name']; ?></textarea>
            </p>
            
            //Checkbox.
            <p>
                <input class="checkbox" type="checkbox" <?php checked( $instance['show_info'], true ); ?> id="<?php echo $this->get_field_id( 'show_info' ); ?>" name="<?php echo $this->get_field_name( 'show_info' ); ?>" />
                <label for="<?php echo $this->get_field_id( 'show_info' ); ?>"><?php _e('Display info publicly?', 'example'); ?></label>
            </p>
        <?php
        }
    }
    ?>
    <end node> 5P9i0s8y19Z
    dt=
    <node>example
    2
    [code]
    Before we get started, it would be best if you create a site-specific plugin where you will be pasting widget code. You can also paste it in your theme’s functions.php file but a site-specific plugin is better.
    In this tutorial, we will create a simple widget that just greets visitors. Take a look at this code and then paste it in your site-specific plugin to see it in action.
    01 // Creating the widget
    02 class wpb_widget extends WP_Widget {
    03
    04 function __construct() {
    05 parent::__construct(
    06 // Base ID of your widget
    07 'wpb_widget',
    08
    09 // Widget name will appear in UI
    10 __('WPBeginner Widget', 'wpb_widget_domain'),
    11
    12 // Widget description
    13 array( 'description' => __( 'Sample widget based on WPBeginner Tutorial', 'wpb_widget_domain' ), )
    14 );
    15 }
    16
    17 // Creating widget front-end
    18 // This is where the action happens
    19 public function widget( $args, $instance ) {
    20 $title = apply_filters( 'widget_title', $instance['title'] );
    21 // before and after widget arguments are defined by themes
    22 echo $args['before_widget'];
    23 if ( ! empty( $title ) )
    24 echo $args['before_title'] . $title . $args['after_title'];
    25
    26 // This is where you run the code and display the output
    27 echo __( 'Hello, World!', 'wpb_widget_domain' );
    28 echo $args['after_widget'];
    29 }
    30
    31 // Widget Backend
    32 public function form( $instance ) {
    33 if ( isset( $instance[ 'title' ] ) ) {
    34 $title = $instance[ 'title' ];
    35 }
    36 else {
    37 $title = __( 'New title', 'wpb_widget_domain' );
    38 }
    39 // Widget admin form
    40 ?>
    41 <p>
    42 <label for="<?php echo $this->get_field_id( 'title' ); ?>"><?php _e( 'Title:' ); ?></label>
    43 <input class="widefat" id="<?php echo $this->get_field_id( 'title' ); ?>" name="<?php echo $this->get_field_name( 'title' ); ?>" type="text" value="<?php echo esc_attr( $title ); ?>" />
    44 </p>
    45 <?php
    46 }
    47
    48 // Updating widget replacing old instances with new
    49 public function update( $new_instance, $old_instance ) {
    50 $instance = array();
    51 $instance['title'] = ( ! empty( $new_instance['title'] ) ) ? strip_tags( $new_instance['title'] ) : '';
    52 return $instance;
    53 }
    54 } // Class wpb_widget ends here
    55
    56 // Register and load the widget
    57 function wpb_load_widget() {
    58 register_widget( 'wpb_widget' );
    59 }
    60 add_action( 'widgets_init', 'wpb_load_widget' );
    Now go to Appearance » Widgets, drag and drop WPBeginner Widget in your sidebar to see this custom widget in action.
    Simple wasn’t it? First we created a custom widget. Then we defined what that widget does and how to display the widget back-end. Then we defined how to handle changes made to widget. Lastly, we registered and loaded the widget.
    Now there are a few things that you might want to ask. For example, what wpb_text_domain does? WordPress uses gettext to handle translation and localization. This wpb_text_domain and __e tells gettext to make a string available for translation. See how you can find translation ready WordPress themes.
    We hope this tutorial helped you learn how to create a custom WordPress widget. Let us know what widgets you are creating, by leaving a comment below.
    =====================================
    // used on the windsor hair shoppe
    <?php
    /*
    Plugin Name: Social Media Icons
    Plugin URI: http://softwarewebdesign.com
    Description: Adds Icons.
    Version: 1.0
    Author: Software Web Design
    Author URI: http://softwarewebdesign.com
    License: GPL2
    */
    class WP_Widget_SocialMedia extends WP_Widget {

        // The widget construct. Mumbo-jumbo that loads our code.
        function WP_Widget_SocialMedia() {
            $widget_ops = array( 'classname' => 'widget_SocialMedia', 'description' => __( "Social Media Icons" ) );
            $this->WP_Widget('SocialMedia', __('SocialMedia'), $widget_ops);
        } // End function WP_Widget_SocialMedia

        // This code displays the widget on the screen.
        function widget($args, $instance) {
            extract($args);
            echo $before_widget;
            if(!empty($instance['title'])) {
                echo $before_title . $instance['title'] . $after_title;
            }
            echo "<p><a href='http://www.facebook.com/pages/Windsor-Hair-Shoppe/469480233075402'><img src='".site_url()."/images/facebook.jpg'></a></p>";
            echo $after_widget;
        } // End function widget.

        // Updates the settings.
        function update($new_instance, $old_instance) {
            return $new_instance;
        } // End function update
        // The admin form.
        function form($instance) {        
            echo '<div id="bareBones-admin-panel">';
            echo '<label for="' . $this->get_field_id("title") .'">Social Media Title:</label>';
            echo '<input type="text" class="widefat" ';
            echo 'name="' . $this->get_field_name("title") . '" ';
            echo 'id="' . $this->get_field_id("title") . '" ';
            echo 'value="' . $instance["title"] . '" />';
            echo '<p>This widget will display Social Media Icons below.</p>';
            echo '</div>';
        } // end function form

    } // end class WP_Widget_BareBones

    // Register the widget.
    add_action('widgets_init', create_function('', 'return register_widget("WP_Widget_SocialMedia");'));
    ?>
    ==============================================================================
    http://www.briangardner.com/welcome-text-widget/
    <?php
    /*
    Plugin Name:  JAD Simple Widget Template
    Plugin URI:   http://www.johnathanandersendesign.com/
    Description:  A very basic widget structure to hack around with.
    Version:      0.1
    Author:       Johnathan Andersen Design
    Author URI:   http://www.johnathanandersendesign.com/    
    */
        function jad_simple_widget($args, $widget_args = 1) {
        /*
            extract( $args, EXTR_SKIP );
            if ( is_numeric($widget_args) )
                $widget_args = array( 'number' => $widget_args );
            $widget_args = wp_parse_args( $widget_args, array( 'number' => -1 ) );
            extract( $widget_args, EXTR_SKIP );
        
            $options = get_option('simple_widget');
            if ( !isset($options[$number]) )
            return;
            $title = $options[$number]['title'];         // single value
            $text = $options[$number]['text'];         // single value
            $check = $options[$number]['check'];         // multi value
            $radio = $options[$number]['radio'];         // single value
            $select = $options[$number]['select'];     // single value
            $textarea = $options[$number]['textarea']; // single value
            echo $before_widget; // start widget display code
            */
    ?>

        <?php echo "LINE 1"; // end widget display code
        
        }
        
        
        function jad_simple_widget_control($widget_args) {
            global $wp_registered_widgets;
            static $updated = false;
            /*
            if ( is_numeric($widget_args) )
                $widget_args = array( 'number' => $widget_args );
            $widget_args = wp_parse_args( $widget_args, array( 'number' => -1 ) );
            extract( $widget_args, EXTR_SKIP );
            $options = get_option('simple_widget');
            if ( !is_array($options) )
                $options = array();
            if ( !$updated && !empty($_POST['sidebar']) ) {
                $sidebar = (string) $_POST['sidebar'];
                $sidebars_widgets = wp_get_sidebars_widgets();
                if ( isset($sidebars_widgets[$sidebar]) )
                    $this_sidebar =& $sidebars_widgets[$sidebar];
                else
                    $this_sidebar = array();
                foreach ( (array) $this_sidebar as $_widget_id ) {
                    if ( 'jad_simple_widget' == $wp_registered_widgets[$_widget_id]['callback'] && isset($wp_registered_widgets[$_widget_id]['params'][0]['number']) ) {
                        $widget_number = $wp_registered_widgets[$_widget_id]['params'][0]['number'];
                        if ( !in_array( "simple-widget-$widget_number", $_POST['widget-id'] ) ) // the widget has been removed.
                            unset($options[$widget_number]);
                    }
                }
                foreach ( (array) $_POST['simple-widget'] as $widget_number => $simple_widget ) {
                    if ( !isset($simple_widget['title']) && isset($options[$widget_number]) ) // user clicked cancel
                        continue;
                    $title = strip_tags(stripslashes($simple_widget['title']));
                    $text = strip_tags(stripslashes($simple_widget['text_value']));
                    $check = $simple_widget['check_array'];
                    $radio = $simple_widget['radio_value'];
                    $select = $simple_widget['select_value'];
                    $textarea = $simple_widget['textarea_value'];
                    // Pact the values into an array
                    $options[$widget_number] = compact( 'title', 'text', 'check', 'radio', 'select', 'textarea' );
                }
                update_option('simple_widget', $options);
                $updated = true;
            }
            if ( -1 == $number ) { // if it's the first time and there are no existing values
                $title = '';
                $text = '';
                $check = '';
                $radio = '';
                $select = '';
                $textarea = '';
                $number = '%i%';
            } else { // otherwise get the existing values
                $title = attribute_escape($options[$number]['title']);
                $text = attribute_escape($options[$number]['text']); // attribute_escape used for security
                $check = $options[$number]['check'];
                $radio = $options[$number]['radio'];
                $select = $options[$number]['select'];
                $textarea = format_to_edit($options[$number]['textarea']);
            }
            print_r($options[$number]);
        */
         ECHO "lINE2";
        }
        
        
        function jad_simple_widget_register() {
            if ( !$options = get_option('simple_widget') )
                $options = array();
            $widget_ops = array('classname' => 'simple_widget', 'description' => __('Test widget form'));
            $control_ops = array('width' => 400, 'height' => 350, 'id_base' => 'simple-widget');
            $name = __('JAD Simple Widget');
        
            $id = false;
            
            foreach ( (array) array_keys($options) as $o ) {
        
                if ( !isset( $options[$o]['title'] ) )
                    continue;
                            
                $id = "simple-widget-$o";
                wp_register_sidebar_widget($id, $name, 'jad_simple_widget', $widget_ops, array( 'number' => $o ));
                wp_register_widget_control($id, $name, 'jad_simple_widget_control', $control_ops, array( 'number' => $o ));
            }
            
            if ( !$id ) {
                wp_register_sidebar_widget( 'simple-widget-1', $name, 'jad_simple_widget', $widget_ops, array( 'number' => -1 ) );
                wp_register_widget_control( 'simple-widget-1', $name, 'jad_simple_widget_control', $control_ops, array( 'number' => -1 ) );
            }
        }
    add_action('init', jad_simple_widget_register, 1);
    ?>
    *** FULL EXAMPLE ****
    <?php
    /*
    Plugin Name:  JAD Simple Widget Template
    Plugin URI:   http://www.johnathanandersendesign.com/
    Description:  A very basic widget structure to hack around with.
    Version:      0.1
    Author:       Johnathan Andersen Design
    Author URI:   http://www.johnathanandersendesign.com/    
    */
        function jad_simple_widget($args, $widget_args = 1) {
            
            extract( $args, EXTR_SKIP );
            if ( is_numeric($widget_args) )
                $widget_args = array( 'number' => $widget_args );
            $widget_args = wp_parse_args( $widget_args, array( 'number' => -1 ) );
            extract( $widget_args, EXTR_SKIP );
        
            $options = get_option('simple_widget');
            if ( !isset($options[$number]) )
            return;
            $title = $options[$number]['title'];         // single value
            $text = $options[$number]['text'];         // single value
            $check = $options[$number]['check'];         // multi value
            $radio = $options[$number]['radio'];         // single value
            $select = $options[$number]['select'];     // single value
            $textarea = $options[$number]['textarea']; // single value
                
            echo $before_widget; // start widget display code ?>
            
                <h2><?=$title?></h2>
                <p><?=$text?></p>
                <ul>
                <?php foreach($check as $value){ ?>
                    <li><?=$value?></li>
                <?php } ?>
                </ul>
                <p><?=$radio?></p>
                <p><?=$select?></p>
                <p><?=$textarea?></p>
                
        <?php echo $after_widget; // end widget display code
        
        }
        
        
        function jad_simple_widget_control($widget_args) {
        
            global $wp_registered_widgets;
            static $updated = false;
        
            if ( is_numeric($widget_args) )
                $widget_args = array( 'number' => $widget_args );            
            $widget_args = wp_parse_args( $widget_args, array( 'number' => -1 ) );
            extract( $widget_args, EXTR_SKIP );
        
            $options = get_option('simple_widget');
            
            if ( !is_array($options) )    
                $options = array();
        
            if ( !$updated && !empty($_POST['sidebar']) ) {
            
                $sidebar = (string) $_POST['sidebar'];    
                $sidebars_widgets = wp_get_sidebars_widgets();
                
                if ( isset($sidebars_widgets[$sidebar]) )
                    $this_sidebar =& $sidebars_widgets[$sidebar];
                else
                    $this_sidebar = array();
        
                foreach ( (array) $this_sidebar as $_widget_id ) {
                    if ( 'jad_simple_widget' == $wp_registered_widgets[$_widget_id]['callback'] && isset($wp_registered_widgets[$_widget_id]['params'][0]['number']) ) {
                        $widget_number = $wp_registered_widgets[$_widget_id]['params'][0]['number'];
                        if ( !in_array( "simple-widget-$widget_number", $_POST['widget-id'] ) ) // the widget has been removed.
                            unset($options[$widget_number]);
                    }
                }
        
                foreach ( (array) $_POST['simple-widget'] as $widget_number => $simple_widget ) {
                    if ( !isset($simple_widget['title']) && isset($options[$widget_number]) ) // user clicked cancel
                        continue;
                    
                    $title = strip_tags(stripslashes($simple_widget['title']));
                    $text = strip_tags(stripslashes($simple_widget['text_value']));                
                    $check = $simple_widget['check_array'];
                    $radio = $simple_widget['radio_value'];
                    $select = $simple_widget['select_value'];
                    $textarea = $simple_widget['textarea_value'];
                    
                    // Pact the values into an array
                    $options[$widget_number] = compact( 'title', 'text', 'check', 'radio', 'select', 'textarea' );
                }
        
                update_option('simple_widget', $options);
                $updated = true;
            }
        
            if ( -1 == $number ) { // if it's the first time and there are no existing values
        
                $title = '';
                $text = '';
                $check = '';
                $radio = '';
                $select = '';
                $textarea = '';
                $number = '%i%';
                
            } else { // otherwise get the existing values
            
                $title = attribute_escape($options[$number]['title']);
                $text = attribute_escape($options[$number]['text']); // attribute_escape used for security
                $check = $options[$number]['check'];
                $radio = $options[$number]['radio'];
                $select = $options[$number]['select'];
                $textarea = format_to_edit($options[$number]['textarea']);
            }
            
            print_r($options[$number]);
        ?>
        <p><label>Widget Title</label><br /><input id="title_value_<?php echo $number; ?>" name="simple-widget[<?php echo $number; ?>][title]" type="text" value="<?=$title?>" /></p>
        <p><label>Text Field</label><br /><input id="text_value_<?php echo $number; ?>" name="simple-widget[<?php echo $number; ?>][text_value]" type="text" size="30" value="<?=$text?>" /></p>
        <p>
            <label>Checkbox Group</label><br />
            Value 1 <input id="check_array_<?php echo $number; ?>" name="simple-widget[<?php echo $number; ?>][check_array][1]" type="checkbox" <?php if($check[1]){ echo 'checked="checked"';} ?> value="One" /><br />
            Value 2 <input id="check_array_<?php echo $number; ?>" name="simple-widget[<?php echo $number; ?>][check_array][2]" type="checkbox" <?php if($check[2]){ echo 'checked="checked"';} ?> value="Two" /><br />
            Value 3 <input id="check_array_<?php echo $number; ?>" name="simple-widget[<?php echo $number; ?>][check_array][3]" type="checkbox" <?php if($check[3]){ echo 'checked="checked"';} ?> value="Three" /><br />
            Value 4 <input id="check_array_<?php echo $number; ?>" name="simple-widget[<?php echo $number; ?>][check_array][4]" type="checkbox" <?php if($check[4]){ echo 'checked="checked"';} ?> value="Four" />
        </p>
        <p>
            <label>Radio Field</label><br />
            Yes <input id="radio_value_<?php echo $number; ?>" name="simple-widget[<?php echo $number; ?>][radio_value]" type="radio" <?php if($radio == 'yes') echo 'checked="checked"'; ?> value="yes" />
            No <input id="radio_value_<?php echo $number; ?>" name="simple-widget[<?php echo $number; ?>][radio_value]" type="radio" <?php if($radio == 'no') echo 'checked="checked"'; ?> value="no" />
        </p>
        <p>
            <label>Select Menu
            <select id="select_value_<?php echo $number; ?>" name="simple-widget[<?php echo $number; ?>][select_value]">
                <option <?php if ($select == 'One') echo 'selected'; ?> value="One">Value 1</option>
                <option <?php if ($select == 'Two') echo 'selected'; ?> value="Two">Value 2</option>
                <option <?php if ($select == 'Three') echo 'selected'; ?> value="Three">Value 3</option>
                <option <?php if ($select == 'Four') echo 'selected'; ?> value="Four">Value 4</option>
            </select>
            </label>
        </p>
        <p><label>Textarea</label><br /><textarea id="textarea_value_<?php echo $number; ?>" name="simple-widget[<?php echo $number; ?>][textarea_value]" type="text" cols="30" rows="4"><?=$textarea?></textarea></p>
        <input type="hidden" name="simple-widget[<?php echo $number; ?>][submit]" value="1" />
        
        <?php
        }
        
        
        function jad_simple_widget_register() {
            if ( !$options = get_option('simple_widget') )
                $options = array();
            $widget_ops = array('classname' => 'simple_widget', 'description' => __('Test widget form'));
            $control_ops = array('width' => 400, 'height' => 350, 'id_base' => 'simple-widget');
            $name = __('JAD Simple Widget');
        
            $id = false;
            
            foreach ( (array) array_keys($options) as $o ) {
        
                if ( !isset( $options[$o]['title'] ) )
                    continue;
                            
                $id = "simple-widget-$o";
                wp_register_sidebar_widget($id, $name, 'jad_simple_widget', $widget_ops, array( 'number' => $o ));
                wp_register_widget_control($id, $name, 'jad_simple_widget_control', $control_ops, array( 'number' => $o ));
            }
            
            if ( !$id ) {
                wp_register_sidebar_widget( 'simple-widget-1', $name, 'jad_simple_widget', $widget_ops, array( 'number' => -1 ) );
                wp_register_widget_control( 'simple-widget-1', $name, 'jad_simple_widget_control', $control_ops, array( 'number' => -1 ) );
            }
        }
    add_action('init', jad_simple_widget_register, 1);
    ?>
    <end node> 5P9i0s8y19Z
    dt=
    <node>new area
    2
    http://howtomatter.com/how-to-create-a-new-widget-area/
    I’ve found it helpful in certain situations to have widgetized areas (that is, places I can drag/drop widgets into from the Appearance>Widget menu) other than the standard Sidebar 1 and Sidebar 2. Certain themes have this built in, but it’s not terribly difficult to create them yourself, so I thought I’d write up a quick tutorial.
    What is a new widget area?
    As always, head on over to my test site to see an example of what I’m talking about. Scroll down to the footer and you’ll see a light red area with 2 boxes in it that say something along the lines of ‘this is your new sidebar’. In case that site/example is gone by the time you’re reading this, here’s a picture of it.
    New Sidebar for Widgets
    click to enlarge
    So what I’ve done is created 2 new sidebar areas and placed them, in this case, after the content box. Widgets can be dragged into these sidebars in the same way as you’d add widgets to the default sidebars – by going to the Appearance>Widgets menu and dragging them into the appropriate place. More about that in a minute.
    How to create a new widget area
    Per my typical approach, I’m just going to give you the code, and the instructions on where/how to place it, and if you have questions beyond this or want to know more about how/why it works, you can leave a comment or reach out to me individually…cool?
    Okay, so the first thing we need to do is register the new sidebars. This is done by going to the Thesis>Custom File Editor menu, and from the drop down menu at the top of that page, choose ‘custom_functions.php’ and click the ‘edit selected file’ button to its right. Once there, scroll down to the very bottom and paste the following code:
    /****************************************************************
       * REGISTER NEW SIDEBARS
    ****************************************************************/
    $args = array(
        'name'          => 'New Sidebar %d',
        'before_widget' => '<li id="%1$s" class="widget %2$s">',
        'after_widget'  => '</li>',
        'before_title'  => '<h3>',
        'after_title'   => '</h3>' );
    register_sidebars( 2, $args );
    /****************************************************************
       * CREATES NEW SIDEBARS
    ****************************************************************/
    function new_sidebars(){
        ?>
        <div id="new-sidebars">
            <div id="new-sidebar-1">
                <ul class="sidebar_list">
                    <?php if (!dynamic_sidebar('New Sidebar 1') ) { ?>
                        <li class="widget">
                            <div class="widget_box">
                                <h3><?php _e('New Sidebar 1', 'thesis'); ?></h3>
                                <p>This is your new sidebar.  Add widgets here from your WP Dashboard just like normal.</p>
                            </div>
                        </li>
                    <?php  }   ?>
                 </ul>
            </div>
            <div id="new-sidebar-2">
                <ul class="sidebar_list">
                    <?php if (!dynamic_sidebar('New Sidebar 2') ) { ?>
                        <li class="widget">
                            <div class="widget_box">
                                <h3><?php _e('New Sidebar 2', 'thesis'); ?></h3>
                                <p>This is your new sidebar.  Add widgets here from your WP Dashboard just like normal.</p>
                            </div>
                        </li>
                    <?php  }   ?>
                 </ul>
            </div>
        </div>
        <?php
    }
    add_action('thesis_hook_after_content_box', 'new_sidebars');
    So what that has done is created 2 new sidebars and placed them at the bottom of your content box…well, after it, actually. If you were to look at your site now, you’d see them placed one on top of the other…not what we want in this case, but we’ll remedy that with a little CSS styling.
    Styling your newly created sidebars
    Now that these widgetized sidebars are created, we need to style them to look how we want them to look. So, go to the Thesis>Custom File Editor menu, and make sure it says ‘custom.css’ in the drop down menu. Scroll down to the bottom (or to the appropriate place if you’ve got this file organized) and paste the following code:
    /***********************************
    NEW WIDGET STYLING
    ***********************************/
    #new-sidebars {
        float:left;
        width:100%;
        background-color:#ffaaaa;
        border-bottom:.1em solid #000000;
    }
    #new-sidebar-1 {
        float:left;
        margin-left:7em;
        width:40%;
    }
    #new-sidebar-2 {
        float:left;
        margin-left:2em;
        width:40%;
    }
    If everything was done properly, you should now have two sidebars after your content box that look very similar to/the same as what’s pictured above.
    Add widgets to your new sidebarsAnd if you go to your Appearance>Widgets menu, you should now see 2 new boxes in the right column where you can drag widgets. Just click the drop down arrow to expand them (pictured here) and you can begin dragging widgets into them…text, pictures, recent post widgets, whatever you like.
    What if I want my widgetized sidebars to appear somewhere else?
    Okay, so what if you don’t want these new widget areas to appear below your content box? No problem, you just need to ‘hook’ them to the area you do want them in. Look at the 1st bit of code above (that went into your custom_functions.php file). The last line says “add action…”, and you see ‘thesis_hook_after_content_box’. That ‘after_content_box is the hook we used and it tells Thesis to place it in that specific area.
    Well, Thesis has lots of hooks available (a hook essentially just refers to a different place on your site you can ‘hang’ code). Check out this visual reference and click on one of the thumbnail images you see there. As you’ll see, the hooks are all over the place and they each refer to a different spot on the page. Choose where you want your widgetized sidebars to go and replace ‘after_content_box’ in the above code with the hook you want.
    Of course, that will require you to style your sidebars differently because the size of the space/hook you’re placing them in/on will determine how you style them. If you decide to do that, leave me a comment and I’ll show you how to do it.
    Things to keep in mind
        We registered/created just 2 widgetized sidebars. If you want more, that’s totally doable and it’s a matter of a few tweaks to the above code. Comment me if you would like to learn how to do so.
        Depending on what widget(s) you drop into these newly created sidebars, your styling (CSS) may need to be altered (an image, for example, may be taller than, say, a list of links, etc), so if you run into an issue where it just doesn’t look right, comment me.
    Alright, so that wraps things up. If anything is unclear or doesn’t work or if you need some additional support, please holler. And of course, if you’re at your wit’s end and want to hire me to build you a WordPress site or provide some WordPress Coaching, please do.
    Cheers…
    =========================================================
    http://www.studiograsshopper.ch/code-snippets/how-to-add-a-widgetised-area-in-a-wordpress-theme/
    How to add a Widgetised area in a WordPress theme
    July 11, 2009 26 Comments
    Darling, I'm not in the mood to go dancing. Let's stay home and code widgets instead!
    Darling, I'm not in the mood to go dancing. Let's stay home and code widgets instead!
    Here’s a tutorial to show you how to add a widget to a theme template file.
    Most themes these days come with built-in widget support, most commonly in the sidebar, but also sometimes in other parts of the theme such as the header, homepage or single post pages.
    In this tutorial I show you how to add a widget area to single post pages, and how to use the new widget area to display an advert on every single post page.
    Widget basics
    There are only four things we need to know in order to set up our new widget area:
        Which theme template file we need to edit
        The code for a Widget area, which we will place in the relevant theme template file
        How to “register” a Widget area, usually in the theme’s functions.php, in order to tell WordPress that the widget area exists and therefore allow you to add widgets to this widget area in the Dashboard.
        Add some styling to the widget area so that it fits in with the look of our site.
    Which template file?
    If you familiar with WordPress you will know that different pages on your site are produced by different theme template files. Which template file is used to display different views of your site is taken care of by WordPress, behind the scenes, and follows the Template Hierarchy coded into the WordPress Core files.
    In our example, we want to add the widget area to the single post page. Depending on your theme this will be either single.php or index.php. In our example, let’s assume it is index.php.
    Adding Widget code to the theme file
    Open up your index.php (take a backup first, just in case you need to put everything back to how it was) and decide where you want the new widget area to appear. Typically, your index.php file will be structured something like this (I’ve left out most of the code to keep things simple):
    1    <?php get_header(); ?>
    2    
    3    <div id="content">
    4    
    5        <div id="contentleft">
    6        
    7            <div class="postarea">
    8            
    9            <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
    10                
    11                // Loop stuff goes here eg Title, Date, Content etc
    12                
    13                                    
    14                <!--
    15                <?php trackback_rdf(); ?>
    16                -->
    17                
    18                <?php endwhile; else: ?>
    19                
    20                <p><?php _e('Sorry, no posts matched your criteria.'); ?></p><?php endif; ?>
    21                
    22            </div><!-- End of postarea -->
    23                
    24            <div class="postcomments">
    25                
    26                <?php comments_template('',true); ?>
    27            
    28            </div>
    29            
    30        </div>
    31        
    32        <?php include(TEMPLATEPATH."/sidebar.php");?>
    33                
    34    </div>
    35    
    36    <?php get_footer(); ?>
    Your index.php file may not have the same DIV id name’s, but the structure should be similar: a DIV containing the Loop, in this case the postarea div (lines 7-22), and a DIV containing the call to the comments template, in this case the postcomments DIV (lines 24-28).
    We want to place our widget area between these two DIVs. That way, the widget content will display below the post content and above the comments section of the page.
    First, let’s add a new DIV and give it a new class called “widget-post”. You can name this class whatever you like, but choose something that has some meaning so that it’s easier to remember its purpose. Here’s our added code in lines 24-28:
    1    </div><!-- End of postarea -->
    2    
    3    <div class="widget-post">
    4    
    5        // Our widget stuff will go here...
    6    
    7    </div>
    8                
    9    <div class="postcomments">
    10                
    11        <?php comments_template('',true); ?>
    12            
    13    </div>
    Now let’s add the code to display our new widget area. Here it is:
    1    </div><!-- End of postarea -->
    2    
    3    <div class="widget-post">
    4    
    5        <?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('Post Widget') ) : ?>
    6        <?php endif; ?>
    7    
    8    </div>
    9                
    10    <div class="postcomments">
    11                
    12        <?php comments_template('',true); ?>
    13            
    14    </div>
    The new code we’ve added will pull in the widget content. In plain English, the code says – if widgets aren’t enabled in this theme or a widget area called “Post Widget” hasn’t been registered, do nothing. Therefore, if widgets are enabled and the widget area called “Post Widget” exists, the widget content will be displayed here. That’s it – no more work needed on the template file, and it’s time to add the “register” code in functions.php.
    Registering the widget in functions.php
    We now need to tell WordPress that it should enable a widget area called “Post Widget”. Open up your functions.php and look for a block of code something like this:
    1    if ( function_exists('register_sidebars') ) {
    2        register_sidebar(array('name'=>'Sidebar 1',));
    3        register_sidebar(array('name'=>'Sidebar 2',));
    4        register_sidebar(array('name'=>'Sidebar 3',));
    5    }
    This is the section of code that tells WordPress to enable widget areas. All we need to do is add a new line to this block of code to register our new widget area. Like this:
    1    if ( function_exists('register_sidebars') ) {
    2        register_sidebar(array('name'=>'Sidebar 1',));
    3        register_sidebar(array('name'=>'Sidebar 2',));
    4        register_sidebar(array('name'=>'Sidebar 3',));
    5        register_sidebar(array('name'=>'Post Widget',));
    6    }
    The important points to note are:
        We’ve added the extra line below the existing lines, but before the closing curly bracket. This ensures that our changes do not mess up the widgets you’ve already set up in your sidebar, for example.
        We’ve used exactly the same name “Post Widget” that we used in the new code added in index.php above.
    Another important point to remember is that the names of widget areas must be unique!
    Adding widgets to the new widget area
    Go to Dashboard>Appearance>Widgets and you should now see that your Post Widget appears in the righthand side of this screen. You can now drag a Text Widget to the Post Widget, and then add the code necessary to display your adverts within the Text Widget. For example, you can add Google Adsense code here, or affiliate code for a banner ad etc.
    View your site and check that on single post pages you now see your adverts between the post content and the comments. If it doesn’t appear, re-check the above steps in case you’ve missed something. If using a newly set up Google Adsense, remember that it can take a short while for the Adsense to populate.
    Styling the new widget area
    You will probably need to adjust your CSS to get the new widget area to fit in with the look of your site. The most important thing to do first is to add something like this to your style.css to define a style for the new widget-post DIV class which is the container for the widget area:
    1    .widget-post {
    2        background: #FFFFFF;
    3        margin: 0px;
    4        padding: 10px;
    5        width: 600px;
    6        }
    This is just a starting point – adjust the width, background, padding and margin to suit you.
    If you are using Google Adsense, your Google code will already include various styles based on the selections you made when setting up the Google Adsense. If you are posting your own HTML in the Text Widget you will probably have to add some styling to style.css to make the neceesary adjustments. If you are unfamiliar with CSS, check out the many great tutorials that are out there.
    And finally…
    As you can see, it isn’t too difficult to add a widget area to a theme file. This same method can be used elsewhere in your site to create other widget areas – just remember to name each one uniquely, and have fun
    =================================================
    How to add widget area http://www.templatemonster.com/help/how-to-add-widget-area.html
        Author: Chris Diaz
        Posted on: April 7, 2011
        Relation: Layout
        Complexity: Advanced
        Tags: widget, WordPress
    Rating: 3.3/5 (2 votes cast)

    How to add widget area in WordPress
    This tutorial will show you how to create new widget area in WordPress. Any widget in WordPress template could be displayed in any place on the page. This could be done using WordPress widget areas.

    To add widget area access to your WordPress installation folder.
    1. Open ‘wp-content/themes/theme###’ folder.
    2. View the functions.php file
    3. Use search tool (CTRL+F) and search for ‘widget’. You can fund the following lines:
    Here you can see that widgets are defined in the sidebar-init.php file
    ?
    1
    2
        
    //Widget and Sidebar
    require_once $includes_path . 'sidebar-init.php';
    This line defines the $includes_path variable value.
    ?
    1
        
    $includes_path = TEMPLATEPATH . '/includes/';
    These lines shows you that the widgets are defined in the wp-content/themes/theme###/includes/sidebar-init.php file
    4. Open sidebar-init.php file. All widget areas are defined here. The following code is used to define wach area:
    ?
    1
    2
    3
    4
    5
    6
    7
    8
    9
        
        register_sidebar(array(
            'name'          => 'Sidebar 2',
            'id'            => 'sidebar-2',
            'description'   => __( 'Located at the right side of pages.'),
            'before_widget' => '<div id="%1$s" class="widget %2$s">',
            'after_widget'  => '</div>',
            'before_title'  => '<h3 class="widget-title">',
            'after_title'   => '</h3>',
    ));
    To register new widget area copy the code above and paste it before the closing ‘}’ bracket
    Change the ‘name’, ‘id’ and ‘description’ values.

    5. Now you can insert the widget area to any part of the template. Go back to the ‘wp-content/themes/theme###‘ folder. You can insert the area to any layout file:
        header.php
        footer.php
        single.php
        category.php
        index.php
        sidebar.php etc
    6. Paste the following code to the required place to insert the widget area.
    ?
    1
        
    <?php if ( ! dynamic_sidebar( 'New Widget Area' ) ) :?><?php endif;?>
    Replace ‘New Widget Area’ with your widget area name.
    7. If everything has been done correctly the new widget area would be available from the WordPress admin panel Appearance>Widgets (right column) .

    Feel free to check the detailed video tutorial below:
    <end node> 5P9i0s8y19Z
    dt=
    <node>saved info
    2
    ?><div id="topbar" class="sidebar widget-area">
    <?php
        genesis_structural_wrap( 'topbar' );
        do_action( 'genesis_before_sidebar_widget_area' );
        do_action( 'genesis_sidebar' );
        do_action( 'genesis_after_sidebar_widget_area' );
        genesis_structural_wrap( 'topbar', 'close' );
    ?>
    </div>
    <!-- begin #featured-top -->
    <div id="featured-top">
                <?php if (!dynamic_sidebar('Homepage Top')) : ?>
                    <div class="widget">
                        
                        <div class="wrap">
                            <p><?php _e("This is a widgeted area which is called Homepage.", 'genesis'); ?></p>
                        </div><!-- end .wrap -->
                    </div><!-- end .widget -->
                <?php endif; ?>
            </div><!-- end #featured-top -->
    <end node> 5P9i0s8y19Z
    dt=
    <node>simple one
    2
    <?php
    /*
    Plugin Name: My Widget
    Plugin URI: http://mydomain.com
    Description: My first widget
    Author: Me
    Version: 1.0
    Author URI: http://mydomain.com
    */
    // Block direct requests
    if ( !defined('ABSPATH') )
        die('-1');
        
        
    add_action( 'widgets_init', function(){
         register_widget( 'My_Widget' );
    });    
    /**
    * Adds My_Widget widget.
    */
    class My_Widget extends WP_Widget {
        /**
         * Register widget with WordPress.
         */
        function __construct() {
            parent::__construct(
                'My_Widget', // Base ID
                __('My Widget', 'text_domain'), // Name
                array( 'description' => __( 'My first widget!', 'text_domain' ), ) // Args
            );
        }
        /**
         * Front-end display of widget.
         *
         * @see WP_Widget::widget()
         *
         * @param array $args     Widget arguments.
         * @param array $instance Saved values from database.
         */
        public function widget( $args, $instance ) {
        
             echo $args['before_widget'];
            if ( ! empty( $instance['title'] ) ) {
                echo $args['before_title'] . apply_filters( 'widget_title', $instance['title'] ). $args['after_title'];
            }
            echo __( 'Hello, World!', 'text_domain' );
            echo $args['after_widget'];
        }
        /**
         * Back-end widget form.
         *
         * @see WP_Widget::form()
         *
         * @param array $instance Previously saved values from database.
         */
        public function form( $instance ) {
            if ( isset( $instance[ 'title' ] ) ) {
                $title = $instance[ 'title' ];
            }
            else {
                $title = __( 'New title', 'text_domain' );
            }
            ?>
            <p>
                <label for="<?php echo $this->get_field_id( 'title' ); ?>"><?php _e( 'Title:' ); ?></label>
                <input class="widefat" id="<?php echo $this->get_field_id( 'title' ); ?>" name="<?php echo $this->get_field_name( 'title' ); ?>" type="text" value="<?php echo esc_attr( $title ); ?>">
            </p>
            <?php
        }
        /**
         * Sanitize widget form values as they are saved.
         *
         * @see WP_Widget::update()
         *
         * @param array $new_instance Values just sent to be saved.
         * @param array $old_instance Previously saved values from database.
         *
         * @return array Updated safe values to be saved.
         */
        public function update( $new_instance, $old_instance ) {
            $instance = array();
            $instance['title'] = ( ! empty( $new_instance['title'] ) ) ? strip_tags( $new_instance['title'] ) : '';
            return $instance;
        }
    } // class My_Widget
    <end node> 5P9i0s8y19Z
    ','Custom Code','','inherit','closed','closed','','24-revision-v1','','','2017-12-22 00:52:07','2017-12-22 00:52:07','',24,'http://www.acctcrop.softwarewebdesign.com/2017/12/22/24-revision-v1/',0,'revision','',0),(26,1,'2017-12-22 00:55:10','2017-12-22 00:55:10','','HJT File','','publish','closed','closed','','hjt-file','','','2023-12-22 03:02:20','2023-12-22 03:02:20','',0,'http://www.acctcrop.softwarewebdesign.com/?p=26',1,'nav_menu_item','',0),(27,1,'2017-12-22 00:55:10','2017-12-22 00:55:10',' ','','','publish','closed','closed','','27','','','2023-12-22 03:02:20','2023-12-22 03:02:20','',0,'http://www.acctcrop.softwarewebdesign.com/?p=27',2,'nav_menu_item','',0),(28,1,'2017-12-22 00:55:10','2017-12-22 00:55:10',' ','','','publish','closed','closed','','28','','','2023-12-22 03:02:20','2023-12-22 03:02:20','',0,'http://www.acctcrop.softwarewebdesign.com/?p=28',3,'nav_menu_item','',0),(29,1,'2017-12-22 00:55:10','2017-12-22 00:55:10',' ','','','publish','closed','closed','','29','','','2023-12-22 03:02:20','2023-12-22 03:02:20','',0,'http://www.acctcrop.softwarewebdesign.com/?p=29',4,'nav_menu_item','',0),(30,1,'2017-12-22 00:55:10','2017-12-22 00:55:10',' ','','','publish','closed','closed','','30','','','2023-12-22 03:02:20','2023-12-22 03:02:20','',6,'http://www.acctcrop.softwarewebdesign.com/?p=30',5,'nav_menu_item','',0),(31,1,'2017-12-22 00:55:10','2017-12-22 00:55:10',' ','','','publish','closed','closed','','31','','','2023-12-22 03:02:20','2023-12-22 03:02:20','',6,'http://www.acctcrop.softwarewebdesign.com/?p=31',6,'nav_menu_item','',0),(32,1,'2017-12-22 00:55:10','2017-12-22 00:55:10',' ','','','publish','closed','closed','','32','','','2023-12-22 03:02:20','2023-12-22 03:02:20','',0,'http://www.acctcrop.softwarewebdesign.com/?p=32',7,'nav_menu_item','',0),(33,1,'2017-12-23 21:19:01','2017-12-23 21:19:01','
    \r\n

    Learn How To Create Shortcodes in WordPress Plugin With Examples

    \r\nFor the beginners, creating shortcode is sometimes not easy. But, WordPress makes it pretty simple to create your own shortcode by using WordPress shortcode function.\r\n
    \r\n\r\nThere are two popular shortcode plugins.\r\n\r\nTherefore, in this tutorial I am going to explain you how easily you can create your own shortcode using 3 simple examples. You will learn how to create WordPress shortcode plugin.\r\n\r\nExample 1 – I am going to create a WordPress plugin to display form on any page or post of the website.\r\n\r\nExample 2 – I am going to create a WordPress plugin to display text on any page or post of the website.\r\n\r\nExample 3 – I am going to create a WordPress plugin that helps to share pages or posts on Twitter.\r\n\r\n
    \r\n\r\n

    Create Shortcodes in WordPress Plugin

    \r\nWordPress offers a predefined shortcode function to create shortcode in WordPress plugin. For using shortcode function, you have to define a handler function that parse the shortcode and return some output.\r\n\r\nThen, you need to register a shortcode using add_shortcode() function.\r\n\r\nadd_shortcode( $shortcode_name, $handler_function);\r\n
      \r\n
    • $shortcode_name – (required, string) It is a string that to be searched in the post.
    • \r\n
    • $handler_function – (required, callable) It is a hook to run when shortcode is found.
    • \r\n
    \r\n\"\r\n\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n\r\nNote: I have created a shortcode folder under the plugin folder of my WordPress where I have created a file named shortcode.php.\r\n

    WordPress ShortCode Example 1 – Display Form On Pages/Posts

    \r\nYou can create shortcode to display form on any page or post of the website. The below code includes-\r\n
      \r\n
    • Plugin details
    • \r\n
    • form_creation() to create a form which includes form fields.
    • \r\n
    • add_shortcode() function which contain shortcode name test and calling of form_creation() function as parameters.
    • \r\n
    \r\n
    \r\n
    \r\n<?php\r\n/*\r\n* Plugin Name: WordPress ShortCode\r\n* Description: Create your WordPress shortcode.\r\n* Version: 1.0\r\n* Author: InkThemes\r\n* Author URI: https://inkthemes.com\r\n*/\r\n\r\n// Example 1 : WP Shortcode to display form on any page or post.\r\nfunction form_creation(){\r\n?>\r\n<form>\r\nFirst name: <input type=\"text\" name=\"firstname\"><br>\r\nLast name: <input type=\"text\" name=\"lastname\"><br>\r\nMessage: <textarea name=\"message\"> Enter text here...</textarea>\r\n</form>]\r\n<?php\r\n}\r\nadd_shortcode(\'test\', \'form_creation\');\r\n?>
    \r\n
    \r\n

    Output

    \r\nYou need to place WordPress shortcode within square brackets in order to represent it on any page or post of the website. As you can see in the below image, code word test enclosed within square brackets.\r\n

     \"apply

    \r\nThis is how the form page appears on the front end.\r\n\r\n\"form\r\n

    WordPress Shortcode Example 2 – Display Text On Pages/Posts

    \r\nYou can create shortcode to display text on any page or post of the website. The below code includes-\r\n
      \r\n
    • Plugin details
    • \r\n
    • wp_first_shortcode() contain the text that you want to display in front end.
    • \r\n
    • add_shortcode() function contain shortcode name first and calling of wp_first_shortcode() function as parameters.
    • \r\n
    \r\n
    \r\n
    \r\n\r\n<?php\r\n/*\r\n* Plugin Name: WordPress ShortCode\r\n* Description: Create your WordPress shortcode.\r\n* Version: 1.0\r\n* Author: InkThemes\r\n* Author URI: https://inkthemes.com\r\n*/\r\n\r\n// Example 2 : WP Shortcode to display text on page or post.\r\nfunction wp_first_shortcode(){\r\necho \"Hello, This is your another shortcode!\";\r\n}\r\nadd_shortcode(\'first\', \'wp_first_shortcode\');\r\n\r\n?>\r\n\r\n
    \r\n
    \r\n

    Output

    \r\nYou can insert a shortcode with code word first enclosed with square brackets.\r\n\r\n\"develop\r\n\r\nThis is how the text display in the post on front end.\r\n\r\n\"text\r\n

    WordPress Shortcode Example 3 – Share Pages/Posts On Twitter

    \r\nYou can create shortcode to share your pages or posts on Twitter. The below code includes-\r\n
      \r\n
    • Plugin details
    • \r\n
    • ink_wp_shortcode() get the particular post or page that you want to share on Twitter.
    • \r\n
    • add_shortcode() function contain shortcode name twitter and calling of ink_wp_shortcode() function as parameters.
    • \r\n
    \r\n
    \r\n
    \r\n\r\n<?php\r\n/*\r\n* Plugin Name: WordPress ShortCode\r\n* Description: Create your WordPress shortcode.\r\n* Version: 1.0\r\n* Author: InkThemes\r\n* Author URI: https://inkthemes.com\r\n*/\r\n\r\n// Example 3 : WP Shortcode to share post or page on Twitter.\r\nfunction ink_wp_shortcode($atts, $content=null)\r\n{\r\n$post_url = get_permalink($post->ID);\r\n$post_title = get_the_title($post->ID);\r\n$tweet = \'<a style=\"color:blue; font-size: 20px;\" href=\"http://twitter.com/home/?status=Read\' . $post_title . \'at\' . $post_url . \'\">\r\n<b>Share on Twitter </b></a>\';\r\nreturn $tweet;\r\n}\r\nadd_shortcode(\'twitter\', \'ink_wp_shortcode\');\r\n?>\r\n\r\n
    \r\n
    \r\n

    Output

    \r\nYou can see in the below image, shortcode twitter is placed at the end of the post.\r\n\r\n\"twitter\r\n\r\nYou can directly share the pages or posts on Twitter by click on the text Share on Twitter.\r\n\r\n\"output\r\n

    Conclusion

    \r\nI hope this tutorial is helpful to you and make you understand the concept that you need to use while creating a WordPress shortcode for your own purpose. You can create as many as shortcode you want and use it wherever you want.\r\n\r\nMoreover, you can also watch the video tutorial for this post, just check it out.\r\n\r\nPlease do share your thoughts about the post and how much you find it useful to you.\r\n
    \r\n\r\nLast Updated on: June 6, 2017\r\n\r\nUnder: Blog, WordPress\r\n\r\n
    \r\n
    \r\n\r\n
    Comments and Responses\r\n\r\n
    \r\n
    \r\n\r\nYour email address will not be published. Required fields are marked *\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n\r\n

    \r\n\r\n\r\n
    \r\n
    \r\n
    \r\n
    ','Create Shortcodes','','publish','closed','closed','','create-shortcodes','','','2017-12-23 21:20:51','2017-12-23 21:20:51','',0,'http://www.acctcrop.softwarewebdesign.com/?page_id=33',0,'page','',0),(35,1,'2017-12-23 21:20:51','2017-12-23 21:20:51','
    \r\n

    Learn How To Create Shortcodes in WordPress Plugin With Examples

    \r\nFor the beginners, creating shortcode is sometimes not easy. But, WordPress makes it pretty simple to create your own shortcode by using WordPress shortcode function.\r\n
    \r\n\r\nThere are two popular shortcode plugins.\r\n\r\nTherefore, in this tutorial I am going to explain you how easily you can create your own shortcode using 3 simple examples. You will learn how to create WordPress shortcode plugin.\r\n\r\nExample 1 – I am going to create a WordPress plugin to display form on any page or post of the website.\r\n\r\nExample 2 – I am going to create a WordPress plugin to display text on any page or post of the website.\r\n\r\nExample 3 – I am going to create a WordPress plugin that helps to share pages or posts on Twitter.\r\n\r\n
    \r\n\r\n

    Create Shortcodes in WordPress Plugin

    \r\nWordPress offers a predefined shortcode function to create shortcode in WordPress plugin. For using shortcode function, you have to define a handler function that parse the shortcode and return some output.\r\n\r\nThen, you need to register a shortcode using add_shortcode() function.\r\n\r\nadd_shortcode( $shortcode_name, $handler_function);\r\n
      \r\n
    • $shortcode_name – (required, string) It is a string that to be searched in the post.
    • \r\n
    • $handler_function – (required, callable) It is a hook to run when shortcode is found.
    • \r\n
    \r\n\"\r\n\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n\r\nNote: I have created a shortcode folder under the plugin folder of my WordPress where I have created a file named shortcode.php.\r\n

    WordPress ShortCode Example 1 – Display Form On Pages/Posts

    \r\nYou can create shortcode to display form on any page or post of the website. The below code includes-\r\n
      \r\n
    • Plugin details
    • \r\n
    • form_creation() to create a form which includes form fields.
    • \r\n
    • add_shortcode() function which contain shortcode name test and calling of form_creation() function as parameters.
    • \r\n
    \r\n
    \r\n
    \r\n<?php\r\n/*\r\n* Plugin Name: WordPress ShortCode\r\n* Description: Create your WordPress shortcode.\r\n* Version: 1.0\r\n* Author: InkThemes\r\n* Author URI: https://inkthemes.com\r\n*/\r\n\r\n// Example 1 : WP Shortcode to display form on any page or post.\r\nfunction form_creation(){\r\n?>\r\n<form>\r\nFirst name: <input type=\"text\" name=\"firstname\"><br>\r\nLast name: <input type=\"text\" name=\"lastname\"><br>\r\nMessage: <textarea name=\"message\"> Enter text here...</textarea>\r\n</form>]\r\n<?php\r\n}\r\nadd_shortcode(\'test\', \'form_creation\');\r\n?>
    \r\n
    \r\n

    Output

    \r\nYou need to place WordPress shortcode within square brackets in order to represent it on any page or post of the website. As you can see in the below image, code word test enclosed within square brackets.\r\n

     \"apply

    \r\nThis is how the form page appears on the front end.\r\n\r\n\"form\r\n

    WordPress Shortcode Example 2 – Display Text On Pages/Posts

    \r\nYou can create shortcode to display text on any page or post of the website. The below code includes-\r\n
      \r\n
    • Plugin details
    • \r\n
    • wp_first_shortcode() contain the text that you want to display in front end.
    • \r\n
    • add_shortcode() function contain shortcode name first and calling of wp_first_shortcode() function as parameters.
    • \r\n
    \r\n
    \r\n
    \r\n\r\n<?php\r\n/*\r\n* Plugin Name: WordPress ShortCode\r\n* Description: Create your WordPress shortcode.\r\n* Version: 1.0\r\n* Author: InkThemes\r\n* Author URI: https://inkthemes.com\r\n*/\r\n\r\n// Example 2 : WP Shortcode to display text on page or post.\r\nfunction wp_first_shortcode(){\r\necho \"Hello, This is your another shortcode!\";\r\n}\r\nadd_shortcode(\'first\', \'wp_first_shortcode\');\r\n\r\n?>\r\n\r\n
    \r\n
    \r\n

    Output

    \r\nYou can insert a shortcode with code word first enclosed with square brackets.\r\n\r\n\"develop\r\n\r\nThis is how the text display in the post on front end.\r\n\r\n\"text\r\n

    WordPress Shortcode Example 3 – Share Pages/Posts On Twitter

    \r\nYou can create shortcode to share your pages or posts on Twitter. The below code includes-\r\n
      \r\n
    • Plugin details
    • \r\n
    • ink_wp_shortcode() get the particular post or page that you want to share on Twitter.
    • \r\n
    • add_shortcode() function contain shortcode name twitter and calling of ink_wp_shortcode() function as parameters.
    • \r\n
    \r\n
    \r\n
    \r\n\r\n<?php\r\n/*\r\n* Plugin Name: WordPress ShortCode\r\n* Description: Create your WordPress shortcode.\r\n* Version: 1.0\r\n* Author: InkThemes\r\n* Author URI: https://inkthemes.com\r\n*/\r\n\r\n// Example 3 : WP Shortcode to share post or page on Twitter.\r\nfunction ink_wp_shortcode($atts, $content=null)\r\n{\r\n$post_url = get_permalink($post->ID);\r\n$post_title = get_the_title($post->ID);\r\n$tweet = \'<a style=\"color:blue; font-size: 20px;\" href=\"http://twitter.com/home/?status=Read\' . $post_title . \'at\' . $post_url . \'\">\r\n<b>Share on Twitter </b></a>\';\r\nreturn $tweet;\r\n}\r\nadd_shortcode(\'twitter\', \'ink_wp_shortcode\');\r\n?>\r\n\r\n
    \r\n
    \r\n

    Output

    \r\nYou can see in the below image, shortcode twitter is placed at the end of the post.\r\n\r\n\"twitter\r\n\r\nYou can directly share the pages or posts on Twitter by click on the text Share on Twitter.\r\n\r\n\"output\r\n

    Conclusion

    \r\nI hope this tutorial is helpful to you and make you understand the concept that you need to use while creating a WordPress shortcode for your own purpose. You can create as many as shortcode you want and use it wherever you want.\r\n\r\nMoreover, you can also watch the video tutorial for this post, just check it out.\r\n\r\nPlease do share your thoughts about the post and how much you find it useful to you.\r\n
    \r\n\r\nLast Updated on: June 6, 2017\r\n\r\nUnder: Blog, WordPress\r\n\r\n
    \r\n
    \r\n\r\n
    Comments and Responses\r\n\r\n
    \r\n
    \r\n\r\nYour email address will not be published. Required fields are marked *\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n\r\n

    \r\n\r\n\r\n
    \r\n
    \r\n
    \r\n
    ','Create Shortcodes','','inherit','closed','closed','','33-revision-v1','','','2017-12-23 21:20:51','2017-12-23 21:20:51','',33,'http://www.acctcrop.softwarewebdesign.com/2017/12/23/33-revision-v1/',0,'revision','',0),(34,1,'2017-12-23 21:19:01','2017-12-23 21:19:01','
    \r\n

    Learn How To Create Shortcodes in WordPress Plugin With Examples

    \r\n \r\n
    \r\n \"user-15799\"
    \r\n Malika Rani\r\n
    \r\n
    \r\n

    For the beginners, creating shortcode is sometimes not easy. But, WordPress makes it pretty simple to create your own shortcode by using WordPress shortcode function.

    \r\n

    There are two popular shortcode plugins.

    \r\n\r\n

    Therefore, in this tutorial I am going to explain you how easily you can create your own shortcode using 3 simple examples. You will learn how to create WordPress shortcode plugin.

    \r\n

    Example 1 – I am going to create a WordPress plugin to display form on any page or post of the website.

    \r\n

    Example 2 – I am going to create a WordPress plugin to display text on any page or post of the website.

    \r\n

    Example 3 – I am going to create a WordPress plugin that helps to share pages or posts on Twitter.

    \r\n
    \r\n

    Create Shortcodes in WordPress Plugin

    \r\n

    WordPress offers a predefined shortcode function to create shortcode in WordPress plugin. For using shortcode function, you have to define a handler function that parse the shortcode and return some output.

    \r\n

    Then, you need to register a shortcode using add_shortcode() function.

    \r\n

    add_shortcode( $shortcode_name, $handler_function);

    \r\n
      \r\n
    • $shortcode_name – (required, string) It is a string that to be searched in the post.
    • \r\n
    • $handler_function – (required, callable) It is a hook to run when shortcode is found.
    • \r\n
    \r\n

    \"

    \r\n

    \r\n

    Note: I have created a shortcode folder under the plugin folder of my WordPress where I have created a file named shortcode.php.

    \r\n

    WordPress ShortCode Example 1 – Display Form On Pages/Posts

    \r\n

    You can create shortcode to display form on any page or post of the website. The below code includes-

    \r\n
      \r\n
    • Plugin details
    • \r\n
    • form_creation() to create a form which includes form fields.
    • \r\n
    • add_shortcode() function which contain shortcode name test and calling of form_creation() function as parameters.
    • \r\n
    \r\n
    \r\n
    \r\n<?php\r\n/*\r\n* Plugin Name: WordPress ShortCode\r\n* Description: Create your WordPress shortcode.\r\n* Version: 1.0\r\n* Author: InkThemes\r\n* Author URI: https://inkthemes.com\r\n*/\r\n\r\n// Example 1 : WP Shortcode to display form on any page or post.\r\nfunction form_creation(){\r\n?>\r\n<form>\r\nFirst name: <input type=\"text\" name=\"firstname\"><br>\r\nLast name: <input type=\"text\" name=\"lastname\"><br>\r\nMessage: <textarea name=\"message\"> Enter text here...</textarea>\r\n</form>]\r\n<?php\r\n}\r\nadd_shortcode(\'test\', \'form_creation\');\r\n?>
    \r\n
    \r\n

    Output

    \r\n

    You need to place WordPress shortcode within square brackets in order to represent it on any page or post of the website. As you can see in the below image, code word test enclosed within square brackets.

    \r\n

     \"apply

    \r\n

    This is how the form page appears on the front end.

    \r\n

    \"form

    \r\n

    WordPress Shortcode Example 2 – Display Text On Pages/Posts

    \r\n

    You can create shortcode to display text on any page or post of the website. The below code includes-

    \r\n
      \r\n
    • Plugin details
    • \r\n
    • wp_first_shortcode() contain the text that you want to display in front end.
    • \r\n
    • add_shortcode() function contain shortcode name first and calling of wp_first_shortcode() function as parameters.
    • \r\n
    \r\n
    \r\n
    \r\n\r\n<?php\r\n/*\r\n* Plugin Name: WordPress ShortCode\r\n* Description: Create your WordPress shortcode.\r\n* Version: 1.0\r\n* Author: InkThemes\r\n* Author URI: https://inkthemes.com\r\n*/\r\n\r\n// Example 2 : WP Shortcode to display text on page or post.\r\nfunction wp_first_shortcode(){\r\necho \"Hello, This is your another shortcode!\";\r\n}\r\nadd_shortcode(\'first\', \'wp_first_shortcode\');\r\n\r\n?>\r\n\r\n
    \r\n
    \r\n

    Output

    \r\n

    You can insert a shortcode with code word first enclosed with square brackets.

    \r\n

    \"develop

    \r\n

    This is how the text display in the post on front end.

    \r\n

    \"text

    \r\n

    WordPress Shortcode Example 3 – Share Pages/Posts On Twitter

    \r\n

    You can create shortcode to share your pages or posts on Twitter. The below code includes-

    \r\n
      \r\n
    • Plugin details
    • \r\n
    • ink_wp_shortcode() get the particular post or page that you want to share on Twitter.
    • \r\n
    • add_shortcode() function contain shortcode name twitter and calling of ink_wp_shortcode() function as parameters.
    • \r\n
    \r\n
    \r\n
    \r\n\r\n<?php\r\n/*\r\n* Plugin Name: WordPress ShortCode\r\n* Description: Create your WordPress shortcode.\r\n* Version: 1.0\r\n* Author: InkThemes\r\n* Author URI: https://inkthemes.com\r\n*/\r\n\r\n// Example 3 : WP Shortcode to share post or page on Twitter.\r\nfunction ink_wp_shortcode($atts, $content=null)\r\n{\r\n$post_url = get_permalink($post->ID);\r\n$post_title = get_the_title($post->ID);\r\n$tweet = \'<a style=\"color:blue; font-size: 20px;\" href=\"http://twitter.com/home/?status=Read\' . $post_title . \'at\' . $post_url . \'\">\r\n<b>Share on Twitter </b></a>\';\r\nreturn $tweet;\r\n}\r\nadd_shortcode(\'twitter\', \'ink_wp_shortcode\');\r\n?>\r\n\r\n
    \r\n
    \r\n

    Output

    \r\n

    You can see in the below image, shortcode twitter is placed at the end of the post.

    \r\n

    \"twitter

    \r\n

    You can directly share the pages or posts on Twitter by click on the text Share on Twitter.

    \r\n

    \"output

    \r\n

    Conclusion

    \r\n

    I hope this tutorial is helpful to you and make you understand the concept that you need to use while creating a WordPress shortcode for your own purpose. You can create as many as shortcode you want and use it wherever you want.

    \r\n

    Moreover, you can also watch the video tutorial for this post, just check it out.

    \r\n

    Please do share your thoughts about the post and how much you find it useful to you.

    \r\n
    \r\n

    Last Updated on: June 6, 2017

    \r\n

    Under: Blog, WordPress

    \r\n
    \r\n
    \r\n \r\n
    \r\n Comments and Responses\r\n \r\n
    \r\n
    \r\n \r\n \r\n

    Your email address will not be published. Required fields are marked *

    \r\n\r\n
    \r\n\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n \r\n \r\n\r\n

    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    ','Create Shortcodes','','inherit','closed','closed','','33-revision-v1','','','2017-12-23 21:19:01','2017-12-23 21:19:01','',33,'http://www.acctcrop.softwarewebdesign.com/2017/12/23/33-revision-v1/',0,'revision','',0),(36,1,'2017-12-23 21:21:50','2017-12-23 21:21:50',' ','','','publish','closed','closed','','36','','','2023-12-22 03:02:20','2023-12-22 03:02:20','',0,'http://www.acctcrop.softwarewebdesign.com/?p=36',9,'nav_menu_item','',0),(37,1,'2017-12-23 22:43:37','2017-12-23 22:43:37','
    \r\n
    \r\n
    \r\n
    \r\n
    \"How
    \r\n
    \r\n
    \r\n\r\nDo you want to create your own custom widgets in WordPress? Widgets allow you to drag and drop elements into any sidebar or widget ready area of your website. In this article, we will show you how to easily create a custom WordPress widget.\r\n\r\n\"Creating\r\n

    What is a WordPress Widget?

    \r\nWordPress widgets contain pieces of code that you can add to your website’s sidebars or widget ready areas. Think of them as modules that you can use to add different elements by using a simple drag and drop interface.\r\n\r\nBy default, WordPress comes with a standard set of widgets that you can use with any WordPress theme. See our beginner’s guide on how to add and use widgets in WordPress.\r\n\r\n\"WordPress\r\n\r\nWordPress also allows developers to create their own custom widgets. Many WordPress themes and plugins come with their own custom widgets that you can add to your sidebars.\r\n\r\nFor example, you can add a contact form, a custom login form, or a photo gallery to a sidebar without writing any code.\r\n\r\nHaving said that, let’s see how to easily create your own custom widgets in WordPress.\r\n

    Video Tutorial

    \r\n \r\n
    \r\n \r\n
    \r\n
    Subscribe to WPBeginner
    \r\n
    \r\n
    \r\n
    \r\nIf you don’t like the video or need more instructions, then continue reading.\r\n

    Creating a Custom Widget in WordPress

    \r\nBefore we get started, it would be best if you create a site-specific plugin where you will be pasting the widget code from this tutorial.\r\n\r\nYou can also paste the code in your theme’s functions.php file. However, it will only be available when that particular theme is active.\r\n\r\nIn this tutorial, we will create a simple widget that just greets visitors. Take a look at this code and then paste it in your site-specific plugin to see it in action.\r\n
    \r\n
    \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
    \r\n
    1
    \r\n
    2
    \r\n
    3
    \r\n
    4
    \r\n
    5
    \r\n
    6
    \r\n
    7
    \r\n
    8
    \r\n
    9
    \r\n
    10
    \r\n
    11
    \r\n
    12
    \r\n
    13
    \r\n
    14
    \r\n
    15
    \r\n
    16
    \r\n
    17
    \r\n
    18
    \r\n
    19
    \r\n
    20
    \r\n
    21
    \r\n
    22
    \r\n
    23
    \r\n
    24
    \r\n
    25
    \r\n
    26
    \r\n
    27
    \r\n
    28
    \r\n
    29
    \r\n
    30
    \r\n
    31
    \r\n
    32
    \r\n
    33
    \r\n
    34
    \r\n
    35
    \r\n
    36
    \r\n
    37
    \r\n
    38
    \r\n
    39
    \r\n
    40
    \r\n
    41
    \r\n
    42
    \r\n
    43
    \r\n
    44
    \r\n
    45
    \r\n
    46
    \r\n
    47
    \r\n
    48
    \r\n
    49
    \r\n
    50
    \r\n
    51
    \r\n
    52
    \r\n
    53
    \r\n
    54
    \r\n
    55
    \r\n
    56
    \r\n
    57
    \r\n
    58
    \r\n
    59
    \r\n
    60
    \r\n
    61
    \r\n
    62
    \r\n
    \r\n
    // Register and load the widget
    \r\n
    function wpb_load_widget() {
    \r\n
        register_widget( \'wpb_widget\' );
    \r\n
    }
    \r\n
    add_action( \'widgets_init\', \'wpb_load_widget\' );
    \r\n
    \r\n
    // Creating the widget
    \r\n
    class wpb_widget extends WP_Widget {
    \r\n
    \r\n
    function __construct() {
    \r\n
    parent::__construct(
    \r\n
    \r\n
    // Base ID of your widget
    \r\n
    \'wpb_widget\',
    \r\n
    \r\n
    // Widget name will appear in UI
    \r\n
    __(\'WPBeginner Widget\', \'wpb_widget_domain\'),
    \r\n
    \r\n
    // Widget description
    \r\n
    array( \'description\' => __( \'Sample widget based on WPBeginner Tutorial\', \'wpb_widget_domain\' ), )
    \r\n
    );
    \r\n
    }
    \r\n
    \r\n
    // Creating widget front-end
    \r\n
    \r\n
    public function widget( $args, $instance ) {
    \r\n
    $title = apply_filters( \'widget_title\', $instance[\'title\'] );
    \r\n
    \r\n
    // before and after widget arguments are defined by themes
    \r\n
    echo $args[\'before_widget\'];
    \r\n
    if ( ! empty( $title ) )
    \r\n
    echo $args[\'before_title\'] . $title . $args[\'after_title\'];
    \r\n
    \r\n
    // This is where you run the code and display the output
    \r\n
    echo __( \'Hello, World!\', \'wpb_widget_domain\' );
    \r\n
    echo $args[\'after_widget\'];
    \r\n
    }
    \r\n
            
    \r\n
    // Widget Backend
    \r\n
    public function form( $instance ) {
    \r\n
    if ( isset( $instance[ \'title\' ] ) ) {
    \r\n
    $title = $instance[ \'title\' ];
    \r\n
    }
    \r\n
    else {
    \r\n
    $title = __( \'New title\', \'wpb_widget_domain\' );
    \r\n
    }
    \r\n
    // Widget admin form
    \r\n
    ?>
    \r\n
    <p>
    \r\n
    <label for=\"<?php echo $this->get_field_id( \'title\' ); ?>\"><?php _e( \'Title:\' ); ?></label>
    \r\n
    <input class=\"widefat\" id=\"<?php echo $this->get_field_id( \'title\' ); ?>\" name=\"<?php echo $this->get_field_name( \'title\' ); ?>\" type=\"text\" value=\"<?php echo esc_attr( $title ); ?>\" />
    \r\n
    </p>
    \r\n
    <?php
    \r\n
    }
    \r\n
        
    \r\n
    // Updating widget replacing old instances with new
    \r\n
    public function update( $new_instance, $old_instance ) {
    \r\n
    $instance = array();
    \r\n
    $instance[\'title\'] = ( ! empty( $new_instance[\'title\'] ) ) ? strip_tags( $new_instance[\'title\'] ) : \'\';
    \r\n
    return $instance;
    \r\n
    }
    \r\n
    } // Class wpb_widget ends here
    \r\n
    \r\n
    \r\n
    \r\nAfter adding the code you need to head over to Appearance » Widgets page. You will notice the new WPBeginner Widget in the list of available widgets. You need to drag and drop this widget to a sidebar.\r\n\r\n\"Custom\r\n\r\nNow you can visit your website to see it in action.\r\n\r\n\"Previewing\r\n\r\nNow let’s study the code again.\r\n\r\nFirst we registered the ‘wpb_widget’ and loaded our custom widget. After that we defined what that widget does, and how to display the widget back-end.\r\n\r\nLastly, we defined how to handle changes made to the widget.\r\n\r\nNow there are a few things that you might want to ask. For example, what’s the purpose wpb_text_domain?\r\n\r\nWordPress uses gettext to handle translation and localization. This wpb_text_domain and __e tells gettext to make a string available for translation. See how you can find translation ready WordPress themes.\r\n\r\nIf you are creating a custom widget for your theme, then you can replace wpb_text_domain with your theme’s text domain.\r\n\r\nWe hope this article helped you learn how to easily create a custom WordPress widget. You may also want to see our list of the most useful WordPress widgets for your site.\r\n\r\n
    \r\n
    ','How to Create a Custom WordPress Widget','','publish','closed','closed','','how-to-create-a-custom-wordpress-widget','','','2017-12-23 22:43:37','2017-12-23 22:43:37','',0,'http://www.acctcrop.softwarewebdesign.com/?page_id=37',0,'page','',0),(38,1,'2017-12-23 22:43:37','2017-12-23 22:43:37','
    \r\n
    \r\n
    \r\n
    \r\n
    \"How
    \r\n
    \r\n
    \r\n\r\nDo you want to create your own custom widgets in WordPress? Widgets allow you to drag and drop elements into any sidebar or widget ready area of your website. In this article, we will show you how to easily create a custom WordPress widget.\r\n\r\n\"Creating\r\n

    What is a WordPress Widget?

    \r\nWordPress widgets contain pieces of code that you can add to your website’s sidebars or widget ready areas. Think of them as modules that you can use to add different elements by using a simple drag and drop interface.\r\n\r\nBy default, WordPress comes with a standard set of widgets that you can use with any WordPress theme. See our beginner’s guide on how to add and use widgets in WordPress.\r\n\r\n\"WordPress\r\n\r\nWordPress also allows developers to create their own custom widgets. Many WordPress themes and plugins come with their own custom widgets that you can add to your sidebars.\r\n\r\nFor example, you can add a contact form, a custom login form, or a photo gallery to a sidebar without writing any code.\r\n\r\nHaving said that, let’s see how to easily create your own custom widgets in WordPress.\r\n

    Video Tutorial

    \r\n \r\n
    \r\n \r\n
    \r\n
    Subscribe to WPBeginner
    \r\n
    \r\n
    \r\n
    \r\nIf you don’t like the video or need more instructions, then continue reading.\r\n

    Creating a Custom Widget in WordPress

    \r\nBefore we get started, it would be best if you create a site-specific plugin where you will be pasting the widget code from this tutorial.\r\n\r\nYou can also paste the code in your theme’s functions.php file. However, it will only be available when that particular theme is active.\r\n\r\nIn this tutorial, we will create a simple widget that just greets visitors. Take a look at this code and then paste it in your site-specific plugin to see it in action.\r\n
    \r\n
    \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
    \r\n
    1
    \r\n
    2
    \r\n
    3
    \r\n
    4
    \r\n
    5
    \r\n
    6
    \r\n
    7
    \r\n
    8
    \r\n
    9
    \r\n
    10
    \r\n
    11
    \r\n
    12
    \r\n
    13
    \r\n
    14
    \r\n
    15
    \r\n
    16
    \r\n
    17
    \r\n
    18
    \r\n
    19
    \r\n
    20
    \r\n
    21
    \r\n
    22
    \r\n
    23
    \r\n
    24
    \r\n
    25
    \r\n
    26
    \r\n
    27
    \r\n
    28
    \r\n
    29
    \r\n
    30
    \r\n
    31
    \r\n
    32
    \r\n
    33
    \r\n
    34
    \r\n
    35
    \r\n
    36
    \r\n
    37
    \r\n
    38
    \r\n
    39
    \r\n
    40
    \r\n
    41
    \r\n
    42
    \r\n
    43
    \r\n
    44
    \r\n
    45
    \r\n
    46
    \r\n
    47
    \r\n
    48
    \r\n
    49
    \r\n
    50
    \r\n
    51
    \r\n
    52
    \r\n
    53
    \r\n
    54
    \r\n
    55
    \r\n
    56
    \r\n
    57
    \r\n
    58
    \r\n
    59
    \r\n
    60
    \r\n
    61
    \r\n
    62
    \r\n
    \r\n
    // Register and load the widget
    \r\n
    function wpb_load_widget() {
    \r\n
        register_widget( \'wpb_widget\' );
    \r\n
    }
    \r\n
    add_action( \'widgets_init\', \'wpb_load_widget\' );
    \r\n
    \r\n
    // Creating the widget
    \r\n
    class wpb_widget extends WP_Widget {
    \r\n
    \r\n
    function __construct() {
    \r\n
    parent::__construct(
    \r\n
    \r\n
    // Base ID of your widget
    \r\n
    \'wpb_widget\',
    \r\n
    \r\n
    // Widget name will appear in UI
    \r\n
    __(\'WPBeginner Widget\', \'wpb_widget_domain\'),
    \r\n
    \r\n
    // Widget description
    \r\n
    array( \'description\' => __( \'Sample widget based on WPBeginner Tutorial\', \'wpb_widget_domain\' ), )
    \r\n
    );
    \r\n
    }
    \r\n
    \r\n
    // Creating widget front-end
    \r\n
    \r\n
    public function widget( $args, $instance ) {
    \r\n
    $title = apply_filters( \'widget_title\', $instance[\'title\'] );
    \r\n
    \r\n
    // before and after widget arguments are defined by themes
    \r\n
    echo $args[\'before_widget\'];
    \r\n
    if ( ! empty( $title ) )
    \r\n
    echo $args[\'before_title\'] . $title . $args[\'after_title\'];
    \r\n
    \r\n
    // This is where you run the code and display the output
    \r\n
    echo __( \'Hello, World!\', \'wpb_widget_domain\' );
    \r\n
    echo $args[\'after_widget\'];
    \r\n
    }
    \r\n
            
    \r\n
    // Widget Backend
    \r\n
    public function form( $instance ) {
    \r\n
    if ( isset( $instance[ \'title\' ] ) ) {
    \r\n
    $title = $instance[ \'title\' ];
    \r\n
    }
    \r\n
    else {
    \r\n
    $title = __( \'New title\', \'wpb_widget_domain\' );
    \r\n
    }
    \r\n
    // Widget admin form
    \r\n
    ?>
    \r\n
    <p>
    \r\n
    <label for=\"<?php echo $this->get_field_id( \'title\' ); ?>\"><?php _e( \'Title:\' ); ?></label>
    \r\n
    <input class=\"widefat\" id=\"<?php echo $this->get_field_id( \'title\' ); ?>\" name=\"<?php echo $this->get_field_name( \'title\' ); ?>\" type=\"text\" value=\"<?php echo esc_attr( $title ); ?>\" />
    \r\n
    </p>
    \r\n
    <?php
    \r\n
    }
    \r\n
        
    \r\n
    // Updating widget replacing old instances with new
    \r\n
    public function update( $new_instance, $old_instance ) {
    \r\n
    $instance = array();
    \r\n
    $instance[\'title\'] = ( ! empty( $new_instance[\'title\'] ) ) ? strip_tags( $new_instance[\'title\'] ) : \'\';
    \r\n
    return $instance;
    \r\n
    }
    \r\n
    } // Class wpb_widget ends here
    \r\n
    \r\n
    \r\n
    \r\nAfter adding the code you need to head over to Appearance » Widgets page. You will notice the new WPBeginner Widget in the list of available widgets. You need to drag and drop this widget to a sidebar.\r\n\r\n\"Custom\r\n\r\nNow you can visit your website to see it in action.\r\n\r\n\"Previewing\r\n\r\nNow let’s study the code again.\r\n\r\nFirst we registered the ‘wpb_widget’ and loaded our custom widget. After that we defined what that widget does, and how to display the widget back-end.\r\n\r\nLastly, we defined how to handle changes made to the widget.\r\n\r\nNow there are a few things that you might want to ask. For example, what’s the purpose wpb_text_domain?\r\n\r\nWordPress uses gettext to handle translation and localization. This wpb_text_domain and __e tells gettext to make a string available for translation. See how you can find translation ready WordPress themes.\r\n\r\nIf you are creating a custom widget for your theme, then you can replace wpb_text_domain with your theme’s text domain.\r\n\r\nWe hope this article helped you learn how to easily create a custom WordPress widget. You may also want to see our list of the most useful WordPress widgets for your site.\r\n\r\n
    \r\n
    ','How to Create a Custom WordPress Widget','','inherit','closed','closed','','37-revision-v1','','','2017-12-23 22:43:37','2017-12-23 22:43:37','',37,'http://www.acctcrop.softwarewebdesign.com/2017/12/23/37-revision-v1/',0,'revision','',0),(39,1,'2017-12-23 22:45:12','2017-12-23 22:45:12','','Tasks','','publish','closed','closed','','tasks','','','2023-12-22 03:02:20','2023-12-22 03:02:20','',0,'http://www.acctcrop.softwarewebdesign.com/?p=39',8,'nav_menu_item','',0),(40,1,'2017-12-23 22:45:12','2017-12-23 22:45:12',' ','','','publish','closed','closed','','40','','','2023-12-22 03:02:20','2023-12-22 03:02:20','',0,'http://www.acctcrop.softwarewebdesign.com/?p=40',10,'nav_menu_item','',0),(42,1,'2018-04-06 02:37:51','2018-04-06 02:37:51','','CONSTANTS','','publish','closed','closed','','constants','','','2023-12-22 03:02:20','2023-12-22 03:02:20','',0,'http://www.acctcrop.softwarewebdesign.com/?p=42',11,'nav_menu_item','',0),(43,1,'2018-04-06 02:38:40','2018-04-06 02:38:40','

    Function Reference/$post

    $post

    Contains data from the current post in The Loop.

    Properties

    ID
    (integer) The post ID.
    post_author
    (integer) The ID of the post author.
    post_date
    (string) The post date using the server\'s current timezone. Format: yyyy-mm-dd hh:mm:ss Example: 2011-05-19 13:51:21 (default Unix format \'F j, Y\')
    post_date_gmt
    (string) Same as above, but in GMT.
    post_content
    (string) The post content.
    post_title
    (string) The post\'s title.
    post_excerpt
    (string) The post\'s excerpt, if one is set.
    post_status
    (string) See get_post_status for possible values.
    comment_status
    (string) See wp_get_comment_status for possible values.
    ping_status
    (string) Values: \'open\' or \'closed\'.
    post_password
    (string) The post\'s password.
    post_name
    (string) The post\'s slug.
    to_ping
    (string) Addresses to be pinged.
    pinged
    (string) Addresses already pinged.
    post_modified
    (string) Date the post was last modified using server\'s timezone.
    post_modified_gmt
    (string) Same as above in GMT.
    post_content_filtered
    post_parent
    (integer) ID of the post\'s parent, if it has one.
    guid
    (string) A link to the post. This is not the permalink. To get the permalink use get_permalink.
    menu_order
    (integer) The value set in the \'Order\' field for pages.
    post_type
    (string) The post type.
    post_mime_type
    (string) Mime Type (for attachments, etc).
    comment_count
    (integer) The number of approved comments.
    ancestors
    (array) An array of the post\'s ancestors\' IDs (parent, parent\'s parent, etc). [0] = parent, [1] = grandparent, etc.
    filter
    (string)

    Usage

    <?phpglobal $post;echo $post->post_title;?>
    ','$post','','publish','closed','closed','','post','','','2018-04-06 02:38:40','2018-04-06 02:38:40','',0,'http://www.acctcrop.softwarewebdesign.com/?page_id=43',0,'page','',0),(44,1,'2018-04-06 02:38:40','2018-04-06 02:38:40','

    Function Reference/$post

    $post

    Contains data from the current post in The Loop.

    Properties

    ID
    (integer) The post ID.
    post_author
    (integer) The ID of the post author.
    post_date
    (string) The post date using the server\'s current timezone. Format: yyyy-mm-dd hh:mm:ss Example: 2011-05-19 13:51:21 (default Unix format \'F j, Y\')
    post_date_gmt
    (string) Same as above, but in GMT.
    post_content
    (string) The post content.
    post_title
    (string) The post\'s title.
    post_excerpt
    (string) The post\'s excerpt, if one is set.
    post_status
    (string) See get_post_status for possible values.
    comment_status
    (string) See wp_get_comment_status for possible values.
    ping_status
    (string) Values: \'open\' or \'closed\'.
    post_password
    (string) The post\'s password.
    post_name
    (string) The post\'s slug.
    to_ping
    (string) Addresses to be pinged.
    pinged
    (string) Addresses already pinged.
    post_modified
    (string) Date the post was last modified using server\'s timezone.
    post_modified_gmt
    (string) Same as above in GMT.
    post_content_filtered
    post_parent
    (integer) ID of the post\'s parent, if it has one.
    guid
    (string) A link to the post. This is not the permalink. To get the permalink use get_permalink.
    menu_order
    (integer) The value set in the \'Order\' field for pages.
    post_type
    (string) The post type.
    post_mime_type
    (string) Mime Type (for attachments, etc).
    comment_count
    (integer) The number of approved comments.
    ancestors
    (array) An array of the post\'s ancestors\' IDs (parent, parent\'s parent, etc). [0] = parent, [1] = grandparent, etc.
    filter
    (string)

    Usage

    <?phpglobal $post;echo $post->post_title;?>
    ','$post','','inherit','closed','closed','','43-revision-v1','','','2018-04-06 02:38:40','2018-04-06 02:38:40','',43,'http://www.acctcrop.softwarewebdesign.com/2018/04/06/43-revision-v1/',0,'revision','',0),(45,1,'2018-04-06 02:39:57','2018-04-06 02:39:57',' ','','','publish','closed','closed','','45','','','2023-12-22 03:02:20','2023-12-22 03:02:20','',0,'http://www.acctcrop.softwarewebdesign.com/?p=45',12,'nav_menu_item','',0),(46,1,'2018-04-06 02:47:26','2018-04-06 02:47:26','

    Class Reference/wpdb

    Languages: English • Italiano • 日本語 Русский • 中文(简体) • 中文(繁體) • 한국어 • (Add your language)

    Talking to the Database: The wpdb Class

    WordPress defines a class called wpdb, which contains a set of functions used to interact with a database. Its primary purpose is to provide an interface with the WordPress database, but can be used to communicate with any other appropriate database. The class source code is loosely based on the ezSQL class; written and maintained by Justin Vincent

    Using the $wpdb Object

    Warning: Methods in the wpdb() class should not be called directly. Use the global $wpdb object instead!

    WordPress provides a global object variable, $wpdb, which is an instantiation of the wpdb class defined in /wp-includes/wp-db.php. By default, $wpdb is instantiated to talk to the WordPress database. To access $wpdb in your WordPress PHP code, declare $wpdb as a global variable using the global keyword, or use the superglobal $GLOBALS in the following manner:

    // 1st Method - Declaring $wpdb as global and using it to execute an SQL query statement that returns a PHP objectglobal $wpdb;$results = $wpdb->get_results( \"SELECT * FROM {$wpdb->prefix}options WHERE option_id = 1\", OBJECT );// 2nd Method - Utilizing the $GLOBALS superglobal. Does not require global keyword ( but may not be best practice )$results = $GLOBALS[\'wpdb\']->get_results( \"SELECT * FROM {$wpdb->prefix}options WHERE option_id = 1\", OBJECT );

    The $wpdb object is not limited to the default tables created by WordPress; it can be used to read data from any table in the WordPress database (such as custom plugin tables). For example to SELECT some information from a custom table called \"mytable\", you can do the following.

    $myrows = $wpdb->get_results( \"SELECT id, name FROM mytable\" );

    The $wpdb object can talk to any number of tables, but only to one database at a time; by default the WordPress database. In the rare case you need to connect to another database, you will need to instantiate your own object from the wpdb class with your own database connection information. For extremely complicated setups with many databases, consider using hyperdb instead.

    A Warning

    Some of the functions in this class take an SQL statement as input. You must SQL escape all untrusted values you incorporate into the SQL query to prevent SQL injection attacks. Check the documentation to see if the function you plan to use escapes SQL for you or expects it to be pre-escaped.

    For more on SQL escaping in WordPress, see the section entitled Protect Queries Against SQL Injection Attacks below.

    SELECT a Variable

    The get_var function returns a single variable from the database. Though only one variable is returned, the entire result of the query is cached for later use. Returns NULL if no result is found.

     <?php $wpdb->get_var( \'query\', column_offset, row_offset ); ?> 

    query 
    (string) The query you wish to run. Setting this parameter to null will return the specified variable from the cached results of the previous query.
    column_offset 
    (integer) The desired column (0 being the first). Defaults to 0.
    row_offset 
    (integer) The desired row (0 being the first). Defaults to 0.

    Examples

    Retrieve and display the number of users.

    <?php$user_count = $wpdb->get_var( \"SELECT COUNT(*) FROM $wpdb->users\" );echo \"<p>User count is {$user_count}</p>\";?>

    Retrieve and display the sum of a Custom Field value.

    <?php// set the meta_key to the appropriate custom field meta key$meta_key = \'miles\';$allmiles = $wpdb->get_var( $wpdb->prepare(  \"  SELECT sum(meta_value)   FROM $wpdb->postmeta   WHERE meta_key = %s \",  $meta_key) );echo \"<p>Total miles is {$allmiles}</p>\";?> 

    SELECT a Row

    To retrieve an entire row from a query, use get_row. The function can return the row as an object, an associative array, or as a numerically indexed array. If more than one row is returned by the query, only the specified row is returned by the function, but all rows are cached for later use. Returns NULL if no result is found, consider this when using the returned value in arguments, see example below.

     <?php $wpdb->get_row(\'query\', output_type, row_offset); ?> 

    query 
    (string) The query you wish to run.
    output_type 
    One of three pre-defined constants. Defaults to OBJECT.
    • OBJECT - result will be output as an object.
    • ARRAY_A - result will be output as an associative array.
    • ARRAY_N - result will be output as a numerically indexed array.
    row_offset 
    (integer) The desired row (0 being the first). Defaults to 0.

    Examples

    Get all the information about Link 10.

    $mylink = $wpdb->get_row( \"SELECT * FROM $wpdb->links WHERE link_id = 10\" );

    The properties of the $mylink object are the column names of the result from the SQL query (in this example all the columns from the $wpdb->links table, but you could also query for specific columns only).

    echo $mylink->link_id; // prints \"10\"

    In contrast, using

    $mylink = $wpdb->get_row( \"SELECT * FROM $wpdb->links WHERE link_id = 10\", ARRAY_A );

    would result in an associative array:

    echo $mylink[\'link_id\']; // prints \"10\"

    and

    $mylink = $wpdb->get_row( \"SELECT * FROM $wpdb->links WHERE link_id = 10\", ARRAY_N );

    would result in a numerically indexed array:

    echo $mylink[1]; // prints \"10\"

    If there is no record with ID 10 in the links table, null will be returned. The following would then be false:

    if ( null !== $mylink ) {  // do something with the link   return true;} else {  // no link found  return false;}

    SELECT a Column

    To SELECT a column, use get_col. This function outputs a one dimensional array. If more than one column is returned by the query, only the specified column will be returned by the function, but the entire result is cached for later use. Returns an empty array if no result is found.

     <?php $wpdb->get_col( \'query\', column_offset ); ?> 

    query 
    (string) the query you wish to execute. Setting this parameter to null will return the specified column from the cached results of the previous query.
    column_offset 
    (integer) The desired column (0 being the first). Defaults to 0.

    Examples

    For this example, assume the blog is devoted to information about automobiles. Each post describes a particular car (e.g. 1969 Ford Mustang), and three Custom Fields, manufacturer, model, and year, are assigned to each post. This example will display the post titles, filtered by a particular manufacturer (Ford), and sorted by model and year.

    The get_col form of the wpdb Class is used to return an array of all the post ids meeting the criteria and sorted in the correct order. Then a foreach construct is used to iterate through that array of post ids, displaying the title of each post. Note that the SQL for this example was created by Andomar.

    <?php $meta_key1  = \'model\';$meta_key2  = \'year\';$meta_key3  = \'manufacturer\';$meta_key3_value = \'Ford\';$postids=$wpdb->get_col( $wpdb->prepare(  \" SELECT      key3.post_id FROM        $wpdb->postmeta key3 INNER JOIN  $wpdb->postmeta key1              ON key1.post_id = key3.post_id             AND key1.meta_key = %s  INNER JOIN  $wpdb->postmeta key2             ON key2.post_id = key3.post_id             AND key2.meta_key = %s WHERE       key3.meta_key = %s              AND key3.meta_value = %s ORDER BY    key1.meta_value, key2.meta_value \", $meta_key1,  $meta_key2,  $meta_key3,  $meta_key3_value) ); if ( $postids ) { echo \"List of {$meta_key3_value}(s), sorted by {$meta_key1}, {$meta_key2}\"; foreach ( $postids as $id )  {   $post = get_post( intval( $id ) );  setup_postdata( $post );  ?>  <p>   <a href=\"<?php the_permalink() ?>\" rel=\"bookmark\" title=\"Permanent Link to <?php the_title_attribute(); ?>\">    <?php the_title(); ?>   </a>  </p>  <?php } }?>

    This example lists all posts that contain a particular custom field, but sorted by the value of a second custom field.

    <?php// List all posts with custom field Color, sorted by the value of custom field Display_Order// does not exclude any \'post_type\'// assumes each post has just one custom field for Color, and one for Display_Order$meta_key1 = \'Color\';$meta_key2 = \'Display_Order\';$postids = $wpdb->get_col( $wpdb->prepare(  \" SELECT      key1.post_id FROM        $wpdb->postmeta key1 INNER JOIN  $wpdb->postmeta key2             ON key2.post_id = key1.post_id             AND key2.meta_key = %s WHERE       key1.meta_key = %s ORDER BY    key2.meta_value+(0) ASC \",        $meta_key2, $meta_key1) ); if ( $postids ) { echo \"List of {$meta_key1} posts, sorted by {$meta_key2}\"; foreach ( $postids as $id )  {  $post = get_post( intval( $id ) );  setup_postdata( $post );  ?>  <p>   <a href=\"<?php the_permalink() ?>\" rel=\"bookmark\" title=\"Permanent Link to <?php the_title_attribute(); ?>\">    <?php the_title(); ?>   </a>  </p>  <?php }}?>

    SELECT Generic Results

    Generic, multiple row results can be pulled from the database with get_results. The function returns the entire query result as an array. Each element of this array corresponds to one row of the query result and, like get_row, can be an object, an associative array, or a numbered array. If no matching rows are found, or if there is a database error, the return value will be an empty array. If your $query string is empty, or you pass an invalid $output_type, NULL will be returned.

     <?php $wpdb->get_results( \'query\', output_type ); ?> 

    query 
    (string) The query you wish to run.
    output_type 
    One of four pre-defined constants. Defaults to OBJECT. See SELECT a Row and its examples for more information.
    • OBJECT - result will be output as a numerically indexed array of row objects.
    • OBJECT_K - result will be output as an associative array of row objects, using first column\'s values as keys (duplicates will be discarded).
    • ARRAY_A - result will be output as a numerically indexed array of associative arrays, using column names as keys.
    • ARRAY_N - result will be output as a numerically indexed array of numerically indexed arrays.

    Since this function uses the $wpdb->query() function all the class variables are properly set. The results count for a \'SELECT\' query will be stored in $wpdb->num_rows.

    Examples

    Get the IDs and Titles of all the Drafts by User 5 and echo the Titles.

    $fivesdrafts = $wpdb->get_results(  \" SELECT ID, post_title  FROM $wpdb->posts WHERE post_status = \'draft\'   AND post_author = 5 \");foreach ( $fivesdrafts as $fivesdraft ) { echo $fivesdraft->post_title;}

    Get all information on the Drafts by User 5.

    <?php$fivesdrafts = $wpdb->get_results(  \" SELECT *  FROM $wpdb->posts WHERE post_status = \'draft\'   AND post_author = 5 \");if ( $fivesdrafts ){ foreach ( $fivesdrafts as $post ) {  setup_postdata( $post );  ?>  <h2>   <a href=\"<?php the_permalink(); ?>\" rel=\"bookmark\" title=\"Permalink: <?php the_title(); ?>\">    <?php the_title(); ?>   </a>  </h2>  <?php } }else{ ?> <h2>Not Found</h2> <?php}?>

    INSERT row

    Insert a row into a table.

     <?php $wpdb->insert( $table, $data, $format ); ?> 

    table 
    (string) The name of the table to insert data into.
    data 
    (array) Data to insert (in column => value pairs). Both $data columns and $data values should be \"raw\" (neither should be SQL escaped).
    format 
    (array|string) (optional) An array of formats to be mapped to each of the values in $data. If string, that format will be used for all of the values in $data. If omitted, all values in $data will be treated as strings unless otherwise specified in wpdb::$field_types.

    Possible format values: %s as string; %d as integer (whole number); and %f as float. (See below for more information.)

    After insert, the ID generated for the AUTO_INCREMENT column can be accessed with:

    $wpdb->insert_id

    This function returns false if the row could not be inserted. Otherwise, it returns the number of affected rows (which will always be 1).

    Please note: The value portion of the data parameter\'s column=>value pairs must be scalar. If you pass an array (or object) as a value to be inserted you will generate a warning similar to \"mysql_real_escape_string() expects parameter 1 to be string, array given on line 880 in file /var/www/html/wp-includes/wp-db.php\".

    Examples

    Insert two columns in a row, the first value being a string and the second a number:

    $wpdb->insert(  \'table\',  array(   \'column1\' => \'value1\',   \'column2\' => 123  ),  array(   \'%s\',   \'%d\'  ) );

    REPLACE row

    Replace a row in a table if it exists or insert a new row in a table if the row did not already exist.

     <?php $wpdb->replace( $table, $data, $format ); ?> 

    table 
    (string) The name of the table to replace data in.
    data 
    (array) Data to replace (in column => value pairs). Both $data columns and $data values should be \"raw\" (neither should be SQL escaped).
    format 
    (array|string) (optional) An array of formats to be mapped to each of the value in $data. If string, that format will be used for all of the values in $data. If omitted, all values in $data will be treated as strings unless otherwise specified in wpdb::$field_types.

    Possible format values: %s as string; %d as integer (whole number); and %f as float. (See below for more information.)

    If the length of a string element in the $data array parameter is longer that the defined length in the MySql database table, the insert will fail, this function will return false, but $wpdb->last_error will not be set to a descriptive message. You must ensure the data you wish to insert will fit in the database - do not assume the MySql will truncate the data.

    After replace, the ID generated for the AUTO_INCREMENT column can be accessed with:

    $wpdb->insert_id

    This function returns a count to indicate the number of rows affected. This is the sum of the rows deleted and inserted. If the count is 1 for a single-row REPLACE, a row was inserted and no rows were deleted. If the count is greater than 1, one or more old rows were deleted before the new row was inserted. It is possible for a single row to replace more than one old row if the table contains multiple unique indexes and the new row duplicates values for different old rows in different unique indexes.

    This function returns false if an existing row could not be replaced and a new row could not be inserted.

    Examples

    Replace a row, the first value being the row id, the second a string and the third a number:

    $wpdb->replace(  \'table\',  array(                 \'indexed_id\' => 1,  \'column1\' => \'value1\',   \'column2\' => 123  ),  array(                 \'%d\',  \'%s\',   \'%d\'  ) );

    UPDATE rows

    Update a row in the table. Returns false if errors, or the number of rows affected if successful.

     <?php $wpdb->update( $table, $data, $where, $format = null, $where_format = null ); ?> 

    table 
    (string) The name of the table to update.
    data 
    (array) Data to update (in column => value pairs). Both $data columns and $data values should be \"raw\" (neither should be SQL escaped). This means that if you are using GET or POST data you may need to use stripslashes() to avoid slashes ending up in the database.
    where 
    (array) A named array of WHERE clauses (in column => value pairs). Multiple clauses will be joined with ANDs. Both $where columns and $where values should be \"raw\".
    format 
    (array|string) (optional) An array of formats to be mapped to each of the values in $data. If string, that format will be used for all of the values in $data.
    where_format 
    (array|string) (optional) An array of formats to be mapped to each of the values in $where. If string, that format will be used for all of the items in $where.

    Possible format values: %s as string; %d as integer (whole number) and %f as float. (See below for more information.) If omitted, all values in $where will be treated as strings.

    Return values: This function returns the number of rows updated, or false if there is an error. Keep in mind that if the $data matches what is already in the database, no rows will be updated, so 0 will be returned. Because of this, you should probably check the return with false === $result

    Examples

    Update a row, where the ID is 1, the value in the first column is a string and the value in the second column is a number:

    $wpdb->update(  \'table\',  array(   \'column1\' => \'value1\', // string  \'column2\' => \'value2\' // integer (number)  ),  array( \'ID\' => 1 ),  array(   \'%s\', // value1  \'%d\' // value2 ),  array( \'%d\' ) );

    Attention: %d can\'t deal with comma values - if you\'re not using full numbers, use string/%s.

    DELETE Rows

    The delete function was added in WordPress 3.4.0, and can be used to delete rows from a table. The usage is very similar to update and insert. It returns the number of rows updated, or false on error.

    Usage

    <?php $wpdb->delete( $table, $where, $where_format = null ); ?>

    Parameters

    $table
    (string) (required) Table name.
    Default: None
    $where
    (array) (required) A named array of WHERE clauses (in column -> value pairs). Multiple clauses will be joined with ANDs. Both $where columns and $where values should be \'raw\'.
    Default: None
    $where_format
    (string/array) (optional) An array of formats to be mapped to each of the values in $where. If a string, that format will be used for all of the items in $where. A format is one of \'%d\', \'%f\', \'%s\' (integer, float, string; see below for more information). If omitted, all values in $where will be treated as strings unless otherwise specified in wpdb::$field_types.
    Default: null

    Examples

    // Default usage.$wpdb->delete( \'table\', array( \'ID\' => 1 ) );// Using where formatting.$wpdb->delete( \'table\', array( \'ID\' => 1 ), array( \'%d\' ) );

    Running General Queries

    The query function allows you to execute any SQL query on the WordPress database. It is best used when there is a need for specific, custom, or otherwise complex SQL queries. For more basic queries, such as selecting information from a table, see the other wpdb functions above such as get_results, get_var, get_row or get_col.

    General Syntax

     <?php $wpdb->query(\'query\'); ?> 

    query 
    (string) The SQL query you wish to execute.

    This function returns an integer value indicating the number of rows affected/selected for SELECT, INSERT, DELETE, UPDATE, etc. For CREATE, ALTER, TRUNCATE and DROP SQL statements, (which affect whole tables instead of specific rows) this function returns TRUE on success. If a MySQL error is encountered, the function will return FALSE. Note that since both 0 and FALSE may be returned for row queries, you should be careful when checking the return value. Use the identity operator (===) to check for errors (e.g., false === $result), and whether any rows were affected (e.g., 0 === $result).

    Examples

    Delete the \'gargle\' meta key and value from Post 13. (We\'ll add the \'prepare\' method to make sure we\'re not dealing with an illegal operation or any illegal characters):

    $wpdb->query(  $wpdb->prepare(   \"                DELETE FROM $wpdb->postmeta   WHERE post_id = %d   AND meta_key = %s  \",         13, \'gargle\'         ));

    Performed in WordPress by delete_post_meta().


    Set the parent of Page 15 to Page 7.

    $wpdb->query( $wpdb->prepare(  \" UPDATE $wpdb->posts  SET post_parent = %d WHERE ID = %d  AND post_status = %s \",        7, 15, \'static\') );

    Protect Queries Against SQL Injection Attacks

    For a more complete overview of SQL escaping in WordPress, see database Data Validation. It is a must-read for all WordPress code contributors and plugin authors.

    All data in SQL queries must be SQL-escaped before the SQL query is executed to prevent against SQL injection attacks. The prepare method performs this functionality for WordPress, which supports both a sprintf()-like and vsprintf()-like syntax.

    Please note: As of 3.5, wpdb::prepare() enforces a minimum of 2 arguments. [more info]

     <?php $sql = $wpdb->prepare( \'query\' , value_parameter[, value_parameter ... ] ); ?> 

    query 
    (string) The SQL query you wish to execute, with placeholders (see below).
    value_parameter 
    (int|string|array) The value to substitute into the placeholder. Many values may be passed by simply passing more arguments in a sprintf()-like fashion. Alternatively the second argument can be an array containing the values as in PHP\'s vsprintf() function. Care must be taken not to allow direct user input to this parameter, which would enable array manipulation of any query with multiple placeholders. Values cannot be SQL-escaped.

    Placeholders

    The query parameter for prepare accepts sprintf()-like placeholders. The %s (string), %d (integer) and %f (float) formats are supported. (The %s and %d placeholders have been available since the function was added to core in Version 2.3, %f has only been available since Version 3.3.) Any other % characters may cause parsing errors unless they are escaped. All % characters inside SQL string literals, including LIKE wildcards, must be double-% escaped as %%. All of %d, %f, and %s are to be left unquoted in the query string. Note that the %d placeholder only accepts integers, so you can\'t pass numbers that have comma values via %d. If you need comma values, use %f as float instead.

    Examples

    Add Meta key => value pair \"Harriet\'s Adages\" => \"WordPress\' database interface is like Sunday Morning: Easy.\" to Post 10.

    $metakey = \"Harriet\'s Adages\";$metavalue = \"WordPress\' database interface is like Sunday Morning: Easy.\";$wpdb->query( $wpdb->prepare(  \"  INSERT INTO $wpdb->postmeta  ( post_id, meta_key, meta_value )  VALUES ( %d, %s, %s ) \",         10,  $metakey,  $metavalue ) );

    Performed in WordPress by add_meta().

    The same query using vsprintf()-like syntax.

    $metakey = \"Harriet\'s Adages\";$metavalue = \"WordPress\' database interface is like Sunday Morning: Easy.\";$wpdb->query( $wpdb->prepare(  \"  INSERT INTO $wpdb->postmeta  ( post_id, meta_key, meta_value )  VALUES ( %d, %s, %s ) \",         array(  10,   $metakey,   $metavalue ) ) );

    Note that in this example we pack the values together in an array. This can be useful when we don\'t know the number of arguments we need to pass until runtime.

    Notice that you do not have to worry about quoting strings. Instead of passing the variables directly into the SQL query, use a %s placeholder for strings, a %d placedolder for integers, and a %f as a placeholder for floats. You can pass as many values as you like, each as a new parameter in the prepare() method.

    Show and Hide SQL Errors

    You can turn error echoing on and off with the show_errors and hide_errors, respectively.

     <?php $wpdb->show_errors(); ?> 
     <?php $wpdb->hide_errors(); ?> 

    You can also print the error (if any) generated by the most recent query with print_error.

     <?php $wpdb->print_error(); ?> 

    Note: If you are running WordPress Multisite, you must define the DIEONDBERROR constant for database errors to display like so:
     <?php define( \'DIEONDBERROR\', true ); ?> 

    Getting Column Information

    You can retrieve information about the columns of the most recent query result with get_col_info. This can be useful when a function has returned an OBJECT whose properties you don\'t know. The function will output the desired information from the specified column, or an array with information on all columns from the query result if no column is specified.

     <?php $wpdb->get_col_info(\'type\', offset); ?> 

    type 
    (string) What information you wish to retrieve. May take on any of the following values (list taken from the ezSQL docs). Defaults to name.
    • name - column name. Default.
    • table - name of the table the column belongs to
    • max_length - maximum length of the column
    • not_null - 1 if the column cannot be NULL
    • primary_key - 1 if the column is a primary key
    • unique_key - 1 if the column is a unique key
    • multiple_key - 1 if the column is a non-unique key
    • numeric - 1 if the column is numeric
    • blob - 1 if the column is a BLOB
    • type - the type of the column
    • unsigned - 1 if the column is unsigned
    • zerofill - 1 if the column is zero-filled
    offset 
    (integer) Specify the column from which to retrieve information (with 0 being the first column). Defaults to -1.
    • -1 - Retrieve information from all columns. Output as array. Default.
    • Non-negative integer - Retrieve information from specified column (0 being the first).

    Clearing the Cache

    You can clear the SQL result cache with flush.

     <?php $wpdb->flush(); ?> 

    This clears $wpdb->last_result, $wpdb->last_query, and $wpdb->col_info.

    Class Variables

    $show_errors 
    Whether or not Error echoing is turned on. Defaults to TRUE.
    $num_queries 
    The number of queries that have been executed.
    $last_query 
    The most recent query to have been executed.
    $last_error 
    The most recent error text generated by MySQL.
    $queries 
    You may save all of the queries run on the database and their stop times by setting the SAVEQUERIES constant to TRUE (this constant defaults to FALSE). If SAVEQUERIES is TRUE, your queries will be stored in this variable as an array.
    $last_result 
    The most recent query results.
    $col_info 
    The column information for the most recent query results. See Getting Column Information.
    $insert_id 
    ID generated for an AUTO_INCREMENT column by the most recent INSERT query.
    $num_rows 
    The number of rows returned by the last query.
    $prefix 
    The assigned WordPress table prefix for the site.
    $base_prefix 
    The original prefix as defined in wp-config.php. For multi-site: Use if you want to get the prefix without the blog number appended.

    Multi-Site Variables

    If you are using Multi-Site, you also have access to the following:

    $blogid 
    The id of the current site (blog).
    $siteid 
    The id of the current network (formerly \"site\"). WordPress currently only supports one network per multi-site install, but that could change in future. See the following for more information:

    Tables

    The WordPress database tables are easily referenced in the wpdb class.

    $posts 
    The table of Posts.
    $postmeta 
    The Meta Content (a.k.a. Custom Fields) table.
    $comments 
    The Comments table.
    $commentmeta 
    The table contains additional comment information.
    $termmeta 
    The termmeta table contains the term meta values.
    $terms 
    The terms table contains the \'description\' of Categories, Link Categories, Tags.
    $term_taxonomy 
    The term_taxonomy table describes the various taxonomies (classes of terms). Categories, Link Categories, and Tags are taxonomies.
    $term_relationships 
    The term relationships table contains link between the term and the object that uses that term, meaning this file point to each Category used for each Post.
    $users 
    The table of Users.
    $usermeta 
    The usermeta table contains additional user information, such as nicknames, descriptions and permissions.
    $links 
    The table of Links.
    $options 
    The Options table.

    Multisite Tables

    These tables are used only in multisite installations.

    $blogs 
    The Blogs table contains a list of the separate blogs (sites) that have been set up within the network(s).
    $signups 
    The Signups table.
    $site 
    The Site table contains a list of the networks (previously known as \"sites\" in WPMU) that are set up in the installation (usually there is only one site listed in this table).
    $sitemeta 
    The Network Options (Site Meta) table contains any options that are applicable to the entire multisite installation.
    $sitecategories 
    The Site Categories table.
    $registration_log 
    The Registration Log table.
    $blog_versions 
    The Blog Versions table.

    Source File

    wpdb() is located in wp-includes/wp-db.php.

    ','wpdb','','publish','closed','closed','','wpdb','','','2018-04-06 02:47:26','2018-04-06 02:47:26','',0,'http://www.acctcrop.softwarewebdesign.com/?page_id=46',0,'page','',0),(47,1,'2018-04-06 02:47:26','2018-04-06 02:47:26','

    Class Reference/wpdb

    Languages: English • Italiano • 日本語 Русский • 中文(简体) • 中文(繁體) • 한국어 • (Add your language)

    Talking to the Database: The wpdb Class

    WordPress defines a class called wpdb, which contains a set of functions used to interact with a database. Its primary purpose is to provide an interface with the WordPress database, but can be used to communicate with any other appropriate database. The class source code is loosely based on the ezSQL class; written and maintained by Justin Vincent

    Using the $wpdb Object

    Warning: Methods in the wpdb() class should not be called directly. Use the global $wpdb object instead!

    WordPress provides a global object variable, $wpdb, which is an instantiation of the wpdb class defined in /wp-includes/wp-db.php. By default, $wpdb is instantiated to talk to the WordPress database. To access $wpdb in your WordPress PHP code, declare $wpdb as a global variable using the global keyword, or use the superglobal $GLOBALS in the following manner:

    // 1st Method - Declaring $wpdb as global and using it to execute an SQL query statement that returns a PHP objectglobal $wpdb;$results = $wpdb->get_results( \"SELECT * FROM {$wpdb->prefix}options WHERE option_id = 1\", OBJECT );// 2nd Method - Utilizing the $GLOBALS superglobal. Does not require global keyword ( but may not be best practice )$results = $GLOBALS[\'wpdb\']->get_results( \"SELECT * FROM {$wpdb->prefix}options WHERE option_id = 1\", OBJECT );

    The $wpdb object is not limited to the default tables created by WordPress; it can be used to read data from any table in the WordPress database (such as custom plugin tables). For example to SELECT some information from a custom table called \"mytable\", you can do the following.

    $myrows = $wpdb->get_results( \"SELECT id, name FROM mytable\" );

    The $wpdb object can talk to any number of tables, but only to one database at a time; by default the WordPress database. In the rare case you need to connect to another database, you will need to instantiate your own object from the wpdb class with your own database connection information. For extremely complicated setups with many databases, consider using hyperdb instead.

    A Warning

    Some of the functions in this class take an SQL statement as input. You must SQL escape all untrusted values you incorporate into the SQL query to prevent SQL injection attacks. Check the documentation to see if the function you plan to use escapes SQL for you or expects it to be pre-escaped.

    For more on SQL escaping in WordPress, see the section entitled Protect Queries Against SQL Injection Attacks below.

    SELECT a Variable

    The get_var function returns a single variable from the database. Though only one variable is returned, the entire result of the query is cached for later use. Returns NULL if no result is found.

     <?php $wpdb->get_var( \'query\', column_offset, row_offset ); ?> 

    query 
    (string) The query you wish to run. Setting this parameter to null will return the specified variable from the cached results of the previous query.
    column_offset 
    (integer) The desired column (0 being the first). Defaults to 0.
    row_offset 
    (integer) The desired row (0 being the first). Defaults to 0.

    Examples

    Retrieve and display the number of users.

    <?php$user_count = $wpdb->get_var( \"SELECT COUNT(*) FROM $wpdb->users\" );echo \"<p>User count is {$user_count}</p>\";?>

    Retrieve and display the sum of a Custom Field value.

    <?php// set the meta_key to the appropriate custom field meta key$meta_key = \'miles\';$allmiles = $wpdb->get_var( $wpdb->prepare(  \"  SELECT sum(meta_value)   FROM $wpdb->postmeta   WHERE meta_key = %s \",  $meta_key) );echo \"<p>Total miles is {$allmiles}</p>\";?> 

    SELECT a Row

    To retrieve an entire row from a query, use get_row. The function can return the row as an object, an associative array, or as a numerically indexed array. If more than one row is returned by the query, only the specified row is returned by the function, but all rows are cached for later use. Returns NULL if no result is found, consider this when using the returned value in arguments, see example below.

     <?php $wpdb->get_row(\'query\', output_type, row_offset); ?> 

    query 
    (string) The query you wish to run.
    output_type 
    One of three pre-defined constants. Defaults to OBJECT.
    • OBJECT - result will be output as an object.
    • ARRAY_A - result will be output as an associative array.
    • ARRAY_N - result will be output as a numerically indexed array.
    row_offset 
    (integer) The desired row (0 being the first). Defaults to 0.

    Examples

    Get all the information about Link 10.

    $mylink = $wpdb->get_row( \"SELECT * FROM $wpdb->links WHERE link_id = 10\" );

    The properties of the $mylink object are the column names of the result from the SQL query (in this example all the columns from the $wpdb->links table, but you could also query for specific columns only).

    echo $mylink->link_id; // prints \"10\"

    In contrast, using

    $mylink = $wpdb->get_row( \"SELECT * FROM $wpdb->links WHERE link_id = 10\", ARRAY_A );

    would result in an associative array:

    echo $mylink[\'link_id\']; // prints \"10\"

    and

    $mylink = $wpdb->get_row( \"SELECT * FROM $wpdb->links WHERE link_id = 10\", ARRAY_N );

    would result in a numerically indexed array:

    echo $mylink[1]; // prints \"10\"

    If there is no record with ID 10 in the links table, null will be returned. The following would then be false:

    if ( null !== $mylink ) {  // do something with the link   return true;} else {  // no link found  return false;}

    SELECT a Column

    To SELECT a column, use get_col. This function outputs a one dimensional array. If more than one column is returned by the query, only the specified column will be returned by the function, but the entire result is cached for later use. Returns an empty array if no result is found.

     <?php $wpdb->get_col( \'query\', column_offset ); ?> 

    query 
    (string) the query you wish to execute. Setting this parameter to null will return the specified column from the cached results of the previous query.
    column_offset 
    (integer) The desired column (0 being the first). Defaults to 0.

    Examples

    For this example, assume the blog is devoted to information about automobiles. Each post describes a particular car (e.g. 1969 Ford Mustang), and three Custom Fields, manufacturer, model, and year, are assigned to each post. This example will display the post titles, filtered by a particular manufacturer (Ford), and sorted by model and year.

    The get_col form of the wpdb Class is used to return an array of all the post ids meeting the criteria and sorted in the correct order. Then a foreach construct is used to iterate through that array of post ids, displaying the title of each post. Note that the SQL for this example was created by Andomar.

    <?php $meta_key1  = \'model\';$meta_key2  = \'year\';$meta_key3  = \'manufacturer\';$meta_key3_value = \'Ford\';$postids=$wpdb->get_col( $wpdb->prepare(  \" SELECT      key3.post_id FROM        $wpdb->postmeta key3 INNER JOIN  $wpdb->postmeta key1              ON key1.post_id = key3.post_id             AND key1.meta_key = %s  INNER JOIN  $wpdb->postmeta key2             ON key2.post_id = key3.post_id             AND key2.meta_key = %s WHERE       key3.meta_key = %s              AND key3.meta_value = %s ORDER BY    key1.meta_value, key2.meta_value \", $meta_key1,  $meta_key2,  $meta_key3,  $meta_key3_value) ); if ( $postids ) { echo \"List of {$meta_key3_value}(s), sorted by {$meta_key1}, {$meta_key2}\"; foreach ( $postids as $id )  {   $post = get_post( intval( $id ) );  setup_postdata( $post );  ?>  <p>   <a href=\"<?php the_permalink() ?>\" rel=\"bookmark\" title=\"Permanent Link to <?php the_title_attribute(); ?>\">    <?php the_title(); ?>   </a>  </p>  <?php } }?>

    This example lists all posts that contain a particular custom field, but sorted by the value of a second custom field.

    <?php// List all posts with custom field Color, sorted by the value of custom field Display_Order// does not exclude any \'post_type\'// assumes each post has just one custom field for Color, and one for Display_Order$meta_key1 = \'Color\';$meta_key2 = \'Display_Order\';$postids = $wpdb->get_col( $wpdb->prepare(  \" SELECT      key1.post_id FROM        $wpdb->postmeta key1 INNER JOIN  $wpdb->postmeta key2             ON key2.post_id = key1.post_id             AND key2.meta_key = %s WHERE       key1.meta_key = %s ORDER BY    key2.meta_value+(0) ASC \",        $meta_key2, $meta_key1) ); if ( $postids ) { echo \"List of {$meta_key1} posts, sorted by {$meta_key2}\"; foreach ( $postids as $id )  {  $post = get_post( intval( $id ) );  setup_postdata( $post );  ?>  <p>   <a href=\"<?php the_permalink() ?>\" rel=\"bookmark\" title=\"Permanent Link to <?php the_title_attribute(); ?>\">    <?php the_title(); ?>   </a>  </p>  <?php }}?>

    SELECT Generic Results

    Generic, multiple row results can be pulled from the database with get_results. The function returns the entire query result as an array. Each element of this array corresponds to one row of the query result and, like get_row, can be an object, an associative array, or a numbered array. If no matching rows are found, or if there is a database error, the return value will be an empty array. If your $query string is empty, or you pass an invalid $output_type, NULL will be returned.

     <?php $wpdb->get_results( \'query\', output_type ); ?> 

    query 
    (string) The query you wish to run.
    output_type 
    One of four pre-defined constants. Defaults to OBJECT. See SELECT a Row and its examples for more information.
    • OBJECT - result will be output as a numerically indexed array of row objects.
    • OBJECT_K - result will be output as an associative array of row objects, using first column\'s values as keys (duplicates will be discarded).
    • ARRAY_A - result will be output as a numerically indexed array of associative arrays, using column names as keys.
    • ARRAY_N - result will be output as a numerically indexed array of numerically indexed arrays.

    Since this function uses the $wpdb->query() function all the class variables are properly set. The results count for a \'SELECT\' query will be stored in $wpdb->num_rows.

    Examples

    Get the IDs and Titles of all the Drafts by User 5 and echo the Titles.

    $fivesdrafts = $wpdb->get_results(  \" SELECT ID, post_title  FROM $wpdb->posts WHERE post_status = \'draft\'   AND post_author = 5 \");foreach ( $fivesdrafts as $fivesdraft ) { echo $fivesdraft->post_title;}

    Get all information on the Drafts by User 5.

    <?php$fivesdrafts = $wpdb->get_results(  \" SELECT *  FROM $wpdb->posts WHERE post_status = \'draft\'   AND post_author = 5 \");if ( $fivesdrafts ){ foreach ( $fivesdrafts as $post ) {  setup_postdata( $post );  ?>  <h2>   <a href=\"<?php the_permalink(); ?>\" rel=\"bookmark\" title=\"Permalink: <?php the_title(); ?>\">    <?php the_title(); ?>   </a>  </h2>  <?php } }else{ ?> <h2>Not Found</h2> <?php}?>

    INSERT row

    Insert a row into a table.

     <?php $wpdb->insert( $table, $data, $format ); ?> 

    table 
    (string) The name of the table to insert data into.
    data 
    (array) Data to insert (in column => value pairs). Both $data columns and $data values should be \"raw\" (neither should be SQL escaped).
    format 
    (array|string) (optional) An array of formats to be mapped to each of the values in $data. If string, that format will be used for all of the values in $data. If omitted, all values in $data will be treated as strings unless otherwise specified in wpdb::$field_types.

    Possible format values: %s as string; %d as integer (whole number); and %f as float. (See below for more information.)

    After insert, the ID generated for the AUTO_INCREMENT column can be accessed with:

    $wpdb->insert_id

    This function returns false if the row could not be inserted. Otherwise, it returns the number of affected rows (which will always be 1).

    Please note: The value portion of the data parameter\'s column=>value pairs must be scalar. If you pass an array (or object) as a value to be inserted you will generate a warning similar to \"mysql_real_escape_string() expects parameter 1 to be string, array given on line 880 in file /var/www/html/wp-includes/wp-db.php\".

    Examples

    Insert two columns in a row, the first value being a string and the second a number:

    $wpdb->insert(  \'table\',  array(   \'column1\' => \'value1\',   \'column2\' => 123  ),  array(   \'%s\',   \'%d\'  ) );

    REPLACE row

    Replace a row in a table if it exists or insert a new row in a table if the row did not already exist.

     <?php $wpdb->replace( $table, $data, $format ); ?> 

    table 
    (string) The name of the table to replace data in.
    data 
    (array) Data to replace (in column => value pairs). Both $data columns and $data values should be \"raw\" (neither should be SQL escaped).
    format 
    (array|string) (optional) An array of formats to be mapped to each of the value in $data. If string, that format will be used for all of the values in $data. If omitted, all values in $data will be treated as strings unless otherwise specified in wpdb::$field_types.

    Possible format values: %s as string; %d as integer (whole number); and %f as float. (See below for more information.)

    If the length of a string element in the $data array parameter is longer that the defined length in the MySql database table, the insert will fail, this function will return false, but $wpdb->last_error will not be set to a descriptive message. You must ensure the data you wish to insert will fit in the database - do not assume the MySql will truncate the data.

    After replace, the ID generated for the AUTO_INCREMENT column can be accessed with:

    $wpdb->insert_id

    This function returns a count to indicate the number of rows affected. This is the sum of the rows deleted and inserted. If the count is 1 for a single-row REPLACE, a row was inserted and no rows were deleted. If the count is greater than 1, one or more old rows were deleted before the new row was inserted. It is possible for a single row to replace more than one old row if the table contains multiple unique indexes and the new row duplicates values for different old rows in different unique indexes.

    This function returns false if an existing row could not be replaced and a new row could not be inserted.

    Examples

    Replace a row, the first value being the row id, the second a string and the third a number:

    $wpdb->replace(  \'table\',  array(                 \'indexed_id\' => 1,  \'column1\' => \'value1\',   \'column2\' => 123  ),  array(                 \'%d\',  \'%s\',   \'%d\'  ) );

    UPDATE rows

    Update a row in the table. Returns false if errors, or the number of rows affected if successful.

     <?php $wpdb->update( $table, $data, $where, $format = null, $where_format = null ); ?> 

    table 
    (string) The name of the table to update.
    data 
    (array) Data to update (in column => value pairs). Both $data columns and $data values should be \"raw\" (neither should be SQL escaped). This means that if you are using GET or POST data you may need to use stripslashes() to avoid slashes ending up in the database.
    where 
    (array) A named array of WHERE clauses (in column => value pairs). Multiple clauses will be joined with ANDs. Both $where columns and $where values should be \"raw\".
    format 
    (array|string) (optional) An array of formats to be mapped to each of the values in $data. If string, that format will be used for all of the values in $data.
    where_format 
    (array|string) (optional) An array of formats to be mapped to each of the values in $where. If string, that format will be used for all of the items in $where.

    Possible format values: %s as string; %d as integer (whole number) and %f as float. (See below for more information.) If omitted, all values in $where will be treated as strings.

    Return values: This function returns the number of rows updated, or false if there is an error. Keep in mind that if the $data matches what is already in the database, no rows will be updated, so 0 will be returned. Because of this, you should probably check the return with false === $result

    Examples

    Update a row, where the ID is 1, the value in the first column is a string and the value in the second column is a number:

    $wpdb->update(  \'table\',  array(   \'column1\' => \'value1\', // string  \'column2\' => \'value2\' // integer (number)  ),  array( \'ID\' => 1 ),  array(   \'%s\', // value1  \'%d\' // value2 ),  array( \'%d\' ) );

    Attention: %d can\'t deal with comma values - if you\'re not using full numbers, use string/%s.

    DELETE Rows

    The delete function was added in WordPress 3.4.0, and can be used to delete rows from a table. The usage is very similar to update and insert. It returns the number of rows updated, or false on error.

    Usage

    <?php $wpdb->delete( $table, $where, $where_format = null ); ?>

    Parameters

    $table
    (string) (required) Table name.
    Default: None
    $where
    (array) (required) A named array of WHERE clauses (in column -> value pairs). Multiple clauses will be joined with ANDs. Both $where columns and $where values should be \'raw\'.
    Default: None
    $where_format
    (string/array) (optional) An array of formats to be mapped to each of the values in $where. If a string, that format will be used for all of the items in $where. A format is one of \'%d\', \'%f\', \'%s\' (integer, float, string; see below for more information). If omitted, all values in $where will be treated as strings unless otherwise specified in wpdb::$field_types.
    Default: null

    Examples

    // Default usage.$wpdb->delete( \'table\', array( \'ID\' => 1 ) );// Using where formatting.$wpdb->delete( \'table\', array( \'ID\' => 1 ), array( \'%d\' ) );

    Running General Queries

    The query function allows you to execute any SQL query on the WordPress database. It is best used when there is a need for specific, custom, or otherwise complex SQL queries. For more basic queries, such as selecting information from a table, see the other wpdb functions above such as get_results, get_var, get_row or get_col.

    General Syntax

     <?php $wpdb->query(\'query\'); ?> 

    query 
    (string) The SQL query you wish to execute.

    This function returns an integer value indicating the number of rows affected/selected for SELECT, INSERT, DELETE, UPDATE, etc. For CREATE, ALTER, TRUNCATE and DROP SQL statements, (which affect whole tables instead of specific rows) this function returns TRUE on success. If a MySQL error is encountered, the function will return FALSE. Note that since both 0 and FALSE may be returned for row queries, you should be careful when checking the return value. Use the identity operator (===) to check for errors (e.g., false === $result), and whether any rows were affected (e.g., 0 === $result).

    Examples

    Delete the \'gargle\' meta key and value from Post 13. (We\'ll add the \'prepare\' method to make sure we\'re not dealing with an illegal operation or any illegal characters):

    $wpdb->query(  $wpdb->prepare(   \"                DELETE FROM $wpdb->postmeta   WHERE post_id = %d   AND meta_key = %s  \",         13, \'gargle\'         ));

    Performed in WordPress by delete_post_meta().


    Set the parent of Page 15 to Page 7.

    $wpdb->query( $wpdb->prepare(  \" UPDATE $wpdb->posts  SET post_parent = %d WHERE ID = %d  AND post_status = %s \",        7, 15, \'static\') );

    Protect Queries Against SQL Injection Attacks

    For a more complete overview of SQL escaping in WordPress, see database Data Validation. It is a must-read for all WordPress code contributors and plugin authors.

    All data in SQL queries must be SQL-escaped before the SQL query is executed to prevent against SQL injection attacks. The prepare method performs this functionality for WordPress, which supports both a sprintf()-like and vsprintf()-like syntax.

    Please note: As of 3.5, wpdb::prepare() enforces a minimum of 2 arguments. [more info]

     <?php $sql = $wpdb->prepare( \'query\' , value_parameter[, value_parameter ... ] ); ?> 

    query 
    (string) The SQL query you wish to execute, with placeholders (see below).
    value_parameter 
    (int|string|array) The value to substitute into the placeholder. Many values may be passed by simply passing more arguments in a sprintf()-like fashion. Alternatively the second argument can be an array containing the values as in PHP\'s vsprintf() function. Care must be taken not to allow direct user input to this parameter, which would enable array manipulation of any query with multiple placeholders. Values cannot be SQL-escaped.

    Placeholders

    The query parameter for prepare accepts sprintf()-like placeholders. The %s (string), %d (integer) and %f (float) formats are supported. (The %s and %d placeholders have been available since the function was added to core in Version 2.3, %f has only been available since Version 3.3.) Any other % characters may cause parsing errors unless they are escaped. All % characters inside SQL string literals, including LIKE wildcards, must be double-% escaped as %%. All of %d, %f, and %s are to be left unquoted in the query string. Note that the %d placeholder only accepts integers, so you can\'t pass numbers that have comma values via %d. If you need comma values, use %f as float instead.

    Examples

    Add Meta key => value pair \"Harriet\'s Adages\" => \"WordPress\' database interface is like Sunday Morning: Easy.\" to Post 10.

    $metakey = \"Harriet\'s Adages\";$metavalue = \"WordPress\' database interface is like Sunday Morning: Easy.\";$wpdb->query( $wpdb->prepare(  \"  INSERT INTO $wpdb->postmeta  ( post_id, meta_key, meta_value )  VALUES ( %d, %s, %s ) \",         10,  $metakey,  $metavalue ) );

    Performed in WordPress by add_meta().

    The same query using vsprintf()-like syntax.

    $metakey = \"Harriet\'s Adages\";$metavalue = \"WordPress\' database interface is like Sunday Morning: Easy.\";$wpdb->query( $wpdb->prepare(  \"  INSERT INTO $wpdb->postmeta  ( post_id, meta_key, meta_value )  VALUES ( %d, %s, %s ) \",         array(  10,   $metakey,   $metavalue ) ) );

    Note that in this example we pack the values together in an array. This can be useful when we don\'t know the number of arguments we need to pass until runtime.

    Notice that you do not have to worry about quoting strings. Instead of passing the variables directly into the SQL query, use a %s placeholder for strings, a %d placedolder for integers, and a %f as a placeholder for floats. You can pass as many values as you like, each as a new parameter in the prepare() method.

    Show and Hide SQL Errors

    You can turn error echoing on and off with the show_errors and hide_errors, respectively.

     <?php $wpdb->show_errors(); ?> 
     <?php $wpdb->hide_errors(); ?> 

    You can also print the error (if any) generated by the most recent query with print_error.

     <?php $wpdb->print_error(); ?> 

    Note: If you are running WordPress Multisite, you must define the DIEONDBERROR constant for database errors to display like so:
     <?php define( \'DIEONDBERROR\', true ); ?> 

    Getting Column Information

    You can retrieve information about the columns of the most recent query result with get_col_info. This can be useful when a function has returned an OBJECT whose properties you don\'t know. The function will output the desired information from the specified column, or an array with information on all columns from the query result if no column is specified.

     <?php $wpdb->get_col_info(\'type\', offset); ?> 

    type 
    (string) What information you wish to retrieve. May take on any of the following values (list taken from the ezSQL docs). Defaults to name.
    • name - column name. Default.
    • table - name of the table the column belongs to
    • max_length - maximum length of the column
    • not_null - 1 if the column cannot be NULL
    • primary_key - 1 if the column is a primary key
    • unique_key - 1 if the column is a unique key
    • multiple_key - 1 if the column is a non-unique key
    • numeric - 1 if the column is numeric
    • blob - 1 if the column is a BLOB
    • type - the type of the column
    • unsigned - 1 if the column is unsigned
    • zerofill - 1 if the column is zero-filled
    offset 
    (integer) Specify the column from which to retrieve information (with 0 being the first column). Defaults to -1.
    • -1 - Retrieve information from all columns. Output as array. Default.
    • Non-negative integer - Retrieve information from specified column (0 being the first).

    Clearing the Cache

    You can clear the SQL result cache with flush.

     <?php $wpdb->flush(); ?> 

    This clears $wpdb->last_result, $wpdb->last_query, and $wpdb->col_info.

    Class Variables

    $show_errors 
    Whether or not Error echoing is turned on. Defaults to TRUE.
    $num_queries 
    The number of queries that have been executed.
    $last_query 
    The most recent query to have been executed.
    $last_error 
    The most recent error text generated by MySQL.
    $queries 
    You may save all of the queries run on the database and their stop times by setting the SAVEQUERIES constant to TRUE (this constant defaults to FALSE). If SAVEQUERIES is TRUE, your queries will be stored in this variable as an array.
    $last_result 
    The most recent query results.
    $col_info 
    The column information for the most recent query results. See Getting Column Information.
    $insert_id 
    ID generated for an AUTO_INCREMENT column by the most recent INSERT query.
    $num_rows 
    The number of rows returned by the last query.
    $prefix 
    The assigned WordPress table prefix for the site.
    $base_prefix 
    The original prefix as defined in wp-config.php. For multi-site: Use if you want to get the prefix without the blog number appended.

    Multi-Site Variables

    If you are using Multi-Site, you also have access to the following:

    $blogid 
    The id of the current site (blog).
    $siteid 
    The id of the current network (formerly \"site\"). WordPress currently only supports one network per multi-site install, but that could change in future. See the following for more information:

    Tables

    The WordPress database tables are easily referenced in the wpdb class.

    $posts 
    The table of Posts.
    $postmeta 
    The Meta Content (a.k.a. Custom Fields) table.
    $comments 
    The Comments table.
    $commentmeta 
    The table contains additional comment information.
    $termmeta 
    The termmeta table contains the term meta values.
    $terms 
    The terms table contains the \'description\' of Categories, Link Categories, Tags.
    $term_taxonomy 
    The term_taxonomy table describes the various taxonomies (classes of terms). Categories, Link Categories, and Tags are taxonomies.
    $term_relationships 
    The term relationships table contains link between the term and the object that uses that term, meaning this file point to each Category used for each Post.
    $users 
    The table of Users.
    $usermeta 
    The usermeta table contains additional user information, such as nicknames, descriptions and permissions.
    $links 
    The table of Links.
    $options 
    The Options table.

    Multisite Tables

    These tables are used only in multisite installations.

    $blogs 
    The Blogs table contains a list of the separate blogs (sites) that have been set up within the network(s).
    $signups 
    The Signups table.
    $site 
    The Site table contains a list of the networks (previously known as \"sites\" in WPMU) that are set up in the installation (usually there is only one site listed in this table).
    $sitemeta 
    The Network Options (Site Meta) table contains any options that are applicable to the entire multisite installation.
    $sitecategories 
    The Site Categories table.
    $registration_log 
    The Registration Log table.
    $blog_versions 
    The Blog Versions table.

    Source File

    wpdb() is located in wp-includes/wp-db.php.

    ','wpdb','','inherit','closed','closed','','46-revision-v1','','','2018-04-06 02:47:26','2018-04-06 02:47:26','',46,'http://www.acctcrop.softwarewebdesign.com/2018/04/06/46-revision-v1/',0,'revision','',0),(48,1,'2018-04-06 02:48:24','2018-04-06 02:48:24',' ','','','publish','closed','closed','','48','','','2023-12-22 03:02:20','2023-12-22 03:02:20','',0,'http://www.acctcrop.softwarewebdesign.com/?p=48',13,'nav_menu_item','',0); /*!40000 ALTER TABLE `swd_posts` ENABLE KEYS */; UNLOCK TABLES; -- -- Table structure for table `swd_term_relationships` -- DROP TABLE IF EXISTS `swd_term_relationships`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `swd_term_relationships` ( `object_id` bigint(20) unsigned NOT NULL DEFAULT '0', `term_taxonomy_id` bigint(20) unsigned NOT NULL DEFAULT '0', `term_order` int(11) NOT NULL DEFAULT '0', PRIMARY KEY (`object_id`,`term_taxonomy_id`), KEY `term_taxonomy_id` (`term_taxonomy_id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Dumping data for table `swd_term_relationships` -- LOCK TABLES `swd_term_relationships` WRITE; /*!40000 ALTER TABLE `swd_term_relationships` DISABLE KEYS */; INSERT INTO `swd_term_relationships` VALUES (1,1,0),(26,2,0),(27,2,0),(28,2,0),(29,2,0),(30,2,0),(31,2,0),(32,2,0),(36,2,0),(39,2,0),(40,2,0),(42,2,0),(45,2,0),(48,2,0); /*!40000 ALTER TABLE `swd_term_relationships` ENABLE KEYS */; UNLOCK TABLES; -- -- Table structure for table `swd_term_taxonomy` -- DROP TABLE IF EXISTS `swd_term_taxonomy`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `swd_term_taxonomy` ( `term_taxonomy_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `term_id` bigint(20) unsigned NOT NULL DEFAULT '0', `taxonomy` varchar(32) COLLATE utf8mb4_unicode_520_ci NOT NULL DEFAULT '', `description` longtext COLLATE utf8mb4_unicode_520_ci NOT NULL, `parent` bigint(20) unsigned NOT NULL DEFAULT '0', `count` bigint(20) NOT NULL DEFAULT '0', PRIMARY KEY (`term_taxonomy_id`), UNIQUE KEY `term_id_taxonomy` (`term_id`,`taxonomy`), KEY `taxonomy` (`taxonomy`) ) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Dumping data for table `swd_term_taxonomy` -- LOCK TABLES `swd_term_taxonomy` WRITE; /*!40000 ALTER TABLE `swd_term_taxonomy` DISABLE KEYS */; INSERT INTO `swd_term_taxonomy` VALUES (1,1,'category','',0,1),(2,2,'nav_menu','',0,13); /*!40000 ALTER TABLE `swd_term_taxonomy` ENABLE KEYS */; UNLOCK TABLES; -- -- Table structure for table `swd_termmeta` -- DROP TABLE IF EXISTS `swd_termmeta`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `swd_termmeta` ( `meta_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `term_id` bigint(20) unsigned NOT NULL DEFAULT '0', `meta_key` varchar(255) COLLATE utf8mb4_unicode_520_ci DEFAULT NULL, `meta_value` longtext COLLATE utf8mb4_unicode_520_ci, PRIMARY KEY (`meta_id`), KEY `term_id` (`term_id`), KEY `meta_key` (`meta_key`(191)) ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Dumping data for table `swd_termmeta` -- LOCK TABLES `swd_termmeta` WRITE; /*!40000 ALTER TABLE `swd_termmeta` DISABLE KEYS */; /*!40000 ALTER TABLE `swd_termmeta` ENABLE KEYS */; UNLOCK TABLES; -- -- Table structure for table `swd_terms` -- DROP TABLE IF EXISTS `swd_terms`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `swd_terms` ( `term_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(200) COLLATE utf8mb4_unicode_520_ci NOT NULL DEFAULT '', `slug` varchar(200) COLLATE utf8mb4_unicode_520_ci NOT NULL DEFAULT '', `term_group` bigint(10) NOT NULL DEFAULT '0', PRIMARY KEY (`term_id`), KEY `slug` (`slug`(191)), KEY `name` (`name`(191)) ) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Dumping data for table `swd_terms` -- LOCK TABLES `swd_terms` WRITE; /*!40000 ALTER TABLE `swd_terms` DISABLE KEYS */; INSERT INTO `swd_terms` VALUES (1,'Uncategorized','uncategorized',0),(2,'main','main',0); /*!40000 ALTER TABLE `swd_terms` ENABLE KEYS */; UNLOCK TABLES; -- -- Table structure for table `swd_usermeta` -- DROP TABLE IF EXISTS `swd_usermeta`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `swd_usermeta` ( `umeta_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `user_id` bigint(20) unsigned NOT NULL DEFAULT '0', `meta_key` varchar(255) COLLATE utf8mb4_unicode_520_ci DEFAULT NULL, `meta_value` longtext COLLATE utf8mb4_unicode_520_ci, PRIMARY KEY (`umeta_id`), KEY `user_id` (`user_id`), KEY `meta_key` (`meta_key`(191)) ) ENGINE=MyISAM AUTO_INCREMENT=25 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Dumping data for table `swd_usermeta` -- LOCK TABLES `swd_usermeta` WRITE; /*!40000 ALTER TABLE `swd_usermeta` DISABLE KEYS */; INSERT INTO `swd_usermeta` VALUES (1,1,'nickname','GreatOne'),(2,1,'first_name',''),(3,1,'last_name',''),(4,1,'description',''),(5,1,'rich_editing','true'),(6,1,'comment_shortcuts','false'),(7,1,'admin_color','fresh'),(8,1,'use_ssl','0'),(9,1,'show_admin_bar_front','true'),(10,1,'locale',''),(11,1,'swd_capabilities','a:1:{s:13:\"administrator\";b:1;}'),(12,1,'swd_user_level','10'),(13,1,'dismissed_wp_pointers',''),(14,1,'show_welcome_panel','1'),(16,1,'swd_dashboard_quick_press_last_post_id','49'),(17,1,'session_tokens','a:1:{s:64:\"e925feed379176b1bddc09ec9ecbe77b5e5b42c474beb94adac8586d57c68683\";a:4:{s:10:\"expiration\";i:1703386821;s:2:\"ip\";s:15:\"134.195.225.199\";s:2:\"ua\";s:125:\"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Edg/120.0.0.0\";s:5:\"login\";i:1703214021;}}'),(18,1,'swd_user-settings','unfold=1&mfold=o&editor=html'),(19,1,'swd_user-settings-time','1522982315'),(20,1,'managenav-menuscolumnshidden','a:5:{i:0;s:11:\"link-target\";i:1;s:11:\"css-classes\";i:2;s:3:\"xfn\";i:3;s:11:\"description\";i:4;s:15:\"title-attribute\";}'),(21,1,'metaboxhidden_nav-menus','a:1:{i:0;s:12:\"add-post_tag\";}'),(22,1,'closedpostboxes_page','a:0:{}'),(23,1,'metaboxhidden_page','a:5:{i:0;s:10:\"postcustom\";i:1;s:16:\"commentstatusdiv\";i:2;s:11:\"commentsdiv\";i:3;s:7:\"slugdiv\";i:4;s:9:\"authordiv\";}'),(24,1,'nav_menu_recently_edited','2'); /*!40000 ALTER TABLE `swd_usermeta` ENABLE KEYS */; UNLOCK TABLES; -- -- Table structure for table `swd_users` -- DROP TABLE IF EXISTS `swd_users`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `swd_users` ( `ID` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `user_login` varchar(60) COLLATE utf8mb4_unicode_520_ci NOT NULL DEFAULT '', `user_pass` varchar(255) COLLATE utf8mb4_unicode_520_ci NOT NULL DEFAULT '', `user_nicename` varchar(50) COLLATE utf8mb4_unicode_520_ci NOT NULL DEFAULT '', `user_email` varchar(100) COLLATE utf8mb4_unicode_520_ci NOT NULL DEFAULT '', `user_url` varchar(100) COLLATE utf8mb4_unicode_520_ci NOT NULL DEFAULT '', `user_registered` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `user_activation_key` varchar(255) COLLATE utf8mb4_unicode_520_ci NOT NULL DEFAULT '', `user_status` int(11) NOT NULL DEFAULT '0', `display_name` varchar(250) COLLATE utf8mb4_unicode_520_ci NOT NULL DEFAULT '', PRIMARY KEY (`ID`), KEY `user_login_key` (`user_login`), KEY `user_nicename` (`user_nicename`), KEY `user_email` (`user_email`) ) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Dumping data for table `swd_users` -- LOCK TABLES `swd_users` WRITE; /*!40000 ALTER TABLE `swd_users` DISABLE KEYS */; INSERT INTO `swd_users` VALUES (1,'GreatOne','$P$BVJU7tdvOXG49Ti9k3Pkv9lLBFhdap1','greatone','stevew@thinairnet.com','','2017-02-08 03:46:34','',0,'GreatOne'); /*!40000 ALTER TABLE `swd_users` ENABLE KEYS */; UNLOCK TABLES; -- -- Table structure for table `swd_visitors_stat` -- DROP TABLE IF EXISTS `swd_visitors_stat`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `swd_visitors_stat` ( `id` mediumint(9) NOT NULL AUTO_INCREMENT, `time` varchar(12) NOT NULL, `ip` varchar(25) NOT NULL, UNIQUE KEY `id` (`id`) ) ENGINE=MyISAM AUTO_INCREMENT=18610 DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Dumping data for table `swd_visitors_stat` -- LOCK TABLES `swd_visitors_stat` WRITE; /*!40000 ALTER TABLE `swd_visitors_stat` DISABLE KEYS */; INSERT INTO `swd_visitors_stat` VALUES (1,'1703214058','134.195.225.199'),(2,'1703216494','138.246.253.24'),(3,'1703287442','67.222.45.11'),(4,'1703287442','205.210.31.15'),(5,'1703311757','67.222.45.11'),(6,'1703311757','91.92.253.56'),(7,'1703333740','199.45.154.18'),(8,'1703388461','67.222.45.11'),(9,'1703388461','128.199.61.251'),(10,'1703388466','128.199.61.251'),(11,'1703388467','128.199.61.251'),(12,'1703388468','128.199.61.251'),(13,'1703388468','128.199.61.251'),(14,'1703388469','128.199.61.251'),(15,'1703388470','128.199.61.251'),(16,'1703388471','128.199.61.251'),(17,'1703388472','128.199.61.251'),(18,'1703388472','128.199.61.251'),(19,'1703388474','128.199.61.251'),(20,'1703388474','128.199.61.251'),(21,'1703388475','128.199.61.251'),(22,'1703388476','128.199.61.251'),(23,'1703388476','128.199.61.251'),(24,'1703417971','67.222.45.11'),(25,'1703417971','198.235.24.131'),(26,'1703451940','67.222.45.11'),(27,'1703451940','91.92.252.237'),(28,'1703451972','91.92.252.237'),(29,'1703532839','199.45.154.16'),(30,'1703532840','67.222.45.11'),(31,'1703551628','67.222.45.11'),(32,'1703551629','121.4.105.222'),(33,'1703552181','121.4.105.222'),(34,'1703552521','199.45.154.49'),(35,'1703590489','67.222.45.11'),(36,'1703590490','167.172.62.182'),(37,'1703664993','67.222.45.11'),(38,'1703664993','91.92.252.237'),(39,'1703739382','67.222.45.11'),(40,'1703739383','134.195.225.199'),(41,'1703814260','67.222.45.11'),(42,'1703814260','198.235.24.103'),(43,'1703818877','199.45.154.18'),(44,'1703821984','67.222.45.11'),(45,'1703821985','199.45.154.16'),(46,'1703867883','67.222.45.11'),(47,'1703867884','91.92.252.171'),(48,'1703867904','91.92.252.171'),(49,'1703867918','91.92.252.171'),(50,'1703913000','67.222.45.11'),(51,'1703913001','138.246.253.24'),(52,'1703954615','67.222.45.11'),(53,'1703954615','205.210.31.145'),(54,'1704005967','67.222.45.11'),(55,'1704005968','51.81.46.212'),(56,'1704028795','198.235.24.27'),(57,'1704146367','67.222.45.11'),(58,'1704146368','205.210.31.192'),(59,'1704230375','67.222.45.11'),(60,'1704230376','91.92.252.237'),(61,'1704317928','67.222.45.11'),(62,'1704317929','91.92.252.171'),(63,'1704406831','67.222.45.11'),(64,'1704406832','198.235.24.154'),(65,'1704427479','67.222.45.11'),(66,'1704427480','91.92.252.171'),(67,'1704427535','91.92.252.171'),(68,'1704427578','91.92.252.171'),(69,'1704427621','91.92.252.171'),(70,'1704427657','91.92.252.171'),(71,'1704427703','91.92.252.171'),(72,'1704487958','67.222.45.11'),(73,'1704487958','205.210.31.9'),(74,'1704503885','67.222.45.11'),(75,'1704503886','139.59.65.144'),(76,'1704503893','139.59.65.144'),(77,'1704503894','139.59.65.144'),(78,'1704503895','139.59.65.144'),(79,'1704503896','139.59.65.144'),(80,'1704503897','139.59.65.144'),(81,'1704503898','139.59.65.144'),(82,'1704503900','139.59.65.144'),(83,'1704503901','139.59.65.144'),(84,'1704503901','139.59.65.144'),(85,'1704503904','139.59.65.144'),(86,'1704503904','139.59.65.144'),(87,'1704503905','139.59.65.144'),(88,'1704503906','139.59.65.144'),(89,'1704503907','139.59.65.144'),(90,'1704596326','67.222.45.11'),(91,'1704596327','138.246.253.24'),(92,'1704617956','67.222.45.11'),(93,'1704617956','159.203.44.43'),(94,'1704617962','159.203.44.43'),(95,'1704617963','159.203.44.43'),(96,'1704617966','159.203.44.43'),(97,'1704617967','159.203.44.43'),(98,'1704617968','159.203.44.43'),(99,'1704617969','159.203.44.43'),(100,'1704617970','159.203.44.43'),(101,'1704617971','159.203.44.43'),(102,'1704617972','159.203.44.43'),(103,'1704617973','159.203.44.43'),(104,'1704617974','159.203.44.43'),(105,'1704617975','159.203.44.43'),(106,'1704617975','159.203.44.43'),(107,'1704617977','159.203.44.43'),(108,'1704638561','199.45.155.16'),(109,'1704643017','67.222.45.11'),(110,'1704643018','199.45.154.18'),(111,'1704652098','205.210.31.146'),(112,'1704761294','67.222.45.11'),(113,'1704761295','91.92.252.171'),(114,'1704761328','91.92.252.171'),(115,'1704761361','91.92.252.171'),(116,'1704761378','91.92.252.171'),(117,'1704786232','67.222.45.11'),(118,'1704786233','142.93.219.71'),(119,'1704790566','198.235.24.81'),(120,'1704957886','67.222.45.11'),(121,'1704957887','91.92.252.171'),(122,'1705087280','67.222.45.11'),(123,'1705087281','198.235.24.206'),(124,'1705088506','91.92.252.171'),(125,'1705109363','67.222.45.11'),(126,'1705109364','205.210.31.144'),(127,'1705123455','67.222.45.11'),(128,'1705123456','138.246.253.24'),(129,'1705134604','31.220.0.86'),(130,'1705165486','67.222.45.11'),(131,'1705165487','34.229.203.150'),(132,'1705170955','205.210.31.166'),(133,'1705227595','67.222.45.11'),(134,'1705227596','91.92.252.171'),(135,'1705227608','91.92.252.171'),(136,'1705227626','91.92.252.171'),(137,'1705227660','91.92.252.171'),(138,'1705227680','91.92.252.171'),(139,'1705227711','91.92.252.171'),(140,'1705227733','91.92.252.171'),(141,'1705227754','91.92.252.171'),(142,'1705227781','91.92.252.171'),(143,'1705227805','91.92.252.171'),(144,'1705227838','91.92.252.171'),(145,'1705227852','91.92.252.171'),(146,'1705400686','67.222.45.11'),(147,'1705400686','3.252.25.209'),(148,'1705413504','205.210.31.67'),(149,'1705453796','67.222.45.11'),(150,'1705453796','35.90.92.148'),(151,'1705515444','67.222.45.11'),(152,'1705515444','176.123.7.11'),(153,'1705515738','176.123.7.11'),(154,'1705515738','176.123.7.11'),(155,'1705515738','176.123.7.11'),(156,'1705515738','176.123.7.11'),(157,'1705515738','176.123.7.11'),(158,'1705515738','176.123.7.11'),(159,'1705515738','176.123.7.11'),(160,'1705515738','176.123.7.11'),(161,'1705583940','67.222.45.11'),(162,'1705583941','138.246.253.24'),(163,'1705695053','67.222.45.11'),(164,'1705695054','205.210.31.155'),(165,'1705767723','67.222.45.11'),(166,'1705767724','198.235.24.131'),(167,'1705794819','67.222.45.11'),(168,'1705794819','91.92.252.171'),(169,'1705794850','91.92.252.171'),(170,'1705794880','91.92.252.171'),(171,'1705794912','91.92.252.171'),(172,'1705873846','67.222.45.11'),(173,'1705873847','198.235.24.162'),(174,'1705884007','67.222.45.11'),(175,'1705884007','199.45.155.33'),(176,'1705896778','67.222.45.11'),(177,'1705896779','199.45.154.49'),(178,'1705979799','67.222.45.11'),(179,'1705979799','91.92.252.171'),(180,'1705979839','91.92.252.171'),(181,'1706004482','67.222.45.11'),(182,'1706004483','137.184.172.7'),(183,'1706006356','46.101.103.192'),(184,'1706006361','46.101.103.192'),(185,'1706006362','46.101.103.192'),(186,'1706006363','46.101.103.192'),(187,'1706006364','46.101.103.192'),(188,'1706006364','46.101.103.192'),(189,'1706006365','46.101.103.192'),(190,'1706006366','46.101.103.192'),(191,'1706006367','46.101.103.192'),(192,'1706006368','46.101.103.192'),(193,'1706006369','46.101.103.192'),(194,'1706006370','46.101.103.192'),(195,'1706006370','46.101.103.192'),(196,'1706006371','46.101.103.192'),(197,'1706006372','46.101.103.192'),(198,'1706007035','171.67.70.229'),(199,'1706010842','5.164.29.116'),(200,'1706021502','171.67.70.233'),(201,'1706028440','67.222.45.11'),(202,'1706028441','198.235.24.88'),(203,'1706035199','47.242.224.70'),(204,'1706049785','47.88.78.6'),(205,'1706049786','47.89.193.162'),(206,'1706049787','47.89.195.210'),(207,'1706120703','67.222.45.11'),(208,'1706120704','137.184.54.43'),(209,'1706162223','67.222.45.11'),(210,'1706162224','18.206.208.175'),(211,'1706207004','67.222.45.11'),(212,'1706207005','171.67.70.229'),(213,'1706207020','171.67.70.229'),(214,'1706221403','171.67.70.233'),(215,'1706221419','171.67.70.233'),(216,'1706224543','67.222.45.11'),(217,'1706224544','44.227.242.80'),(218,'1706224634','44.227.242.80'),(219,'1706224634','44.227.242.80'),(220,'1706224634','44.227.242.80'),(221,'1706224634','44.227.242.80'),(222,'1706224634','44.227.242.80'),(223,'1706224634','44.227.242.80'),(224,'1706224634','44.227.242.80'),(225,'1706224635','44.227.242.80'),(226,'1706261939','67.222.45.11'),(227,'1706261940','205.210.31.238'),(228,'1706439062','67.222.45.11'),(229,'1706439062','205.210.31.172'),(230,'1706491061','67.222.45.11'),(231,'1706491062','95.217.18.177'),(232,'1706528877','67.222.45.11'),(233,'1706528878','205.210.31.44'),(234,'1706667760','67.222.45.11'),(235,'1706667761','135.148.100.196'),(236,'1706714882','67.222.45.11'),(237,'1706714883','205.210.31.186'),(238,'1706737704','67.222.45.11'),(239,'1706737705','91.92.252.171'),(240,'1706737722','91.92.252.171'),(241,'1706737739','91.92.252.171'),(242,'1706737757','91.92.252.171'),(243,'1706737775','91.92.252.171'),(244,'1706779030','67.222.45.11'),(245,'1706779031','188.165.87.107'),(246,'1706785486','37.187.215.251'),(247,'1706788732','51.254.49.110'),(248,'1706791428','51.254.49.111'),(249,'1706858676','67.222.45.11'),(250,'1706858677','91.92.252.171'),(251,'1706858711','91.92.252.171'),(252,'1706858748','91.92.252.171'),(253,'1706858785','91.92.252.171'),(254,'1706858803','91.92.252.171'),(255,'1706858821','91.92.252.171'),(256,'1706858838','91.92.252.171'),(257,'1706858876','91.92.252.171'),(258,'1706858895','91.92.252.171'),(259,'1706858930','91.92.252.171'),(260,'1706858948','91.92.252.171'),(261,'1706858966','91.92.252.171'),(262,'1706858985','91.92.252.171'),(263,'1706859004','91.92.252.171'),(264,'1706923399','67.222.45.11'),(265,'1706923400','138.68.133.118'),(266,'1706923404','138.68.133.118'),(267,'1706923405','138.68.133.118'),(268,'1706923405','138.68.133.118'),(269,'1706923406','138.68.133.118'),(270,'1706923407','138.68.133.118'),(271,'1706923407','138.68.133.118'),(272,'1706923409','138.68.133.118'),(273,'1706923409','138.68.133.118'),(274,'1706923410','138.68.133.118'),(275,'1706923412','138.68.133.118'),(276,'1706923412','138.68.133.118'),(277,'1706923413','138.68.133.118'),(278,'1706923413','138.68.133.118'),(279,'1706923414','138.68.133.118'),(280,'1706992604','67.222.45.11'),(281,'1706992605','138.246.253.24'),(282,'1706996751','205.210.31.170'),(283,'1707108337','67.222.45.11'),(284,'1707108338','205.210.31.168'),(285,'1707120972','67.222.45.11'),(286,'1707120972','34.254.239.155'),(287,'1707126220','199.45.155.35'),(288,'1707135611','199.45.154.18'),(289,'1707184237','67.222.45.11'),(290,'1707184237','44.234.19.56'),(291,'1707184332','44.234.19.56'),(292,'1707184332','44.234.19.56'),(293,'1707184332','44.234.19.56'),(294,'1707184332','44.234.19.56'),(295,'1707184332','44.234.19.56'),(296,'1707184332','44.234.19.56'),(297,'1707184332','44.234.19.56'),(298,'1707184332','44.234.19.56'),(299,'1707200349','207.154.194.85'),(300,'1707225788','67.222.45.11'),(301,'1707225788','167.88.61.92'),(302,'1707225789','167.88.61.92'),(303,'1707341627','67.222.45.11'),(304,'1707341627','51.15.66.158'),(305,'1707446409','67.222.45.11'),(306,'1707446410','138.246.253.24'),(307,'1707610360','67.222.45.11'),(308,'1707610361','75.119.150.136'),(309,'1707758650','67.222.45.11'),(310,'1707758651','198.235.24.141'),(311,'1707967065','67.222.45.11'),(312,'1707967065','199.45.154.67'),(313,'1707969491','67.222.45.11'),(314,'1707969492','199.45.155.16'),(315,'1708038183','67.222.45.11'),(316,'1708038183','205.210.31.183'),(317,'1708038765','34.244.103.215'),(318,'1708038765','34.244.103.215'),(319,'1708038765','34.244.103.215'),(320,'1708038766','34.244.103.215'),(321,'1708038767','34.244.103.215'),(322,'1708038767','34.244.103.215'),(323,'1708038767','34.244.103.215'),(324,'1708038767','34.244.103.215'),(325,'1708038767','34.244.103.215'),(326,'1708038767','34.244.103.215'),(327,'1708038767','34.244.103.215'),(328,'1708038767','34.244.103.215'),(329,'1708038767','34.244.103.215'),(330,'1708038767','34.244.103.215'),(331,'1708038767','34.244.103.215'),(332,'1708038767','34.244.103.215'),(333,'1708038767','34.244.103.215'),(334,'1708038768','34.244.103.215'),(335,'1708038768','34.244.103.215'),(336,'1708038769','34.244.103.215'),(337,'1708038769','34.244.103.215'),(338,'1708038770','34.244.103.215'),(339,'1708038770','34.244.103.215'),(340,'1708038771','34.244.103.215'),(341,'1708038773','34.244.103.215'),(342,'1708038774','34.244.103.215'),(343,'1708038775','34.244.103.215'),(344,'1708038777','34.244.103.215'),(345,'1708038778','34.244.103.215'),(346,'1708038778','34.244.103.215'),(347,'1708038778','34.244.103.215'),(348,'1708038778','34.244.103.215'),(349,'1708038778','34.244.103.215'),(350,'1708038778','34.244.103.215'),(351,'1708038780','34.244.103.215'),(352,'1708038780','34.244.103.215'),(353,'1708038780','34.244.103.215'),(354,'1708038780','34.244.103.215'),(355,'1708038780','34.244.103.215'),(356,'1708038780','34.244.103.215'),(357,'1708038781','34.244.103.215'),(358,'1708038781','34.244.103.215'),(359,'1708038781','34.244.103.215'),(360,'1708038781','34.244.103.215'),(361,'1708038781','34.244.103.215'),(362,'1708038781','34.244.103.215'),(363,'1708038781','34.244.103.215'),(364,'1708038781','34.244.103.215'),(365,'1708038781','34.244.103.215'),(366,'1708038782','34.244.103.215'),(367,'1708038782','34.244.103.215'),(368,'1708038782','34.244.103.215'),(369,'1708038782','34.244.103.215'),(370,'1708038782','34.244.103.215'),(371,'1708038782','34.244.103.215'),(372,'1708038782','34.244.103.215'),(373,'1708038782','34.244.103.215'),(374,'1708038784','34.244.103.215'),(375,'1708038784','34.244.103.215'),(376,'1708038784','34.244.103.215'),(377,'1708038784','34.244.103.215'),(378,'1708038787','34.244.103.215'),(379,'1708038787','34.244.103.215'),(380,'1708038787','34.244.103.215'),(381,'1708038788','34.244.103.215'),(382,'1708038789','34.244.103.215'),(383,'1708038799','34.244.103.215'),(384,'1708038799','34.244.103.215'),(385,'1708038799','34.244.103.215'),(386,'1708038799','34.244.103.215'),(387,'1708135130','67.222.45.11'),(388,'1708135131','205.210.31.56'),(389,'1708229842','67.222.45.11'),(390,'1708229842','138.246.253.24'),(391,'1708251417','67.222.45.11'),(392,'1708251417','198.235.24.147'),(393,'1708336912','67.222.45.11'),(394,'1708336913','54.219.40.245'),(395,'1708400436','67.222.45.11'),(396,'1708400436','198.235.24.8'),(397,'1708433579','67.222.45.11'),(398,'1708433580','139.59.33.18'),(399,'1708485893','67.222.45.11'),(400,'1708485893','91.92.252.171'),(401,'1708485929','91.92.252.171'),(402,'1708485964','91.92.252.171'),(403,'1708486000','91.92.252.171'),(404,'1708486018','91.92.252.171'),(405,'1708486036','91.92.252.171'),(406,'1708486053','91.92.252.171'),(407,'1708486088','91.92.252.171'),(408,'1708486105','91.92.252.171'),(409,'1708486140','91.92.252.171'),(410,'1708486158','91.92.252.171'),(411,'1708486176','91.92.252.171'),(412,'1708486193','91.92.252.171'),(413,'1708486211','91.92.252.171'),(414,'1708636112','67.222.45.11'),(415,'1708636113','138.246.253.24'),(416,'1708663221','67.222.45.11'),(417,'1708663222','91.92.252.171'),(418,'1708663239','91.92.252.171'),(419,'1708663256','91.92.252.171'),(420,'1708663272','91.92.252.171'),(421,'1708663288','91.92.252.171'),(422,'1708724838','67.222.45.11'),(423,'1708724838','205.210.31.147'),(424,'1708777593','67.222.45.11'),(425,'1708777593','198.235.24.182'),(426,'1708795155','67.222.45.11'),(427,'1708795156','198.235.24.186'),(428,'1708882368','67.222.45.11'),(429,'1708882368','35.87.227.170'),(430,'1708977179','67.222.45.11'),(431,'1708977180','205.210.31.198'),(432,'1708988527','67.222.45.11'),(433,'1708988528','91.92.252.171'),(434,'1708988540','91.92.252.171'),(435,'1708988554','91.92.252.171'),(436,'1708988570','91.92.252.171'),(437,'1708988585','91.92.252.171'),(438,'1708988601','91.92.252.171'),(439,'1708988621','91.92.252.171'),(440,'1708988627','91.92.252.171'),(441,'1708988630','91.92.252.171'),(442,'1708988639','91.92.252.171'),(443,'1708988646','91.92.252.171'),(444,'1708988660','91.92.252.171'),(445,'1708988668','91.92.252.171'),(446,'1708988696','91.92.252.171'),(447,'1708988700','91.92.252.171'),(448,'1708988705','91.92.252.171'),(449,'1708988718','91.92.252.171'),(450,'1708988736','91.92.252.171'),(451,'1708988751','91.92.252.171'),(452,'1708988771','91.92.252.171'),(453,'1708988795','91.92.252.171'),(454,'1708988806','91.92.252.171'),(455,'1708988810','91.92.252.171'),(456,'1708988816','91.92.252.171'),(457,'1708988826','91.92.252.171'),(458,'1708988833','91.92.252.171'),(459,'1708988838','91.92.252.171'),(460,'1708988845','91.92.252.171'),(461,'1708988851','91.92.252.171'),(462,'1708988856','91.92.252.171'),(463,'1708988861','91.92.252.171'),(464,'1708988866','91.92.252.171'),(465,'1708988871','91.92.252.171'),(466,'1708988886','91.92.252.171'),(467,'1708988919','91.92.252.171'),(468,'1708988938','91.92.252.171'),(469,'1708988951','91.92.252.171'),(470,'1708988964','91.92.252.171'),(471,'1708988977','91.92.252.171'),(472,'1709342383','67.222.45.11'),(473,'1709342384','91.92.252.171'),(474,'1709342396','91.92.252.171'),(475,'1709342405','91.92.252.171'),(476,'1709342417','91.92.252.171'),(477,'1709356905','67.222.45.11'),(478,'1709356906','51.81.46.212'),(479,'1709357996','205.210.31.137'),(480,'1709377742','67.222.45.11'),(481,'1709377742','205.210.31.15'),(482,'1709385976','198.235.24.16'),(483,'1709402605','67.222.45.11'),(484,'1709402606','138.246.253.24'),(485,'1709422549','67.222.45.11'),(486,'1709422550','117.217.220.168'),(487,'1709587355','67.222.45.11'),(488,'1709587355','91.92.252.171'),(489,'1709587395','91.92.252.171'),(490,'1709587450','91.92.252.171'),(491,'1709587485','91.92.252.171'),(492,'1709587524','91.92.252.171'),(493,'1709587569','91.92.252.171'),(494,'1709587615','91.92.252.171'),(495,'1709589654','199.45.155.32'),(496,'1709595466','67.222.45.11'),(497,'1709595467','199.45.154.51'),(498,'1709617504','67.222.45.11'),(499,'1709617505','143.244.181.245'),(500,'1709679168','67.222.45.11'),(501,'1709679168','205.210.31.246'),(502,'1709784486','67.222.45.11'),(503,'1709784487','199.45.155.34'),(504,'1709797016','67.222.45.11'),(505,'1709797017','167.94.138.33'),(506,'1709842434','67.222.45.11'),(507,'1709842434','46.101.103.192'),(508,'1709842440','46.101.103.192'),(509,'1709842441','46.101.103.192'),(510,'1709842442','46.101.103.192'),(511,'1709842443','46.101.103.192'),(512,'1709842444','46.101.103.192'),(513,'1709842445','46.101.103.192'),(514,'1709842446','46.101.103.192'),(515,'1709842447','46.101.103.192'),(516,'1709842448','46.101.103.192'),(517,'1709842449','46.101.103.192'),(518,'1709842450','46.101.103.192'),(519,'1709842451','46.101.103.192'),(520,'1709842452','46.101.103.192'),(521,'1709842453','46.101.103.192'),(522,'1709842453','46.101.103.192'),(523,'1709866579','67.222.45.11'),(524,'1709866580','138.246.253.24'),(525,'1709896282','67.222.45.11'),(526,'1709896283','178.128.207.138'),(527,'1709896316','178.128.207.138'),(528,'1709896318','178.128.207.138'),(529,'1709896319','178.128.207.138'),(530,'1709896320','178.128.207.138'),(531,'1709896322','178.128.207.138'),(532,'1709896323','178.128.207.138'),(533,'1709896324','178.128.207.138'),(534,'1709896326','178.128.207.138'),(535,'1709896327','178.128.207.138'),(536,'1709896329','178.128.207.138'),(537,'1709896331','178.128.207.138'),(538,'1709896332','178.128.207.138'),(539,'1709896334','178.128.207.138'),(540,'1709896335','178.128.207.138'),(541,'1709896336','178.128.207.138'),(542,'1709948438','67.222.45.11'),(543,'1709948439','205.210.31.224'),(544,'1710068233','67.222.45.11'),(545,'1710068234','205.210.31.130'),(546,'1710146543','67.222.45.11'),(547,'1710146543','205.210.31.49'),(548,'1710248542','67.222.45.11'),(549,'1710248543','198.235.24.144'),(550,'1710465368','67.222.45.11'),(551,'1710465369','205.210.31.235'),(552,'1710563306','67.222.45.11'),(553,'1710563307','87.236.176.144'),(554,'1710563937','138.246.253.24'),(555,'1710593570','67.222.45.11'),(556,'1710593570','198.235.24.140'),(557,'1710610278','67.222.45.11'),(558,'1710610279','34.223.23.217'),(559,'1710761718','67.222.45.11'),(560,'1710761718','198.235.24.186'),(561,'1710863899','67.222.45.11'),(562,'1710863899','165.22.202.153'),(563,'1710930637','67.222.45.11'),(564,'1710930638','94.156.68.85'),(565,'1710930658','94.156.68.85'),(566,'1710930733','94.156.68.85'),(567,'1710930757','94.156.68.85'),(568,'1711038220','67.222.45.11'),(569,'1711038221','159.89.17.243'),(570,'1711038248','159.89.17.243'),(571,'1711038248','159.89.17.243'),(572,'1711038249','159.89.17.243'),(573,'1711038250','159.89.17.243'),(574,'1711038250','159.89.17.243'),(575,'1711038251','159.89.17.243'),(576,'1711038252','159.89.17.243'),(577,'1711038253','159.89.17.243'),(578,'1711038254','159.89.17.243'),(579,'1711038254','159.89.17.243'),(580,'1711038256','159.89.17.243'),(581,'1711038257','159.89.17.243'),(582,'1711038258','159.89.17.243'),(583,'1711038258','159.89.17.243'),(584,'1711038259','159.89.17.243'),(585,'1711160612','67.222.45.11'),(586,'1711160613','91.92.252.171'),(587,'1711160625','91.92.252.171'),(588,'1711160643','91.92.252.171'),(589,'1711160656','91.92.252.171'),(590,'1711160665','91.92.252.171'),(591,'1711160679','91.92.252.171'),(592,'1711160696','91.92.252.171'),(593,'1711160712','91.92.252.171'),(594,'1711160728','91.92.252.171'),(595,'1711160752','91.92.252.171'),(596,'1711160765','91.92.252.171'),(597,'1711160774','91.92.252.171'),(598,'1711160779','91.92.252.171'),(599,'1711160797','91.92.252.171'),(600,'1711160813','91.92.252.171'),(601,'1711160821','91.92.252.171'),(602,'1711160825','91.92.252.171'),(603,'1711160830','91.92.252.171'),(604,'1711160856','91.92.252.171'),(605,'1711160872','91.92.252.171'),(606,'1711160889','91.92.252.171'),(607,'1711160920','91.92.252.171'),(608,'1711160934','91.92.252.171'),(609,'1711160946','91.92.252.171'),(610,'1711160954','91.92.252.171'),(611,'1711160959','91.92.252.171'),(612,'1711160963','91.92.252.171'),(613,'1711160969','91.92.252.171'),(614,'1711160973','91.92.252.171'),(615,'1711160983','91.92.252.171'),(616,'1711160996','91.92.252.171'),(617,'1711161015','91.92.252.171'),(618,'1711161030','91.92.252.171'),(619,'1711161048','91.92.252.171'),(620,'1711161065','91.92.252.171'),(621,'1711161079','91.92.252.171'),(622,'1711161103','91.92.252.171'),(623,'1711161116','91.92.252.171'),(624,'1711161128','91.92.252.171'),(625,'1711161141','91.92.252.171'),(626,'1711161156','91.92.252.171'),(627,'1711161161','91.92.252.171'),(628,'1711161168','91.92.252.171'),(629,'1711161175','91.92.252.171'),(630,'1711161190','91.92.252.171'),(631,'1711161198','91.92.252.171'),(632,'1711161202','91.92.252.171'),(633,'1711161207','91.92.252.171'),(634,'1711161211','91.92.252.171'),(635,'1711161229','91.92.252.171'),(636,'1711184523','67.222.45.11'),(637,'1711184524','138.246.253.24'),(638,'1711299999','67.222.45.11'),(639,'1711300000','198.235.24.154'),(640,'1711369005','67.222.45.11'),(641,'1711369006','205.210.31.12'),(642,'1711438417','67.222.45.11'),(643,'1711438418','87.236.176.163'),(644,'1711449279','207.241.236.85'),(645,'1711459250','5.164.29.116'),(646,'1711477349','67.222.45.11'),(647,'1711477350','47.242.224.70'),(648,'1711481954','91.92.252.171'),(649,'1711481972','91.92.252.171'),(650,'1711482688','142.93.187.199'),(651,'1711497482','67.222.45.11'),(652,'1711497482','54.152.75.210'),(653,'1711497483','54.152.75.210'),(654,'1711497534','5.164.29.116'),(655,'1711504744','94.156.68.85'),(656,'1711533389','67.222.45.11'),(657,'1711533390','139.59.136.184'),(658,'1711533395','139.59.136.184'),(659,'1711533395','139.59.136.184'),(660,'1711533396','139.59.136.184'),(661,'1711533397','139.59.136.184'),(662,'1711533397','139.59.136.184'),(663,'1711533398','139.59.136.184'),(664,'1711533399','139.59.136.184'),(665,'1711533400','139.59.136.184'),(666,'1711533400','139.59.136.184'),(667,'1711533401','139.59.136.184'),(668,'1711533402','139.59.136.184'),(669,'1711533403','139.59.136.184'),(670,'1711533404','139.59.136.184'),(671,'1711533404','139.59.136.184'),(672,'1711533405','139.59.136.184'),(673,'1711533502','54.152.75.210'),(674,'1711533502','54.152.75.210'),(675,'1711535235','43.225.189.135'),(676,'1711537589','5.164.29.116'),(677,'1711554077','34.229.229.113'),(678,'1711554125','34.229.229.113'),(679,'1711554125','34.229.229.113'),(680,'1711554126','34.229.229.113'),(681,'1711554165','34.229.229.113'),(682,'1711554165','34.229.229.113'),(683,'1711554165','34.229.229.113'),(684,'1711554165','34.229.229.113'),(685,'1711554165','34.229.229.113'),(686,'1711554166','34.229.229.113'),(687,'1711554166','34.229.229.113'),(688,'1711554166','34.229.229.113'),(689,'1711554166','34.229.229.113'),(690,'1711554166','34.229.229.113'),(691,'1711562236','47.242.224.70'),(692,'1711562236','67.222.45.11'),(693,'1711589687','67.222.45.11'),(694,'1711589687','5.164.29.116'),(695,'1711604149','67.222.45.11'),(696,'1711604150','91.92.252.171'),(697,'1711604171','91.92.252.171'),(698,'1711604186','91.92.252.171'),(699,'1711604200','91.92.252.171'),(700,'1711604220','91.92.252.171'),(701,'1711604238','91.92.252.171'),(702,'1711604251','91.92.252.171'),(703,'1711604261','91.92.252.171'),(704,'1711604270','91.92.252.171'),(705,'1711604275','91.92.252.171'),(706,'1711604285','91.92.252.171'),(707,'1711604290','91.92.252.171'),(708,'1711604297','91.92.252.171'),(709,'1711604311','91.92.252.171'),(710,'1711604327','91.92.252.171'),(711,'1711604340','91.92.252.171'),(712,'1711604356','91.92.252.171'),(713,'1711604375','91.92.252.171'),(714,'1711604397','91.92.252.171'),(715,'1711604424','91.92.252.171'),(716,'1711604443','91.92.252.171'),(717,'1711604460','91.92.252.171'),(718,'1711604469','91.92.252.171'),(719,'1711604482','91.92.252.171'),(720,'1711604486','91.92.252.171'),(721,'1711604493','91.92.252.171'),(722,'1711604500','91.92.252.171'),(723,'1711604512','91.92.252.171'),(724,'1711604518','91.92.252.171'),(725,'1711604524','91.92.252.171'),(726,'1711604528','91.92.252.171'),(727,'1711604537','91.92.252.171'),(728,'1711604550','91.92.252.171'),(729,'1711604578','91.92.252.171'),(730,'1711604597','91.92.252.171'),(731,'1711604610','91.92.252.171'),(732,'1711604624','91.92.252.171'),(733,'1711604638','91.92.252.171'),(734,'1711604642','91.92.252.171'),(735,'1711604667','91.92.252.171'),(736,'1711604693','91.92.252.171'),(737,'1711604711','91.92.252.171'),(738,'1711604723','91.92.252.171'),(739,'1711604744','91.92.252.171'),(740,'1711604763','91.92.252.171'),(741,'1711604780','91.92.252.171'),(742,'1711604824','91.92.252.171'),(743,'1711604841','91.92.252.171'),(744,'1711604861','91.92.252.171'),(745,'1711604869','91.92.252.171'),(746,'1711604875','91.92.252.171'),(747,'1711604882','67.222.45.11'),(748,'1711604882','91.92.252.171'),(749,'1711604895','91.92.252.171'),(750,'1711604920','91.92.252.171'),(751,'1711604935','91.92.252.171'),(752,'1711604947','91.92.252.171'),(753,'1711615295','145.220.91.19'),(754,'1711657132','67.222.45.11'),(755,'1711657133','138.68.160.44'),(756,'1711662493','185.215.180.76'),(757,'1711662494','185.215.180.76'),(758,'1711681546','67.222.45.11'),(759,'1711681547','100.26.55.199'),(760,'1711744585','67.222.45.11'),(761,'1711744586','34.222.177.41'),(762,'1711744603','34.222.177.41'),(763,'1711744604','34.222.177.41'),(764,'1711744604','34.222.177.41'),(765,'1711744604','34.222.177.41'),(766,'1711744604','34.222.177.41'),(767,'1711744604','34.222.177.41'),(768,'1711744606','34.222.177.41'),(769,'1711744606','34.222.177.41'),(770,'1711744629','34.222.177.41'),(771,'1711744629','34.222.177.41'),(772,'1711744629','34.222.177.41'),(773,'1711744629','34.222.177.41'),(774,'1711744629','34.222.177.41'),(775,'1711744629','34.222.177.41'),(776,'1711744629','34.222.177.41'),(777,'1711744629','34.222.177.41'),(778,'1711744655','34.222.177.41'),(779,'1711744655','34.222.177.41'),(780,'1711744655','34.222.177.41'),(781,'1711744655','34.222.177.41'),(782,'1711744655','34.222.177.41'),(783,'1711744656','34.222.177.41'),(784,'1711744657','34.222.177.41'),(785,'1711744657','34.222.177.41'),(786,'1711744684','34.222.177.41'),(787,'1711744684','34.222.177.41'),(788,'1711744684','34.222.177.41'),(789,'1711744684','34.222.177.41'),(790,'1711744684','34.222.177.41'),(791,'1711744684','34.222.177.41'),(792,'1711744685','34.222.177.41'),(793,'1711744688','34.222.177.41'),(794,'1711771327','67.222.45.11'),(795,'1711771328','138.246.253.24'),(796,'1711797810','67.222.45.11'),(797,'1711797810','34.229.229.113'),(798,'1711831369','67.222.45.11'),(799,'1711831370','139.59.85.83'),(800,'1712031914','67.222.45.11'),(801,'1712031915','205.210.31.145'),(802,'1712069741','67.222.45.11'),(803,'1712069741','159.65.16.94'),(804,'1712101634','67.222.45.11'),(805,'1712101635','54.153.68.27'),(806,'1712122931','67.222.45.11'),(807,'1712122931','198.235.24.213'),(808,'1712242467','67.222.45.11'),(809,'1712242468','138.246.253.24'),(810,'1712388874','67.222.45.11'),(811,'1712388874','156.146.62.52'),(812,'1712395452','91.92.252.171'),(813,'1712395468','91.92.252.171'),(814,'1712395483','91.92.252.171'),(815,'1712395497','91.92.252.171'),(816,'1712395505','91.92.252.171'),(817,'1712395520','91.92.252.171'),(818,'1712395537','91.92.252.171'),(819,'1712395554','91.92.252.171'),(820,'1712395572','91.92.252.171'),(821,'1712395591','91.92.252.171'),(822,'1712395604','91.92.252.171'),(823,'1712395619','91.92.252.171'),(824,'1712395639','91.92.252.171'),(825,'1712395652','91.92.252.171'),(826,'1712395668','91.92.252.171'),(827,'1712395686','91.92.252.171'),(828,'1712395712','91.92.252.171'),(829,'1712395722','91.92.252.171'),(830,'1712395741','91.92.252.171'),(831,'1712395778','91.92.252.171'),(832,'1712395803','91.92.252.171'),(833,'1712395813','91.92.252.171'),(834,'1712395827','91.92.252.171'),(835,'1712395844','91.92.252.171'),(836,'1712395858','91.92.252.171'),(837,'1712395873','91.92.252.171'),(838,'1712395881','91.92.252.171'),(839,'1712395898','91.92.252.171'),(840,'1712395904','91.92.252.171'),(841,'1712395929','91.92.252.171'),(842,'1712395937','91.92.252.171'),(843,'1712395941','91.92.252.171'),(844,'1712395945','205.210.31.166'),(845,'1712395946','91.92.252.171'),(846,'1712395952','91.92.252.171'),(847,'1712395964','91.92.252.171'),(848,'1712395980','91.92.252.171'),(849,'1712395993','91.92.252.171'),(850,'1712396006','91.92.252.171'),(851,'1712396019','91.92.252.171'),(852,'1712396028','91.92.252.171'),(853,'1712396038','91.92.252.171'),(854,'1712396060','91.92.252.171'),(855,'1712396074','91.92.252.171'),(856,'1712396088','91.92.252.171'),(857,'1712396102','91.92.252.171'),(858,'1712396121','91.92.252.171'),(859,'1712396134','91.92.252.171'),(860,'1712396147','91.92.252.171'),(861,'1712396163','91.92.252.171'),(862,'1712396177','91.92.252.171'),(863,'1712396209','91.92.252.171'),(864,'1712396223','91.92.252.171'),(865,'1712396244','91.92.252.171'),(866,'1712396281','91.92.252.171'),(867,'1712396294','91.92.252.171'),(868,'1712396308','91.92.252.171'),(869,'1712433085','67.222.45.11'),(870,'1712433085','198.235.24.38'),(871,'1712577015','67.222.45.11'),(872,'1712577016','198.235.24.152'),(873,'1712716904','67.222.45.11'),(874,'1712716905','35.87.159.238'),(875,'1712769602','67.222.45.11'),(876,'1712769603','157.245.113.227'),(877,'1712769607','157.245.113.227'),(878,'1712769607','157.245.113.227'),(879,'1712769608','157.245.113.227'),(880,'1712769608','157.245.113.227'),(881,'1712769609','157.245.113.227'),(882,'1712769610','157.245.113.227'),(883,'1712769610','157.245.113.227'),(884,'1712769611','157.245.113.227'),(885,'1712769612','157.245.113.227'),(886,'1712769613','157.245.113.227'),(887,'1712769614','157.245.113.227'),(888,'1712769614','157.245.113.227'),(889,'1712769615','157.245.113.227'),(890,'1712769616','157.245.113.227'),(891,'1712769616','157.245.113.227'),(892,'1712771032','51.15.66.158'),(893,'1712775642','34.238.38.2'),(894,'1712775654','34.238.38.2'),(895,'1712775654','34.238.38.2'),(896,'1712775654','34.238.38.2'),(897,'1712775692','34.238.38.2'),(898,'1712775692','34.238.38.2'),(899,'1712775692','34.238.38.2'),(900,'1712775692','34.238.38.2'),(901,'1712775692','34.238.38.2'),(902,'1712775694','34.238.38.2'),(903,'1712775729','34.238.38.2'),(904,'1712775729','34.238.38.2'),(905,'1712775729','34.238.38.2'),(906,'1712775729','34.238.38.2'),(907,'1712775729','34.238.38.2'),(908,'1712775729','34.238.38.2'),(909,'1712775729','34.238.38.2'),(910,'1712775729','34.238.38.2'),(911,'1712775770','34.238.38.2'),(912,'1712775770','34.238.38.2'),(913,'1712775770','34.238.38.2'),(914,'1712775770','34.238.38.2'),(915,'1712775770','34.238.38.2'),(916,'1712775770','34.238.38.2'),(917,'1712775770','34.238.38.2'),(918,'1712775770','34.238.38.2'),(919,'1712848886','67.222.45.11'),(920,'1712848886','138.246.253.24'),(921,'1712952756','67.222.45.11'),(922,'1712952756','205.210.31.89'),(923,'1712998028','67.222.45.11'),(924,'1712998028','205.210.31.181'),(925,'1713072407','67.222.45.11'),(926,'1713072407','205.210.31.37'),(927,'1713088772','67.222.45.11'),(928,'1713088772','185.156.72.30'),(929,'1713147519','67.222.45.11'),(930,'1713147520','44.234.146.38'),(931,'1713171837','67.222.45.11'),(932,'1713171838','206.168.34.191'),(933,'1713171932','206.168.34.125'),(934,'1713251303','67.222.45.11'),(935,'1713251304','46.101.101.0'),(936,'1713262722','65.154.226.168'),(937,'1713284699','67.222.45.11'),(938,'1713284700','35.94.80.173'),(939,'1713297249','87.236.176.105'),(940,'1713303711','65.154.226.170'),(941,'1713316547','67.222.45.11'),(942,'1713316548','91.92.252.171'),(943,'1713341810','67.222.45.11'),(944,'1713341811','206.168.34.53'),(945,'1713345439','199.45.154.70'),(946,'1713471095','67.222.45.11'),(947,'1713471096','157.245.36.108'),(948,'1713503554','67.222.45.11'),(949,'1713503554','91.92.252.171'),(950,'1713503606','91.92.252.171'),(951,'1713503652','91.92.252.171'),(952,'1713503708','91.92.252.171'),(953,'1713503771','91.92.252.171'),(954,'1713503825','91.92.252.171'),(955,'1713503870','91.92.252.171'),(956,'1713588822','67.222.45.11'),(957,'1713588823','138.246.253.24'),(958,'1713617959','67.222.45.11'),(959,'1713617959','205.210.31.91'),(960,'1713685030','67.222.45.11'),(961,'1713685030','198.235.24.3'),(962,'1713727931','67.222.45.11'),(963,'1713727931','205.210.31.27'),(964,'1713756293','67.222.45.11'),(965,'1713756294','51.81.46.212'),(966,'1713850541','67.222.45.11'),(967,'1713850542','107.150.103.88'),(968,'1713850559','107.150.103.88'),(969,'1713850562','107.150.103.88'),(970,'1713850584','107.150.103.88'),(971,'1713851561','67.222.45.11'),(972,'1713851561','107.150.103.88'),(973,'1713851581','107.150.103.88'),(974,'1713851586','107.150.103.88'),(975,'1713851598','107.150.103.88'),(976,'1713909764','67.222.45.11'),(977,'1713909765','205.210.31.228'),(978,'1714065796','67.222.45.11'),(979,'1714065797','138.246.253.24'),(980,'1714080275','205.210.31.102'),(981,'1714149369','67.222.45.11'),(982,'1714149370','198.235.24.132'),(983,'1714198023','67.222.45.11'),(984,'1714198024','198.235.24.131'),(985,'1714203573','91.92.252.171'),(986,'1714203580','91.92.252.171'),(987,'1714203591','91.92.252.171'),(988,'1714203603','91.92.252.171'),(989,'1714203618','91.92.252.171'),(990,'1714203642','91.92.252.171'),(991,'1714203656','91.92.252.171'),(992,'1714203670','91.92.252.171'),(993,'1714203683','91.92.252.171'),(994,'1714203703','91.92.252.171'),(995,'1714203722','91.92.252.171'),(996,'1714203748','91.92.252.171'),(997,'1714203760','91.92.252.171'),(998,'1714203777','91.92.252.171'),(999,'1714203790','91.92.252.171'),(1000,'1714203805','91.92.252.171'),(1001,'1714203822','91.92.252.171'),(1002,'1714203828','91.92.252.171'),(1003,'1714203841','91.92.252.171'),(1004,'1714204956','87.236.176.142'),(1005,'1714299505','67.222.45.11'),(1006,'1714299506','205.210.31.177'),(1007,'1714337157','67.222.45.11'),(1008,'1714337158','68.183.9.16'),(1009,'1714483282','67.222.45.11'),(1010,'1714483283','192.81.214.110'),(1011,'1714575983','67.222.45.11'),(1012,'1714575984','205.210.31.170'),(1013,'1714646787','67.222.45.11'),(1014,'1714646788','81.17.26.130'),(1015,'1714646798','81.17.26.130'),(1016,'1714646798','81.17.26.130'),(1017,'1714646798','81.17.26.130'),(1018,'1714646798','81.17.26.130'),(1019,'1714646798','81.17.26.130'),(1020,'1714646798','81.17.26.130'),(1021,'1714646798','81.17.26.130'),(1022,'1714646798','81.17.26.130'),(1023,'1714646818','81.17.26.130'),(1024,'1714646818','81.17.26.130'),(1025,'1714646818','81.17.26.130'),(1026,'1714646818','81.17.26.130'),(1027,'1714646818','81.17.26.130'),(1028,'1714646818','81.17.26.130'),(1029,'1714646818','81.17.26.130'),(1030,'1714646818','81.17.26.130'),(1031,'1714705979','91.92.252.171'),(1032,'1714706000','91.92.252.171'),(1033,'1714706032','91.92.252.171'),(1034,'1714706051','91.92.252.171'),(1035,'1714706089','91.92.252.171'),(1036,'1714706137','91.92.252.171'),(1037,'1714706161','91.92.252.171'),(1038,'1714706201','91.92.252.171'),(1039,'1714718372','67.222.45.11'),(1040,'1714718373','167.88.63.96'),(1041,'1714718373','167.88.63.96'),(1042,'1714718374','167.88.63.96'),(1043,'1714859606','67.222.45.11'),(1044,'1714859607','81.17.26.130'),(1045,'1714865162','67.222.45.11'),(1046,'1714865163','27.115.124.5'),(1047,'1714865243','27.115.124.41'),(1048,'1714865320','27.115.124.49'),(1049,'1714865550','91.92.252.171'),(1050,'1715005277','67.222.45.11'),(1051,'1715005278','91.92.252.171'),(1052,'1715005294','91.92.252.171'),(1053,'1715005311','91.92.252.171'),(1054,'1715005331','91.92.252.171'),(1055,'1715005346','91.92.252.171'),(1056,'1715005359','91.92.252.171'),(1057,'1715005384','91.92.252.171'),(1058,'1715005404','91.92.252.171'),(1059,'1715005426','91.92.252.171'),(1060,'1715005440','91.92.252.171'),(1061,'1715005455','91.92.252.171'),(1062,'1715005469','91.92.252.171'),(1063,'1715005488','91.92.252.171'),(1064,'1715005511','91.92.252.171'),(1065,'1715005525','91.92.252.171'),(1066,'1715005542','91.92.252.171'),(1067,'1715005557','91.92.252.171'),(1068,'1715005572','91.92.252.171'),(1069,'1715005588','91.92.252.171'),(1070,'1715005642','91.92.252.171'),(1071,'1715005665','91.92.252.171'),(1072,'1715005681','91.92.252.171'),(1073,'1715005702','91.92.252.171'),(1074,'1715005713','91.92.252.171'),(1075,'1715005728','91.92.252.171'),(1076,'1715005748','91.92.252.171'),(1077,'1715005762','91.92.252.171'),(1078,'1715005809','91.92.252.171'),(1079,'1715005830','91.92.252.171'),(1080,'1715005848','91.92.252.171'),(1081,'1715005866','91.92.252.171'),(1082,'1715005885','91.92.252.171'),(1083,'1715005900','91.92.252.171'),(1084,'1715005918','91.92.252.171'),(1085,'1715005938','91.92.252.171'),(1086,'1715005957','91.92.252.171'),(1087,'1715005976','91.92.252.171'),(1088,'1715005996','91.92.252.171'),(1089,'1715006009','91.92.252.171'),(1090,'1715006024','91.92.252.171'),(1091,'1715006039','91.92.252.171'),(1092,'1715006063','91.92.252.171'),(1093,'1715006077','91.92.252.171'),(1094,'1715006096','91.92.252.171'),(1095,'1715006111','91.92.252.171'),(1096,'1715006130','91.92.252.171'),(1097,'1715006142','91.92.252.171'),(1098,'1715006159','91.92.252.171'),(1099,'1715006182','91.92.252.171'),(1100,'1715006195','91.92.252.171'),(1101,'1715006212','91.92.252.171'),(1102,'1715006230','91.92.252.171'),(1103,'1715006250','91.92.252.171'),(1104,'1715006264','91.92.252.171'),(1105,'1715006284','91.92.252.171'),(1106,'1715006295','91.92.252.171'),(1107,'1715116657','67.222.45.11'),(1108,'1715116657','205.210.31.200'),(1109,'1715179491','67.222.45.11'),(1110,'1715179491','207.154.197.113'),(1111,'1715179499','207.154.197.113'),(1112,'1715179500','207.154.197.113'),(1113,'1715179501','207.154.197.113'),(1114,'1715179502','207.154.197.113'),(1115,'1715179503','207.154.197.113'),(1116,'1715179504','207.154.197.113'),(1117,'1715179505','207.154.197.113'),(1118,'1715179507','207.154.197.113'),(1119,'1715179508','207.154.197.113'),(1120,'1715179508','207.154.197.113'),(1121,'1715179510','207.154.197.113'),(1122,'1715179511','207.154.197.113'),(1123,'1715179512','207.154.197.113'),(1124,'1715179513','207.154.197.113'),(1125,'1715179514','207.154.197.113'),(1126,'1715182464','198.235.24.172'),(1127,'1715185915','67.222.45.11'),(1128,'1715185916','81.17.26.130'),(1129,'1715185940','81.17.26.130'),(1130,'1715185940','81.17.26.130'),(1131,'1715185940','81.17.26.130'),(1132,'1715185940','81.17.26.130'),(1133,'1715185940','81.17.26.130'),(1134,'1715185940','81.17.26.130'),(1135,'1715185940','81.17.26.130'),(1136,'1715185940','81.17.26.130'),(1137,'1715185942','81.17.26.130'),(1138,'1715185944','81.17.26.130'),(1139,'1715236951','67.222.45.11'),(1140,'1715236952','199.45.155.22'),(1141,'1715243005','167.248.133.117'),(1142,'1715303347','67.222.45.11'),(1143,'1715303347','198.235.24.27'),(1144,'1715309396','45.94.31.202'),(1145,'1715363736','67.222.45.11'),(1146,'1715363736','109.205.213.18'),(1147,'1715440620','67.222.45.11'),(1148,'1715440621','138.246.253.24'),(1149,'1715459223','67.222.45.11'),(1150,'1715459224','198.235.24.231'),(1151,'1715460233','35.94.205.225'),(1152,'1715551988','67.222.45.11'),(1153,'1715551989','207.154.197.113'),(1154,'1715591524','67.222.45.11'),(1155,'1715591525','91.92.252.171'),(1156,'1715591541','91.92.252.171'),(1157,'1715591553','91.92.252.171'),(1158,'1715591566','91.92.252.171'),(1159,'1715591596','91.92.252.171'),(1160,'1715598143','83.147.52.42'),(1161,'1715663147','67.222.45.11'),(1162,'1715663148','162.243.165.9'),(1163,'1715675794','67.222.45.11'),(1164,'1715675794','198.235.24.97'),(1165,'1715727556','67.222.45.11'),(1166,'1715727557','91.92.252.171'),(1167,'1715890906','67.222.45.11'),(1168,'1715890907','205.210.31.43'),(1169,'1715923516','67.222.45.11'),(1170,'1715923517','138.246.253.24'),(1171,'1716022328','67.222.45.11'),(1172,'1716022328','87.236.176.81'),(1173,'1716123420','67.222.45.11'),(1174,'1716123421','199.45.154.68'),(1175,'1716133875','67.222.45.11'),(1176,'1716133876','199.45.155.32'),(1177,'1716139520','205.210.31.158'),(1178,'1716217954','67.222.45.11'),(1179,'1716217955','81.17.26.130'),(1180,'1716223018','67.222.45.11'),(1181,'1716223019','198.235.24.185'),(1182,'1716258695','67.222.45.11'),(1183,'1716258695','198.235.24.165'),(1184,'1716319908','67.222.45.11'),(1185,'1716319908','198.235.24.60'),(1186,'1716456495','67.222.45.11'),(1187,'1716456496','172.105.16.40'),(1188,'1716456497','172.105.16.40'),(1189,'1716456498','172.105.16.40'),(1190,'1716456498','172.105.16.40'),(1191,'1716456498','172.105.16.40'),(1192,'1716456499','172.105.16.40'),(1193,'1716456499','172.105.16.40'),(1194,'1716456499','172.105.16.40'),(1195,'1716456500','172.105.16.40'),(1196,'1716456500','172.105.16.40'),(1197,'1716456500','172.105.16.40'),(1198,'1716456501','172.105.16.40'),(1199,'1716456501','172.105.16.40'),(1200,'1716456501','172.105.16.40'),(1201,'1716456502','172.105.16.40'),(1202,'1716456502','172.105.16.40'),(1203,'1716553516','67.222.45.11'),(1204,'1716553517','207.154.197.113'),(1205,'1716553522','207.154.197.113'),(1206,'1716553523','207.154.197.113'),(1207,'1716553524','207.154.197.113'),(1208,'1716553525','207.154.197.113'),(1209,'1716553525','207.154.197.113'),(1210,'1716553526','207.154.197.113'),(1211,'1716553527','207.154.197.113'),(1212,'1716553528','207.154.197.113'),(1213,'1716553529','207.154.197.113'),(1214,'1716553530','207.154.197.113'),(1215,'1716553532','207.154.197.113'),(1216,'1716553532','207.154.197.113'),(1217,'1716553533','207.154.197.113'),(1218,'1716553534','207.154.197.113'),(1219,'1716553535','207.154.197.113'),(1220,'1716572904','67.222.45.11'),(1221,'1716572904','199.45.155.38'),(1222,'1716572927','199.45.155.38'),(1223,'1716572933','199.45.155.38'),(1224,'1716572939','199.45.155.38'),(1225,'1716572946','199.45.155.38'),(1226,'1716578624','199.45.154.25'),(1227,'1716600925','67.222.45.11'),(1228,'1716600926','91.92.252.171'),(1229,'1716600931','91.92.252.171'),(1230,'1716600934','91.92.252.171'),(1231,'1716600939','91.92.252.171'),(1232,'1716600945','91.92.252.171'),(1233,'1716600949','91.92.252.171'),(1234,'1716600962','91.92.252.171'),(1235,'1716600976','91.92.252.171'),(1236,'1716600990','91.92.252.171'),(1237,'1716601011','91.92.252.171'),(1238,'1716601015','91.92.252.171'),(1239,'1716601022','91.92.252.171'),(1240,'1716601029','91.92.252.171'),(1241,'1716601040','91.92.252.171'),(1242,'1716601058','91.92.252.171'),(1243,'1716601069','91.92.252.171'),(1244,'1716601081','91.92.252.171'),(1245,'1716601104','91.92.252.171'),(1246,'1716601110','91.92.252.171'),(1247,'1716601170','91.92.252.171'),(1248,'1716601186','91.92.252.171'),(1249,'1716601198','91.92.252.171'),(1250,'1716601209','91.92.252.171'),(1251,'1716601224','91.92.252.171'),(1252,'1716601251','91.92.252.171'),(1253,'1716601259','91.92.252.171'),(1254,'1716601269','91.92.252.171'),(1255,'1716601281','91.92.252.171'),(1256,'1716601285','91.92.252.171'),(1257,'1716601288','91.92.252.171'),(1258,'1716601297','91.92.252.171'),(1259,'1716601312','91.92.252.171'),(1260,'1716601318','91.92.252.171'),(1261,'1716601321','91.92.252.171'),(1262,'1716601324','91.92.252.171'),(1263,'1716601327','91.92.252.171'),(1264,'1716601332','91.92.252.171'),(1265,'1716601338','91.92.252.171'),(1266,'1716601347','91.92.252.171'),(1267,'1716601364','91.92.252.171'),(1268,'1716601379','91.92.252.171'),(1269,'1716601393','91.92.252.171'),(1270,'1716601405','91.92.252.171'),(1271,'1716601418','91.92.252.171'),(1272,'1716601426','91.92.252.171'),(1273,'1716601432','91.92.252.171'),(1274,'1716601435','91.92.252.171'),(1275,'1716601441','91.92.252.171'),(1276,'1716601444','91.92.252.171'),(1277,'1716601448','91.92.252.171'),(1278,'1716601456','91.92.252.171'),(1279,'1716601483','91.92.252.171'),(1280,'1716601495','91.92.252.171'),(1281,'1716601498','91.92.252.171'),(1282,'1716601500','91.92.252.171'),(1283,'1716637842','67.222.45.11'),(1284,'1716637843','35.94.219.222'),(1285,'1716643687','207.154.197.113'),(1286,'1716643692','207.154.197.113'),(1287,'1716643693','207.154.197.113'),(1288,'1716643693','207.154.197.113'),(1289,'1716643694','207.154.197.113'),(1290,'1716643695','207.154.197.113'),(1291,'1716643696','207.154.197.113'),(1292,'1716643696','207.154.197.113'),(1293,'1716643698','207.154.197.113'),(1294,'1716643698','207.154.197.113'),(1295,'1716643699','207.154.197.113'),(1296,'1716643700','207.154.197.113'),(1297,'1716643701','207.154.197.113'),(1298,'1716643702','207.154.197.113'),(1299,'1716643702','207.154.197.113'),(1300,'1716643703','207.154.197.113'),(1301,'1716730730','67.222.45.11'),(1302,'1716730731','23.239.4.252'),(1303,'1716730732','23.239.4.252'),(1304,'1716730732','23.239.4.252'),(1305,'1716730732','23.239.4.252'),(1306,'1716730732','23.239.4.252'),(1307,'1716730732','23.239.4.252'),(1308,'1716730733','23.239.4.252'),(1309,'1716730733','23.239.4.252'),(1310,'1716730733','23.239.4.252'),(1311,'1716730733','23.239.4.252'),(1312,'1716730733','23.239.4.252'),(1313,'1716730734','23.239.4.252'),(1314,'1716730734','23.239.4.252'),(1315,'1716730734','23.239.4.252'),(1316,'1716730734','23.239.4.252'),(1317,'1716730734','23.239.4.252'),(1318,'1716773317','67.222.45.11'),(1319,'1716773318','199.45.155.35'),(1320,'1716773352','199.45.155.35'),(1321,'1716773369','199.45.155.35'),(1322,'1716773400','199.45.155.35'),(1323,'1716778267','91.92.244.113'),(1324,'1716802962','67.222.45.11'),(1325,'1716802963','95.217.18.177'),(1326,'1716802970','143.244.168.161'),(1327,'1716802972','143.244.168.161'),(1328,'1716802973','143.244.168.161'),(1329,'1716802973','143.244.168.161'),(1330,'1716802973','143.244.168.161'),(1331,'1716802974','143.244.168.161'),(1332,'1716802974','143.244.168.161'),(1333,'1716802975','143.244.168.161'),(1334,'1716802975','143.244.168.161'),(1335,'1716802976','143.244.168.161'),(1336,'1716802976','143.244.168.161'),(1337,'1716802977','143.244.168.161'),(1338,'1716802977','143.244.168.161'),(1339,'1716802978','143.244.168.161'),(1340,'1716802978','143.244.168.161'),(1341,'1716802979','143.244.168.161'),(1342,'1716804351','146.70.119.6'),(1343,'1716806342','207.241.236.84'),(1344,'1716817378','171.67.70.233'),(1345,'1716822566','188.166.108.93'),(1346,'1716822571','188.166.108.93'),(1347,'1716822571','188.166.108.93'),(1348,'1716822572','188.166.108.93'),(1349,'1716822572','188.166.108.93'),(1350,'1716822573','188.166.108.93'),(1351,'1716822574','188.166.108.93'),(1352,'1716822574','188.166.108.93'),(1353,'1716822576','188.166.108.93'),(1354,'1716822576','188.166.108.93'),(1355,'1716822577','188.166.108.93'),(1356,'1716822578','188.166.108.93'),(1357,'1716822579','188.166.108.93'),(1358,'1716822579','188.166.108.93'),(1359,'1716822580','188.166.108.93'),(1360,'1716822580','188.166.108.93'),(1361,'1716831778','67.222.45.11'),(1362,'1716831779','171.67.70.233'),(1363,'1716839706','64.227.177.128'),(1364,'1716846422','171.67.70.238'),(1365,'1716860577','67.222.45.11'),(1366,'1716860578','171.67.70.238'),(1367,'1716881637','67.222.45.11'),(1368,'1716881638','143.110.252.81'),(1369,'1716900528','128.199.182.152'),(1370,'1716900537','128.199.182.152'),(1371,'1716900540','128.199.182.152'),(1372,'1716900540','128.199.182.152'),(1373,'1716900542','128.199.182.152'),(1374,'1716900544','128.199.182.152'),(1375,'1716900545','128.199.182.152'),(1376,'1716900547','128.199.182.152'),(1377,'1716900550','128.199.182.152'),(1378,'1716900551','128.199.182.152'),(1379,'1716900552','128.199.182.152'),(1380,'1716900554','128.199.182.152'),(1381,'1716900555','128.199.182.152'),(1382,'1716900556','128.199.182.152'),(1383,'1716900557','128.199.182.152'),(1384,'1716900557','128.199.182.152'),(1385,'1716974620','67.222.45.11'),(1386,'1716974620','139.162.155.225'),(1387,'1716974625','139.162.155.225'),(1388,'1716974626','139.162.155.225'),(1389,'1716974626','139.162.155.225'),(1390,'1716974627','139.162.155.225'),(1391,'1716974627','139.162.155.225'),(1392,'1716974628','139.162.155.225'),(1393,'1716974629','139.162.155.225'),(1394,'1716974630','139.162.155.225'),(1395,'1716974630','139.162.155.225'),(1396,'1716974631','139.162.155.225'),(1397,'1716974632','139.162.155.225'),(1398,'1716974633','139.162.155.225'),(1399,'1716974633','139.162.155.225'),(1400,'1716974634','139.162.155.225'),(1401,'1716974635','139.162.155.225'),(1402,'1717010628','67.222.45.11'),(1403,'1717010629','87.236.176.9'),(1404,'1717011388','207.154.195.136'),(1405,'1717060259','67.222.45.11'),(1406,'1717060260','206.81.24.227'),(1407,'1717060264','206.81.24.227'),(1408,'1717060265','206.81.24.227'),(1409,'1717060266','206.81.24.227'),(1410,'1717060266','206.81.24.227'),(1411,'1717060267','206.81.24.227'),(1412,'1717060268','206.81.24.227'),(1413,'1717060268','206.81.24.227'),(1414,'1717060270','206.81.24.227'),(1415,'1717060270','206.81.24.227'),(1416,'1717060271','206.81.24.227'),(1417,'1717060272','206.81.24.227'),(1418,'1717060273','206.81.24.227'),(1419,'1717060273','206.81.24.227'),(1420,'1717060274','206.81.24.227'),(1421,'1717060275','206.81.24.227'),(1422,'1717104302','67.222.45.11'),(1423,'1717104303','13.201.72.108'),(1424,'1717193929','67.222.45.11'),(1425,'1717193930','167.99.4.69'),(1426,'1717277367','67.222.45.11'),(1427,'1717277368','91.92.252.171'),(1428,'1717277379','91.92.252.171'),(1429,'1717277388','91.92.252.171'),(1430,'1717277399','91.92.252.171'),(1431,'1717286436','67.222.45.11'),(1432,'1717286437','83.147.52.49'),(1433,'1717432352','67.222.45.11'),(1434,'1717432353','83.147.52.49'),(1435,'1717460244','67.222.45.11'),(1436,'1717460245','54.229.3.50'),(1437,'1717460264','54.229.3.50'),(1438,'1717460264','54.229.3.50'),(1439,'1717460264','54.229.3.50'),(1440,'1717460264','54.229.3.50'),(1441,'1717460264','54.229.3.50'),(1442,'1717460264','54.229.3.50'),(1443,'1717460264','54.229.3.50'),(1444,'1717460264','54.229.3.50'),(1445,'1717460282','54.229.3.50'),(1446,'1717460282','54.229.3.50'),(1447,'1717460282','54.229.3.50'),(1448,'1717460282','54.229.3.50'),(1449,'1717460282','54.229.3.50'),(1450,'1717460284','54.229.3.50'),(1451,'1717460284','54.229.3.50'),(1452,'1717460284','54.229.3.50'),(1453,'1717460299','54.229.3.50'),(1454,'1717460299','54.229.3.50'),(1455,'1717460299','54.229.3.50'),(1456,'1717460299','54.229.3.50'),(1457,'1717460299','54.229.3.50'),(1458,'1717460299','54.229.3.50'),(1459,'1717460299','54.229.3.50'),(1460,'1717460315','54.229.3.50'),(1461,'1717460315','54.229.3.50'),(1462,'1717460315','54.229.3.50'),(1463,'1717460315','54.229.3.50'),(1464,'1717460315','54.229.3.50'),(1465,'1717460315','54.229.3.50'),(1466,'1717460315','54.229.3.50'),(1467,'1717460315','54.229.3.50'),(1468,'1717470975','205.210.31.81'),(1469,'1717488073','67.222.45.11'),(1470,'1717488074','209.38.248.17'),(1471,'1717488079','209.38.248.17'),(1472,'1717488079','209.38.248.17'),(1473,'1717488080','209.38.248.17'),(1474,'1717488081','209.38.248.17'),(1475,'1717488081','209.38.248.17'),(1476,'1717488082','209.38.248.17'),(1477,'1717488083','209.38.248.17'),(1478,'1717488084','209.38.248.17'),(1479,'1717488085','209.38.248.17'),(1480,'1717488085','209.38.248.17'),(1481,'1717488086','209.38.248.17'),(1482,'1717488087','209.38.248.17'),(1483,'1717488088','209.38.248.17'),(1484,'1717488088','209.38.248.17'),(1485,'1717488089','209.38.248.17'),(1486,'1717586935','67.222.45.11'),(1487,'1717586936','104.234.204.32'),(1488,'1717614300','67.222.45.11'),(1489,'1717614300','83.147.52.37'),(1490,'1717629163','67.222.45.11'),(1491,'1717629164','104.234.204.32'),(1492,'1717653786','199.45.155.40'),(1493,'1717653811','199.45.155.40'),(1494,'1717653825','199.45.155.40'),(1495,'1717653834','199.45.155.40'),(1496,'1717653844','199.45.155.40'),(1497,'1717654631','67.222.45.11'),(1498,'1717654632','199.45.155.61'),(1499,'1717668240','167.71.81.114'),(1500,'1717668243','167.71.81.114'),(1501,'1717668243','167.71.81.114'),(1502,'1717668244','167.71.81.114'),(1503,'1717668244','167.71.81.114'),(1504,'1717668244','167.71.81.114'),(1505,'1717668245','167.71.81.114'),(1506,'1717668245','167.71.81.114'),(1507,'1717668246','167.71.81.114'),(1508,'1717668246','167.71.81.114'),(1509,'1717668247','167.71.81.114'),(1510,'1717668247','167.71.81.114'),(1511,'1717668248','167.71.81.114'),(1512,'1717668248','167.71.81.114'),(1513,'1717668248','167.71.81.114'),(1514,'1717668249','167.71.81.114'),(1515,'1717682390','83.147.52.49'),(1516,'1717685107','104.234.204.32'),(1517,'1717719613','67.222.45.11'),(1518,'1717719614','188.165.87.105'),(1519,'1717726548','37.187.215.245'),(1520,'1717729829','51.254.49.107'),(1521,'1717735250','67.222.45.11'),(1522,'1717735251','51.254.49.101'),(1523,'1717736465','138.246.253.24'),(1524,'1717785552','67.222.45.11'),(1525,'1717785553','205.210.31.236'),(1526,'1717858923','67.222.45.11'),(1527,'1717858924','146.190.242.161'),(1528,'1717858926','146.190.242.161'),(1529,'1717858926','146.190.242.161'),(1530,'1717858926','146.190.242.161'),(1531,'1717858926','146.190.242.161'),(1532,'1717858927','146.190.242.161'),(1533,'1717858927','146.190.242.161'),(1534,'1717858927','146.190.242.161'),(1535,'1717858928','146.190.242.161'),(1536,'1717858928','146.190.242.161'),(1537,'1717858928','146.190.242.161'),(1538,'1717858929','146.190.242.161'),(1539,'1717858929','146.190.242.161'),(1540,'1717858930','146.190.242.161'),(1541,'1717858930','146.190.242.161'),(1542,'1717858930','146.190.242.161'),(1543,'1717869729','67.222.45.11'),(1544,'1717869729','104.234.204.32'),(1545,'1717950251','67.222.45.11'),(1546,'1717950251','104.234.204.32'),(1547,'1717961921','205.210.31.17'),(1548,'1717972270','205.210.31.56'),(1549,'1718007018','67.222.45.11'),(1550,'1718007018','104.234.204.32'),(1551,'1718007524','157.245.113.227'),(1552,'1718007527','157.245.113.227'),(1553,'1718007527','157.245.113.227'),(1554,'1718007527','157.245.113.227'),(1555,'1718007528','157.245.113.227'),(1556,'1718007528','157.245.113.227'),(1557,'1718007529','157.245.113.227'),(1558,'1718007529','157.245.113.227'),(1559,'1718007530','157.245.113.227'),(1560,'1718007530','157.245.113.227'),(1561,'1718007530','157.245.113.227'),(1562,'1718007531','157.245.113.227'),(1563,'1718007531','157.245.113.227'),(1564,'1718007532','157.245.113.227'),(1565,'1718007532','157.245.113.227'),(1566,'1718007533','157.245.113.227'),(1567,'1718068484','67.222.45.11'),(1568,'1718068485','157.245.37.225'),(1569,'1718078408','67.222.45.11'),(1570,'1718078409','147.185.132.105'),(1571,'1718115830','67.222.45.11'),(1572,'1718115830','83.147.52.37'),(1573,'1718175276','67.222.45.11'),(1574,'1718175276','165.227.84.14'),(1575,'1718175279','165.227.84.14'),(1576,'1718175280','165.227.84.14'),(1577,'1718175280','165.227.84.14'),(1578,'1718175281','165.227.84.14'),(1579,'1718175281','165.227.84.14'),(1580,'1718175282','165.227.84.14'),(1581,'1718175282','165.227.84.14'),(1582,'1718175283','165.227.84.14'),(1583,'1718175283','165.227.84.14'),(1584,'1718175284','165.227.84.14'),(1585,'1718175284','165.227.84.14'),(1586,'1718175285','165.227.84.14'),(1587,'1718175285','165.227.84.14'),(1588,'1718175285','165.227.84.14'),(1589,'1718175286','165.227.84.14'),(1590,'1718245853','67.222.45.11'),(1591,'1718245854','91.92.252.171'),(1592,'1718257950','67.222.45.11'),(1593,'1718257951','104.234.204.32'),(1594,'1718282082','138.246.253.24'),(1595,'1718344772','67.222.45.11'),(1596,'1718344773','91.92.252.171'),(1597,'1718344831','91.92.252.171'),(1598,'1718344862','91.92.252.171'),(1599,'1718344915','91.92.252.171'),(1600,'1718359758','35.95.49.144'),(1601,'1718404283','67.222.45.11'),(1602,'1718404284','83.147.52.49'),(1603,'1718430232','67.222.45.11'),(1604,'1718430233','91.92.252.171'),(1605,'1718489492','67.222.45.11'),(1606,'1718489493','198.235.24.171'),(1607,'1718541428','67.222.45.11'),(1608,'1718541429','159.89.17.243'),(1609,'1718541434','159.89.17.243'),(1610,'1718541434','159.89.17.243'),(1611,'1718541435','159.89.17.243'),(1612,'1718541436','159.89.17.243'),(1613,'1718541436','159.89.17.243'),(1614,'1718541437','159.89.17.243'),(1615,'1718541438','159.89.17.243'),(1616,'1718541439','159.89.17.243'),(1617,'1718541440','159.89.17.243'),(1618,'1718541440','159.89.17.243'),(1619,'1718541441','159.89.17.243'),(1620,'1718541442','159.89.17.243'),(1621,'1718541443','159.89.17.243'),(1622,'1718541443','159.89.17.243'),(1623,'1718541444','159.89.17.243'),(1624,'1718552895','67.222.45.11'),(1625,'1718552896','198.235.24.134'),(1626,'1718615458','67.222.45.11'),(1627,'1718615458','199.45.155.23'),(1628,'1718620736','199.45.154.27'),(1629,'1718620759','199.45.154.27'),(1630,'1718620774','199.45.154.27'),(1631,'1718620783','199.45.154.27'),(1632,'1718620789','199.45.154.27'),(1633,'1718637605','216.250.255.126'),(1634,'1718684999','67.222.45.11'),(1635,'1718685000','91.92.242.199'),(1636,'1718685018','91.92.242.199'),(1637,'1718685043','91.92.242.199'),(1638,'1718685066','91.92.242.199'),(1639,'1718685075','91.92.242.199'),(1640,'1718690777','67.222.45.11'),(1641,'1718690777','198.235.24.35'),(1642,'1718694982','192.46.211.230'),(1643,'1718694990','192.46.211.230'),(1644,'1718694998','192.46.211.230'),(1645,'1718695004','192.46.211.230'),(1646,'1718695014','192.46.211.230'),(1647,'1718695017','192.46.211.230'),(1648,'1718695020','192.46.211.230'),(1649,'1718695024','192.46.211.230'),(1650,'1718695025','192.46.211.230'),(1651,'1718703028','91.92.252.171'),(1652,'1718799137','67.222.45.11'),(1653,'1718799137','45.148.10.59'),(1654,'1718799151','45.148.10.59'),(1655,'1718799151','45.148.10.59'),(1656,'1718799151','45.148.10.59'),(1657,'1718799151','45.148.10.59'),(1658,'1718799151','45.148.10.59'),(1659,'1718799151','45.148.10.59'),(1660,'1718799153','45.148.10.59'),(1661,'1718799155','45.148.10.59'),(1662,'1718929369','67.222.45.11'),(1663,'1718929369','91.92.252.171'),(1664,'1719010805','145.220.91.19'),(1665,'1719014839','67.222.45.11'),(1666,'1719014840','198.235.24.247'),(1667,'1719050013','67.222.45.11'),(1668,'1719050014','205.210.31.133'),(1669,'1719157753','67.222.45.11'),(1670,'1719157754','51.81.46.212'),(1671,'1719174563','135.148.100.196'),(1672,'1719184239','67.222.45.11'),(1673,'1719184240','205.210.31.164'),(1674,'1719197605','91.92.244.113'),(1675,'1719197606','91.92.244.113'),(1676,'1719197610','91.92.244.113'),(1677,'1719197612','91.92.244.113'),(1678,'1719197613','91.92.244.113'),(1679,'1719208881','67.222.45.11'),(1680,'1719208882','139.59.231.238'),(1681,'1719208887','139.59.231.238'),(1682,'1719208888','139.59.231.238'),(1683,'1719208889','139.59.231.238'),(1684,'1719208889','139.59.231.238'),(1685,'1719208890','139.59.231.238'),(1686,'1719208891','139.59.231.238'),(1687,'1719208892','139.59.231.238'),(1688,'1719208893','139.59.231.238'),(1689,'1719208894','139.59.231.238'),(1690,'1719208895','139.59.231.238'),(1691,'1719208896','139.59.231.238'),(1692,'1719208897','139.59.231.238'),(1693,'1719208898','139.59.231.238'),(1694,'1719208898','139.59.231.238'),(1695,'1719208899','139.59.231.238'),(1696,'1719262735','67.222.45.11'),(1697,'1719262736','209.38.156.4'),(1698,'1719286277','67.222.45.11'),(1699,'1719286278','165.22.93.21'),(1700,'1719345786','67.222.45.11'),(1701,'1719345787','91.92.252.171'),(1702,'1719403362','67.222.45.11'),(1703,'1719403362','198.235.24.69'),(1704,'1719404498','207.154.212.47'),(1705,'1719404503','207.154.212.47'),(1706,'1719404504','207.154.212.47'),(1707,'1719404504','207.154.212.47'),(1708,'1719404505','207.154.212.47'),(1709,'1719404506','207.154.212.47'),(1710,'1719404506','207.154.212.47'),(1711,'1719404507','207.154.212.47'),(1712,'1719404508','207.154.212.47'),(1713,'1719404509','207.154.212.47'),(1714,'1719404510','207.154.212.47'),(1715,'1719404511','207.154.212.47'),(1716,'1719404512','207.154.212.47'),(1717,'1719404512','207.154.212.47'),(1718,'1719404513','207.154.212.47'),(1719,'1719404514','207.154.212.47'),(1720,'1719436631','67.222.45.11'),(1721,'1719436632','165.232.85.174'),(1722,'1719584564','67.222.45.11'),(1723,'1719584565','159.65.144.72'),(1724,'1719584572','159.65.144.72'),(1725,'1719584573','159.65.144.72'),(1726,'1719584574','159.65.144.72'),(1727,'1719584575','159.65.144.72'),(1728,'1719584576','159.65.144.72'),(1729,'1719584577','159.65.144.72'),(1730,'1719584578','159.65.144.72'),(1731,'1719584580','159.65.144.72'),(1732,'1719584581','159.65.144.72'),(1733,'1719584582','159.65.144.72'),(1734,'1719584583','159.65.144.72'),(1735,'1719584584','159.65.144.72'),(1736,'1719584585','159.65.144.72'),(1737,'1719584586','159.65.144.72'),(1738,'1719584587','159.65.144.72'),(1739,'1719660564','67.222.45.11'),(1740,'1719660564','51.38.188.106'),(1741,'1719668600','198.235.24.162'),(1742,'1719695121','67.222.45.11'),(1743,'1719695122','87.236.176.106'),(1744,'1719695926','198.235.24.180'),(1745,'1719724033','67.222.45.11'),(1746,'1719724033','138.246.253.24'),(1747,'1719733876','67.222.45.11'),(1748,'1719733876','45.148.10.59'),(1749,'1719733888','45.148.10.59'),(1750,'1719733888','45.148.10.59'),(1751,'1719733888','45.148.10.59'),(1752,'1719733888','45.148.10.59'),(1753,'1719733888','45.148.10.59'),(1754,'1719733888','45.148.10.59'),(1755,'1719733888','45.148.10.59'),(1756,'1719733888','45.148.10.59'),(1757,'1719733901','45.148.10.59'),(1758,'1719733901','45.148.10.59'),(1759,'1719733901','45.148.10.59'),(1760,'1719733901','45.148.10.59'),(1761,'1719733901','45.148.10.59'),(1762,'1719733901','45.148.10.59'),(1763,'1719733903','45.148.10.59'),(1764,'1719733903','45.148.10.59'),(1765,'1719772442','67.222.45.11'),(1766,'1719772442','45.55.196.194'),(1767,'1719774642','167.172.232.142'),(1768,'1719774644','167.172.232.142'),(1769,'1719774645','167.172.232.142'),(1770,'1719774645','167.172.232.142'),(1771,'1719774645','167.172.232.142'),(1772,'1719774646','167.172.232.142'),(1773,'1719774646','167.172.232.142'),(1774,'1719774647','167.172.232.142'),(1775,'1719774647','167.172.232.142'),(1776,'1719774648','167.172.232.142'),(1777,'1719774648','167.172.232.142'),(1778,'1719774649','167.172.232.142'),(1779,'1719774649','167.172.232.142'),(1780,'1719774649','167.172.232.142'),(1781,'1719774650','167.172.232.142'),(1782,'1719774650','167.172.232.142'),(1783,'1719811878','67.222.45.11'),(1784,'1719811879','205.210.31.52'),(1785,'1719944830','67.222.45.11'),(1786,'1719944831','207.154.197.113'),(1787,'1719944836','207.154.197.113'),(1788,'1719944836','207.154.197.113'),(1789,'1719944837','207.154.197.113'),(1790,'1719944838','207.154.197.113'),(1791,'1719944838','207.154.197.113'),(1792,'1719944839','207.154.197.113'),(1793,'1719944840','207.154.197.113'),(1794,'1719944841','207.154.197.113'),(1795,'1719944842','207.154.197.113'),(1796,'1719944842','207.154.197.113'),(1797,'1719944844','207.154.197.113'),(1798,'1719944845','207.154.197.113'),(1799,'1719944845','207.154.197.113'),(1800,'1719944846','207.154.197.113'),(1801,'1719944846','207.154.197.113'),(1802,'1719991045','67.222.45.11'),(1803,'1719991046','91.92.252.171'),(1804,'1719991048','91.92.252.171'),(1805,'1719991049','91.92.252.171'),(1806,'1719991051','91.92.252.171'),(1807,'1720117319','67.222.45.11'),(1808,'1720117320','157.230.19.140'),(1809,'1720117320','157.230.19.140'),(1810,'1720117321','157.230.19.140'),(1811,'1720117322','157.230.19.140'),(1812,'1720117322','157.230.19.140'),(1813,'1720117323','157.230.19.140'),(1814,'1720117324','157.230.19.140'),(1815,'1720117325','157.230.19.140'),(1816,'1720117326','157.230.19.140'),(1817,'1720117326','157.230.19.140'),(1818,'1720117327','157.230.19.140'),(1819,'1720117328','157.230.19.140'),(1820,'1720117329','157.230.19.140'),(1821,'1720117330','157.230.19.140'),(1822,'1720117330','157.230.19.140'),(1823,'1720117331','157.230.19.140'),(1824,'1720156178','67.222.45.11'),(1825,'1720156179','138.246.253.24'),(1826,'1720164956','67.222.45.11'),(1827,'1720164956','198.235.24.193'),(1828,'1720226850','67.222.45.11'),(1829,'1720226851','205.210.31.58'),(1830,'1720293482','67.222.45.11'),(1831,'1720293483','159.89.12.166'),(1832,'1720293483','159.89.12.166'),(1833,'1720293484','159.89.12.166'),(1834,'1720293485','159.89.12.166'),(1835,'1720293485','159.89.12.166'),(1836,'1720293486','159.89.12.166'),(1837,'1720293487','159.89.12.166'),(1838,'1720293487','159.89.12.166'),(1839,'1720293488','159.89.12.166'),(1840,'1720293489','159.89.12.166'),(1841,'1720293490','159.89.12.166'),(1842,'1720293491','159.89.12.166'),(1843,'1720293492','159.89.12.166'),(1844,'1720293492','159.89.12.166'),(1845,'1720293493','159.89.12.166'),(1846,'1720293493','159.89.12.166'),(1847,'1720317068','67.222.45.11'),(1848,'1720317069','198.235.24.164'),(1849,'1720361369','67.222.45.11'),(1850,'1720361370','199.45.154.130'),(1851,'1720375088','67.222.45.11'),(1852,'1720375089','199.45.155.108'),(1853,'1720381042','163.123.181.189'),(1854,'1720466148','67.222.45.11'),(1855,'1720466149','206.81.12.187'),(1856,'1720466149','206.81.12.187'),(1857,'1720466149','206.81.12.187'),(1858,'1720466150','206.81.12.187'),(1859,'1720466150','206.81.12.187'),(1860,'1720466150','206.81.12.187'),(1861,'1720466151','206.81.12.187'),(1862,'1720466151','206.81.12.187'),(1863,'1720466152','206.81.12.187'),(1864,'1720466152','206.81.12.187'),(1865,'1720466152','206.81.12.187'),(1866,'1720466153','206.81.12.187'),(1867,'1720466153','206.81.12.187'),(1868,'1720466153','206.81.12.187'),(1869,'1720466154','206.81.12.187'),(1870,'1720466154','206.81.12.187'),(1871,'1720519405','67.222.45.11'),(1872,'1720519405','206.189.228.83'),(1873,'1720584248','67.222.45.11'),(1874,'1720584249','205.210.31.241'),(1875,'1720610599','67.222.45.11'),(1876,'1720610599','199.45.155.110'),(1877,'1720634393','67.222.45.11'),(1878,'1720634394','172.105.16.105'),(1879,'1720634394','172.105.16.105'),(1880,'1720634395','172.105.16.105'),(1881,'1720634396','172.105.16.105'),(1882,'1720634398','172.105.16.105'),(1883,'1720634398','172.105.16.105'),(1884,'1720634399','172.105.16.105'),(1885,'1720634400','172.105.16.105'),(1886,'1720634401','172.105.16.105'),(1887,'1720634401','172.105.16.105'),(1888,'1720634401','172.105.16.105'),(1889,'1720634402','172.105.16.105'),(1890,'1720634403','172.105.16.105'),(1891,'1720634403','172.105.16.105'),(1892,'1720634404','172.105.16.105'),(1893,'1720634404','172.105.16.105'),(1894,'1720725364','67.222.45.11'),(1895,'1720725365','45.196.45.130'),(1896,'1720747746','83.147.52.49'),(1897,'1720747746','83.147.52.49'),(1898,'1720747746','83.147.52.49'),(1899,'1720747746','83.147.52.49'),(1900,'1720747746','83.147.52.49'),(1901,'1720747746','83.147.52.49'),(1902,'1720747746','83.147.52.49'),(1903,'1720747746','83.147.52.49'),(1904,'1720747746','83.147.52.49'),(1905,'1720747746','83.147.52.49'),(1906,'1720747746','83.147.52.49'),(1907,'1720747746','83.147.52.49'),(1908,'1720747746','83.147.52.49'),(1909,'1720747746','83.147.52.49'),(1910,'1720747746','83.147.52.49'),(1911,'1720747746','83.147.52.49'),(1912,'1720747746','83.147.52.49'),(1913,'1720747746','83.147.52.49'),(1914,'1720747746','83.147.52.49'),(1915,'1720747746','83.147.52.49'),(1916,'1720747746','83.147.52.49'),(1917,'1720747746','83.147.52.49'),(1918,'1720747746','83.147.52.49'),(1919,'1720747747','83.147.52.49'),(1920,'1720747747','67.222.45.11'),(1921,'1720814714','67.222.45.11'),(1922,'1720814715','164.90.208.56'),(1923,'1720814715','164.90.208.56'),(1924,'1720814715','164.90.208.56'),(1925,'1720814716','164.90.208.56'),(1926,'1720814717','164.90.208.56'),(1927,'1720814717','164.90.208.56'),(1928,'1720814718','164.90.208.56'),(1929,'1720814719','164.90.208.56'),(1930,'1720814720','164.90.208.56'),(1931,'1720814721','164.90.208.56'),(1932,'1720814721','164.90.208.56'),(1933,'1720814723','164.90.208.56'),(1934,'1720814723','164.90.208.56'),(1935,'1720814724','164.90.208.56'),(1936,'1720814724','164.90.208.56'),(1937,'1720814725','164.90.208.56'),(1938,'1720853765','67.222.45.11'),(1939,'1720853766','138.246.253.24'),(1940,'1720934371','167.172.232.142'),(1941,'1720934372','167.172.232.142'),(1942,'1720934372','167.172.232.142'),(1943,'1720934372','167.172.232.142'),(1944,'1720934372','167.172.232.142'),(1945,'1720934373','167.172.232.142'),(1946,'1720934373','167.172.232.142'),(1947,'1720934374','167.172.232.142'),(1948,'1720934374','167.172.232.142'),(1949,'1720934375','167.172.232.142'),(1950,'1720934375','167.172.232.142'),(1951,'1720934376','167.172.232.142'),(1952,'1720934376','167.172.232.142'),(1953,'1720934376','167.172.232.142'),(1954,'1720934376','167.172.232.142'),(1955,'1720934377','167.172.232.142'),(1956,'1720966341','83.147.52.37'),(1957,'1720966341','83.147.52.37'),(1958,'1720966341','83.147.52.37'),(1959,'1720966341','83.147.52.37'),(1960,'1720966341','83.147.52.37'),(1961,'1720966341','83.147.52.37'),(1962,'1720966341','83.147.52.37'),(1963,'1720966341','83.147.52.37'),(1964,'1720966341','83.147.52.37'),(1965,'1720966341','83.147.52.37'),(1966,'1720966341','83.147.52.37'),(1967,'1720966341','67.222.45.11'),(1968,'1720966341','83.147.52.37'),(1969,'1720966341','83.147.52.37'),(1970,'1720966341','83.147.52.37'),(1971,'1720966341','83.147.52.37'),(1972,'1720966341','83.147.52.37'),(1973,'1720966341','83.147.52.37'),(1974,'1720966341','83.147.52.37'),(1975,'1720966341','83.147.52.37'),(1976,'1720966342','83.147.52.37'),(1977,'1721105891','67.222.45.11'),(1978,'1721105892','104.237.130.38'),(1979,'1721105893','104.237.130.38'),(1980,'1721105894','104.237.130.38'),(1981,'1721105894','104.237.130.38'),(1982,'1721105894','104.237.130.38'),(1983,'1721105894','104.237.130.38'),(1984,'1721105895','104.237.130.38'),(1985,'1721105895','104.237.130.38'),(1986,'1721105895','104.237.130.38'),(1987,'1721105896','104.237.130.38'),(1988,'1721105896','104.237.130.38'),(1989,'1721105896','104.237.130.38'),(1990,'1721105897','104.237.130.38'),(1991,'1721105897','104.237.130.38'),(1992,'1721105897','104.237.130.38'),(1993,'1721105897','104.237.130.38'),(1994,'1721141352','35.93.255.227'),(1995,'1721141352','67.222.45.11'),(1996,'1721205301','35.171.144.152'),(1997,'1721205301','67.222.45.11'),(1998,'1721205303','54.88.179.33'),(1999,'1721243800','54.88.179.33'),(2000,'1721243800','67.222.45.11'),(2001,'1721278114','67.222.45.11'),(2002,'1721278115','139.162.210.205'),(2003,'1721278119','139.162.210.205'),(2004,'1721278120','139.162.210.205'),(2005,'1721278121','139.162.210.205'),(2006,'1721278121','139.162.210.205'),(2007,'1721278122','139.162.210.205'),(2008,'1721278122','139.162.210.205'),(2009,'1721278123','139.162.210.205'),(2010,'1721278124','139.162.210.205'),(2011,'1721278125','139.162.210.205'),(2012,'1721278126','139.162.210.205'),(2013,'1721278127','139.162.210.205'),(2014,'1721278128','139.162.210.205'),(2015,'1721278128','139.162.210.205'),(2016,'1721278129','139.162.210.205'),(2017,'1721278130','139.162.210.205'),(2018,'1721311047','67.222.45.11'),(2019,'1721311047','138.246.253.24'),(2020,'1721493993','67.222.45.11'),(2021,'1721493994','159.89.174.87'),(2022,'1721493994','159.89.174.87'),(2023,'1721493995','159.89.174.87'),(2024,'1721493997','159.89.174.87'),(2025,'1721493999','159.89.174.87'),(2026,'1721494001','159.89.174.87'),(2027,'1721494003','159.89.174.87'),(2028,'1721494005','159.89.174.87'),(2029,'1721494008','159.89.174.87'),(2030,'1721494009','159.89.174.87'),(2031,'1721494011','159.89.174.87'),(2032,'1721494014','159.89.174.87'),(2033,'1721494016','159.89.174.87'),(2034,'1721494017','159.89.174.87'),(2035,'1721494018','159.89.174.87'),(2036,'1721494020','159.89.174.87'),(2037,'1721536449','67.222.45.11'),(2038,'1721536449','109.205.213.18'),(2039,'1721541474','67.222.45.11'),(2040,'1721541474','109.205.213.18'),(2041,'1721541920','109.205.213.18'),(2042,'1721545370','109.205.213.18'),(2043,'1721546123','109.205.213.18'),(2044,'1721594732','67.222.45.11'),(2045,'1721594733','83.147.52.49'),(2046,'1721636705','67.222.45.11'),(2047,'1721636706','51.81.46.212'),(2048,'1721668704','206.81.24.227'),(2049,'1721668705','67.222.45.11'),(2050,'1721668705','206.81.24.227'),(2051,'1721668707','206.81.24.227'),(2052,'1721668710','206.81.24.227'),(2053,'1721668712','206.81.24.227'),(2054,'1721668714','206.81.24.227'),(2055,'1721668716','206.81.24.227'),(2056,'1721668718','206.81.24.227'),(2057,'1721668722','206.81.24.227'),(2058,'1721668724','206.81.24.227'),(2059,'1721668727','206.81.24.227'),(2060,'1721668731','206.81.24.227'),(2061,'1721668733','206.81.24.227'),(2062,'1721668734','206.81.24.227'),(2063,'1721668736','206.81.24.227'),(2064,'1721668738','206.81.24.227'),(2065,'1721712199','67.222.45.11'),(2066,'1721712200','64.227.129.118'),(2067,'1721850805','67.222.45.11'),(2068,'1721850805','165.227.173.41'),(2069,'1721850806','165.227.173.41'),(2070,'1721850806','165.227.173.41'),(2071,'1721850806','165.227.173.41'),(2072,'1721850807','165.227.173.41'),(2073,'1721850808','165.227.173.41'),(2074,'1721850809','165.227.173.41'),(2075,'1721850809','165.227.173.41'),(2076,'1721850811','165.227.173.41'),(2077,'1721850811','165.227.173.41'),(2078,'1721850812','165.227.173.41'),(2079,'1721850814','165.227.173.41'),(2080,'1721850815','165.227.173.41'),(2081,'1721850817','165.227.173.41'),(2082,'1721850817','165.227.173.41'),(2083,'1721850818','165.227.173.41'),(2084,'1721891422','67.222.45.11'),(2085,'1721891423','138.246.253.24'),(2086,'1722000897','67.222.45.11'),(2087,'1722000898','109.205.213.18'),(2088,'1722000907','109.205.213.18'),(2089,'1722000907','109.205.213.18'),(2090,'1722000907','109.205.213.18'),(2091,'1722000907','109.205.213.18'),(2092,'1722000907','109.205.213.18'),(2093,'1722000907','109.205.213.18'),(2094,'1722000907','109.205.213.18'),(2095,'1722000907','109.205.213.18'),(2096,'1722020270','67.222.45.11'),(2097,'1722020270','134.209.25.199'),(2098,'1722020271','134.209.25.199'),(2099,'1722020271','134.209.25.199'),(2100,'1722020272','134.209.25.199'),(2101,'1722020272','134.209.25.199'),(2102,'1722020273','134.209.25.199'),(2103,'1722020275','134.209.25.199'),(2104,'1722020276','134.209.25.199'),(2105,'1722020277','134.209.25.199'),(2106,'1722020277','134.209.25.199'),(2107,'1722020278','134.209.25.199'),(2108,'1722020279','134.209.25.199'),(2109,'1722020280','134.209.25.199'),(2110,'1722020280','134.209.25.199'),(2111,'1722020281','134.209.25.199'),(2112,'1722020281','134.209.25.199'),(2113,'1722068639','67.222.45.11'),(2114,'1722068639','199.45.154.140'),(2115,'1722071671','95.217.18.177'),(2116,'1722071673','95.217.18.177'),(2117,'1722071673','167.99.210.137'),(2118,'1722071677','167.99.210.137'),(2119,'1722071678','167.99.210.137'),(2120,'1722071679','167.99.210.137'),(2121,'1722071679','167.99.210.137'),(2122,'1722071680','167.99.210.137'),(2123,'1722071681','167.99.210.137'),(2124,'1722071681','167.99.210.137'),(2125,'1722071683','167.99.210.137'),(2126,'1722071683','167.99.210.137'),(2127,'1722071684','167.99.210.137'),(2128,'1722071685','167.99.210.137'),(2129,'1722071686','167.99.210.137'),(2130,'1722071686','167.99.210.137'),(2131,'1722071687','167.99.210.137'),(2132,'1722071687','167.99.210.137'),(2133,'1722071730','140.238.250.166'),(2134,'1722071730','140.238.250.166'),(2135,'1722071730','140.238.250.166'),(2136,'1722071730','140.238.250.166'),(2137,'1722071730','140.238.250.166'),(2138,'1722071730','140.238.250.166'),(2139,'1722071730','140.238.250.166'),(2140,'1722071730','140.238.250.166'),(2141,'1722071730','140.238.250.166'),(2142,'1722071730','140.238.250.166'),(2143,'1722071741','207.241.236.83'),(2144,'1722071770','154.47.29.27'),(2145,'1722104972','67.222.45.11'),(2146,'1722104973','47.242.224.70'),(2147,'1722117160','198.235.24.170'),(2148,'1722123762','67.222.45.11'),(2149,'1722123762','5.164.29.116'),(2150,'1722125174','138.68.82.23'),(2151,'1722125175','138.68.82.23'),(2152,'1722125176','138.68.82.23'),(2153,'1722125177','138.68.82.23'),(2154,'1722125178','138.68.82.23'),(2155,'1722125179','138.68.82.23'),(2156,'1722125180','138.68.82.23'),(2157,'1722125181','138.68.82.23'),(2158,'1722125183','138.68.82.23'),(2159,'1722125183','138.68.82.23'),(2160,'1722125184','138.68.82.23'),(2161,'1722125186','138.68.82.23'),(2162,'1722125186','138.68.82.23'),(2163,'1722125187','138.68.82.23'),(2164,'1722125188','138.68.82.23'),(2165,'1722125189','138.68.82.23'),(2166,'1722134684','49.235.189.18'),(2167,'1722135393','49.235.189.18'),(2168,'1722182144','67.222.45.11'),(2169,'1722182144','205.210.31.24'),(2170,'1722197512','159.223.3.61'),(2171,'1722300677','67.222.45.11'),(2172,'1722300677','87.236.176.249'),(2173,'1722302367','64.226.65.160'),(2174,'1722302372','64.226.65.160'),(2175,'1722302373','64.226.65.160'),(2176,'1722302374','64.226.65.160'),(2177,'1722302374','64.226.65.160'),(2178,'1722302375','64.226.65.160'),(2179,'1722302376','64.226.65.160'),(2180,'1722302377','64.226.65.160'),(2181,'1722302378','64.226.65.160'),(2182,'1722302378','64.226.65.160'),(2183,'1722302379','64.226.65.160'),(2184,'1722302380','64.226.65.160'),(2185,'1722302381','64.226.65.160'),(2186,'1722302382','64.226.65.160'),(2187,'1722302382','64.226.65.160'),(2188,'1722302383','64.226.65.160'),(2189,'1722305450','45.148.10.59'),(2190,'1722305464','45.148.10.59'),(2191,'1722305464','45.148.10.59'),(2192,'1722305464','45.148.10.59'),(2193,'1722305464','45.148.10.59'),(2194,'1722305464','45.148.10.59'),(2195,'1722305464','45.148.10.59'),(2196,'1722305464','45.148.10.59'),(2197,'1722305464','45.148.10.59'),(2198,'1722311155','45.148.10.75'),(2199,'1722439746','67.222.45.11'),(2200,'1722439746','138.246.253.24'),(2201,'1722447905','67.222.45.11'),(2202,'1722447906','35.171.144.152'),(2203,'1722479718','67.222.45.11'),(2204,'1722479719','139.59.132.8'),(2205,'1722479719','139.59.132.8'),(2206,'1722479721','139.59.132.8'),(2207,'1722479721','139.59.132.8'),(2208,'1722479722','139.59.132.8'),(2209,'1722479722','139.59.132.8'),(2210,'1722479723','139.59.132.8'),(2211,'1722479724','139.59.132.8'),(2212,'1722479725','139.59.132.8'),(2213,'1722479726','139.59.132.8'),(2214,'1722479727','139.59.132.8'),(2215,'1722479728','139.59.132.8'),(2216,'1722479729','139.59.132.8'),(2217,'1722479729','139.59.132.8'),(2218,'1722479730','139.59.132.8'),(2219,'1722479731','139.59.132.8'),(2220,'1722483712','54.88.179.33'),(2221,'1722483713','54.88.179.33'),(2222,'1722533803','67.222.45.11'),(2223,'1722533804','45.148.10.75'),(2224,'1722567284','67.222.45.11'),(2225,'1722567284','205.210.31.88'),(2226,'1722589417','67.222.45.11'),(2227,'1722589418','159.89.127.165'),(2228,'1722589418','159.89.127.165'),(2229,'1722589419','159.89.127.165'),(2230,'1722589419','159.89.127.165'),(2231,'1722589419','159.89.127.165'),(2232,'1722589419','159.89.127.165'),(2233,'1722589420','159.89.127.165'),(2234,'1722589420','159.89.127.165'),(2235,'1722589421','159.89.127.165'),(2236,'1722589421','159.89.127.165'),(2237,'1722589421','159.89.127.165'),(2238,'1722589422','159.89.127.165'),(2239,'1722589422','159.89.127.165'),(2240,'1722589422','159.89.127.165'),(2241,'1722589423','159.89.127.165'),(2242,'1722589423','159.89.127.165'),(2243,'1722591445','199.45.154.159'),(2244,'1722611987','162.142.125.207'),(2245,'1722627231','67.222.45.11'),(2246,'1722627232','45.148.10.206'),(2247,'1722634768','205.210.31.28'),(2248,'1722674463','67.222.45.11'),(2249,'1722674464','198.235.24.130'),(2250,'1722743811','67.222.45.11'),(2251,'1722774832','67.222.45.11'),(2252,'1722774832','64.227.70.2'),(2253,'1722774833','64.227.70.2'),(2254,'1722774833','64.227.70.2'),(2255,'1722774834','64.227.70.2'),(2256,'1722774835','64.227.70.2'),(2257,'1722774835','64.227.70.2'),(2258,'1722774836','64.227.70.2'),(2259,'1722774837','64.227.70.2'),(2260,'1722774838','64.227.70.2'),(2261,'1722774839','64.227.70.2'),(2262,'1722774840','64.227.70.2'),(2263,'1722774841','64.227.70.2'),(2264,'1722774841','64.227.70.2'),(2265,'1722774842','64.227.70.2'),(2266,'1722774843','64.227.70.2'),(2267,'1722774843','64.227.70.2'),(2268,'1722808220','67.222.45.11'),(2269,'1722808221','109.205.213.18'),(2270,'1722891906','67.222.45.11'),(2271,'1722891906','198.235.24.56'),(2272,'1722925034','67.222.45.11'),(2273,'1722925035','154.12.230.188'),(2274,'1722938908','164.90.208.56'),(2275,'1722938912','164.90.208.56'),(2276,'1722938913','164.90.208.56'),(2277,'1722938914','164.90.208.56'),(2278,'1722938914','164.90.208.56'),(2279,'1722938915','164.90.208.56'),(2280,'1722938916','164.90.208.56'),(2281,'1722938917','164.90.208.56'),(2282,'1722938918','164.90.208.56'),(2283,'1722938918','164.90.208.56'),(2284,'1722938919','164.90.208.56'),(2285,'1722938920','164.90.208.56'),(2286,'1722938921','164.90.208.56'),(2287,'1722938921','164.90.208.56'),(2288,'1722938922','164.90.208.56'),(2289,'1722938923','164.90.208.56'),(2290,'1722947524','209.38.39.174'),(2291,'1722961551','67.222.45.11'),(2292,'1722961552','167.94.138.55'),(2293,'1722963577','162.142.125.199'),(2294,'1723042523','87.236.176.203'),(2295,'1723042524','67.222.45.11'),(2296,'1723087696','67.222.45.11'),(2297,'1723087697','138.246.253.24'),(2298,'1723114173','67.222.45.11'),(2299,'1723114174','207.154.212.47'),(2300,'1723114174','207.154.212.47'),(2301,'1723114175','207.154.212.47'),(2302,'1723114175','207.154.212.47'),(2303,'1723114176','207.154.212.47'),(2304,'1723114177','207.154.212.47'),(2305,'1723114177','207.154.212.47'),(2306,'1723114178','207.154.212.47'),(2307,'1723114179','207.154.212.47'),(2308,'1723114180','207.154.212.47'),(2309,'1723114181','207.154.212.47'),(2310,'1723114182','207.154.212.47'),(2311,'1723114183','207.154.212.47'),(2312,'1723114184','207.154.212.47'),(2313,'1723114185','207.154.212.47'),(2314,'1723114185','207.154.212.47'),(2315,'1723127114','45.148.10.206'),(2316,'1723193505','67.222.45.11'),(2317,'1723193506','94.232.247.193'),(2318,'1723193511','94.232.247.193'),(2319,'1723219718','67.222.45.11'),(2320,'1723219719','54.148.204.57'),(2321,'1723219730','54.148.204.57'),(2322,'1723219730','54.148.204.57'),(2323,'1723219730','54.148.204.57'),(2324,'1723219730','54.148.204.57'),(2325,'1723219730','54.148.204.57'),(2326,'1723219730','54.148.204.57'),(2327,'1723219732','54.148.204.57'),(2328,'1723219732','54.148.204.57'),(2329,'1723219739','54.148.204.57'),(2330,'1723219739','54.148.204.57'),(2331,'1723219739','54.148.204.57'),(2332,'1723219739','54.148.204.57'),(2333,'1723219739','54.148.204.57'),(2334,'1723219739','54.148.204.57'),(2335,'1723219741','54.148.204.57'),(2336,'1723219743','54.148.204.57'),(2337,'1723219749','54.148.204.57'),(2338,'1723219749','54.148.204.57'),(2339,'1723219749','54.148.204.57'),(2340,'1723219749','54.148.204.57'),(2341,'1723219749','54.148.204.57'),(2342,'1723219749','54.148.204.57'),(2343,'1723219751','54.148.204.57'),(2344,'1723219751','54.148.204.57'),(2345,'1723219760','54.148.204.57'),(2346,'1723219760','54.148.204.57'),(2347,'1723219760','54.148.204.57'),(2348,'1723219760','54.148.204.57'),(2349,'1723219760','54.148.204.57'),(2350,'1723219760','54.148.204.57'),(2351,'1723219760','54.148.204.57'),(2352,'1723219762','54.148.204.57'),(2353,'1723234816','198.235.24.122'),(2354,'1723261988','67.222.45.11'),(2355,'1723261988','45.142.179.50'),(2356,'1723293946','67.222.45.11'),(2357,'1723293946','205.210.31.3'),(2358,'1723328791','206.189.19.19'),(2359,'1723328791','67.222.45.11'),(2360,'1723328792','206.189.19.19'),(2361,'1723328792','206.189.19.19'),(2362,'1723328792','206.189.19.19'),(2363,'1723328793','206.189.19.19'),(2364,'1723328794','206.189.19.19'),(2365,'1723328794','206.189.19.19'),(2366,'1723328795','206.189.19.19'),(2367,'1723328797','206.189.19.19'),(2368,'1723328797','206.189.19.19'),(2369,'1723328798','206.189.19.19'),(2370,'1723328799','206.189.19.19'),(2371,'1723328800','206.189.19.19'),(2372,'1723328800','206.189.19.19'),(2373,'1723328801','206.189.19.19'),(2374,'1723328801','206.189.19.19'),(2375,'1723415215','67.222.45.11'),(2376,'1723415216','205.210.31.20'),(2377,'1723429975','67.222.45.11'),(2378,'1723429976','45.148.10.142'),(2379,'1723436761','67.222.45.11'),(2380,'1723436761','83.147.52.49'),(2381,'1723436761','83.147.52.49'),(2382,'1723436761','67.222.45.11'),(2383,'1723436762','83.147.52.49'),(2384,'1723500059','67.222.45.11'),(2385,'1723500060','209.38.248.17'),(2386,'1723500061','209.38.248.17'),(2387,'1723500063','209.38.248.17'),(2388,'1723500064','209.38.248.17'),(2389,'1723500065','209.38.248.17'),(2390,'1723500065','209.38.248.17'),(2391,'1723500067','209.38.248.17'),(2392,'1723500068','209.38.248.17'),(2393,'1723500070','209.38.248.17'),(2394,'1723500071','209.38.248.17'),(2395,'1723500071','209.38.248.17'),(2396,'1723500074','209.38.248.17'),(2397,'1723500075','209.38.248.17'),(2398,'1723500076','209.38.248.17'),(2399,'1723500077','209.38.248.17'),(2400,'1723500078','209.38.248.17'),(2401,'1723579845','67.222.45.11'),(2402,'1723579846','205.210.31.97'),(2403,'1723622784','67.222.45.11'),(2404,'1723622785','195.178.110.35'),(2405,'1723657719','67.222.45.11'),(2406,'1723657720','209.38.208.202'),(2407,'1723657720','209.38.208.202'),(2408,'1723657721','209.38.208.202'),(2409,'1723657721','209.38.208.202'),(2410,'1723657722','209.38.208.202'),(2411,'1723657722','209.38.208.202'),(2412,'1723657723','209.38.208.202'),(2413,'1723657724','209.38.208.202'),(2414,'1723657725','209.38.208.202'),(2415,'1723657726','209.38.208.202'),(2416,'1723657726','209.38.208.202'),(2417,'1723657727','209.38.208.202'),(2418,'1723657728','209.38.208.202'),(2419,'1723657729','209.38.208.202'),(2420,'1723657729','209.38.208.202'),(2421,'1723657730','209.38.208.202'),(2422,'1723658359','192.227.177.142'),(2423,'1723695348','67.222.45.11'),(2424,'1723695349','138.246.253.24'),(2425,'1723806088','67.222.45.11'),(2426,'1723806089','45.148.10.75'),(2427,'1723823601','67.222.45.11'),(2428,'1723823602','146.190.103.103'),(2429,'1723823602','146.190.103.103'),(2430,'1723823604','146.190.103.103'),(2431,'1723823605','146.190.103.103'),(2432,'1723823605','146.190.103.103'),(2433,'1723823606','146.190.103.103'),(2434,'1723823607','146.190.103.103'),(2435,'1723823608','146.190.103.103'),(2436,'1723823609','146.190.103.103'),(2437,'1723823610','146.190.103.103'),(2438,'1723823610','146.190.103.103'),(2439,'1723823612','146.190.103.103'),(2440,'1723823613','146.190.103.103'),(2441,'1723823614','146.190.103.103'),(2442,'1723823614','146.190.103.103'),(2443,'1723823615','146.190.103.103'),(2444,'1723833041','145.220.91.19'),(2445,'1723885894','67.222.45.11'),(2446,'1723885894','205.169.39.16'),(2447,'1723933368','67.222.45.11'),(2448,'1723933369','83.147.52.49'),(2449,'1724004965','67.222.45.11'),(2450,'1724004965','139.162.101.202'),(2451,'1724004966','139.162.101.202'),(2452,'1724004966','139.162.101.202'),(2453,'1724004967','139.162.101.202'),(2454,'1724004967','139.162.101.202'),(2455,'1724004968','139.162.101.202'),(2456,'1724004968','139.162.101.202'),(2457,'1724004969','139.162.101.202'),(2458,'1724004970','139.162.101.202'),(2459,'1724004970','139.162.101.202'),(2460,'1724004971','139.162.101.202'),(2461,'1724004971','139.162.101.202'),(2462,'1724004972','139.162.101.202'),(2463,'1724004972','139.162.101.202'),(2464,'1724004973','139.162.101.202'),(2465,'1724004973','139.162.101.202'),(2466,'1724009690','54.88.179.33'),(2467,'1724093589','67.222.45.11'),(2468,'1724093590','35.171.144.152'),(2469,'1724093591','35.171.144.152'),(2470,'1724120231','67.222.45.11'),(2471,'1724120232','161.97.166.161'),(2472,'1724137309','67.222.45.11'),(2473,'1724137310','139.59.93.174'),(2474,'1724180235','67.222.45.11'),(2475,'1724180235','139.59.143.102'),(2476,'1724180235','139.59.143.102'),(2477,'1724180236','139.59.143.102'),(2478,'1724180236','139.59.143.102'),(2479,'1724180237','139.59.143.102'),(2480,'1724180237','139.59.143.102'),(2481,'1724180238','139.59.143.102'),(2482,'1724180239','139.59.143.102'),(2483,'1724180240','139.59.143.102'),(2484,'1724180241','139.59.143.102'),(2485,'1724180241','139.59.143.102'),(2486,'1724180242','139.59.143.102'),(2487,'1724180243','139.59.143.102'),(2488,'1724180244','139.59.143.102'),(2489,'1724180244','139.59.143.102'),(2490,'1724180245','139.59.143.102'),(2491,'1724206613','67.222.45.11'),(2492,'1724206614','162.142.125.208'),(2493,'1724222751','67.222.45.11'),(2494,'1724222752','162.142.125.193'),(2495,'1724241544','135.148.100.196'),(2496,'1724264297','67.222.45.11'),(2497,'1724264298','44.234.24.144'),(2498,'1724302271','67.222.45.11'),(2499,'1724302272','206.168.34.121'),(2500,'1724312251','67.222.45.11'),(2501,'1724312251','206.168.34.46'),(2502,'1724314606','138.246.253.24'),(2503,'1724319257','161.97.166.161'),(2504,'1724357223','67.222.45.11'),(2505,'1724357223','68.183.9.16'),(2506,'1724357224','68.183.9.16'),(2507,'1724357224','68.183.9.16'),(2508,'1724357225','68.183.9.16'),(2509,'1724357226','68.183.9.16'),(2510,'1724357226','68.183.9.16'),(2511,'1724357227','68.183.9.16'),(2512,'1724357228','68.183.9.16'),(2513,'1724357229','68.183.9.16'),(2514,'1724357230','68.183.9.16'),(2515,'1724357231','68.183.9.16'),(2516,'1724357232','68.183.9.16'),(2517,'1724357233','68.183.9.16'),(2518,'1724357233','68.183.9.16'),(2519,'1724357234','68.183.9.16'),(2520,'1724357235','68.183.9.16'),(2521,'1724517402','67.222.45.11'),(2522,'1724517403','64.227.70.2'),(2523,'1724517403','64.227.70.2'),(2524,'1724517404','64.227.70.2'),(2525,'1724517405','64.227.70.2'),(2526,'1724517405','64.227.70.2'),(2527,'1724517406','64.227.70.2'),(2528,'1724517407','64.227.70.2'),(2529,'1724517408','64.227.70.2'),(2530,'1724517409','64.227.70.2'),(2531,'1724517409','64.227.70.2'),(2532,'1724517410','64.227.70.2'),(2533,'1724517414','64.227.70.2'),(2534,'1724517414','64.227.70.2'),(2535,'1724517415','64.227.70.2'),(2536,'1724517415','64.227.70.2'),(2537,'1724517416','64.227.70.2'),(2538,'1724681041','67.222.45.11'),(2539,'1724681041','64.227.70.2'),(2540,'1724681042','64.227.70.2'),(2541,'1724681042','64.227.70.2'),(2542,'1724681043','64.227.70.2'),(2543,'1724681044','64.227.70.2'),(2544,'1724681044','64.227.70.2'),(2545,'1724681045','64.227.70.2'),(2546,'1724681046','64.227.70.2'),(2547,'1724681047','64.227.70.2'),(2548,'1724681047','64.227.70.2'),(2549,'1724681048','64.227.70.2'),(2550,'1724681049','64.227.70.2'),(2551,'1724681050','64.227.70.2'),(2552,'1724681050','64.227.70.2'),(2553,'1724681051','64.227.70.2'),(2554,'1724681052','64.227.70.2'),(2555,'1724768491','67.222.45.11'),(2556,'1724768492','161.97.166.161'),(2557,'1724827723','67.222.45.11'),(2558,'1724827724','161.97.166.161'),(2559,'1724861978','67.222.45.11'),(2560,'1724861978','206.81.24.227'),(2561,'1724861979','206.81.24.227'),(2562,'1724861980','206.81.24.227'),(2563,'1724861980','206.81.24.227'),(2564,'1724861981','206.81.24.227'),(2565,'1724861981','206.81.24.227'),(2566,'1724861982','206.81.24.227'),(2567,'1724861983','206.81.24.227'),(2568,'1724861984','206.81.24.227'),(2569,'1724861985','206.81.24.227'),(2570,'1724861985','206.81.24.227'),(2571,'1724861987','206.81.24.227'),(2572,'1724861987','206.81.24.227'),(2573,'1724861988','206.81.24.227'),(2574,'1724861989','206.81.24.227'),(2575,'1724861989','206.81.24.227'),(2576,'1724891717','67.222.45.11'),(2577,'1724891718','138.246.253.24'),(2578,'1725040293','67.222.45.11'),(2579,'1725040294','146.190.242.161'),(2580,'1725040294','146.190.242.161'),(2581,'1725040294','146.190.242.161'),(2582,'1725040294','146.190.242.161'),(2583,'1725040295','146.190.242.161'),(2584,'1725040295','146.190.242.161'),(2585,'1725040295','146.190.242.161'),(2586,'1725040296','146.190.242.161'),(2587,'1725040296','146.190.242.161'),(2588,'1725040297','146.190.242.161'),(2589,'1725040297','146.190.242.161'),(2590,'1725040298','146.190.242.161'),(2591,'1725040298','146.190.242.161'),(2592,'1725040298','146.190.242.161'),(2593,'1725040299','146.190.242.161'),(2594,'1725040299','146.190.242.161'),(2595,'1725156487','67.222.45.11'),(2596,'1725156488','205.210.31.33'),(2597,'1725209405','67.222.45.11'),(2598,'1725209405','64.227.32.66'),(2599,'1725209406','64.227.32.66'),(2600,'1725209406','64.227.32.66'),(2601,'1725209407','64.227.32.66'),(2602,'1725209407','64.227.32.66'),(2603,'1725209408','64.227.32.66'),(2604,'1725209409','64.227.32.66'),(2605,'1725209409','64.227.32.66'),(2606,'1725209410','64.227.32.66'),(2607,'1725209411','64.227.32.66'),(2608,'1725209412','64.227.32.66'),(2609,'1725209413','64.227.32.66'),(2610,'1725209413','64.227.32.66'),(2611,'1725209414','64.227.32.66'),(2612,'1725209414','64.227.32.66'),(2613,'1725209415','64.227.32.66'),(2614,'1725278563','67.222.45.11'),(2615,'1725278564','198.235.24.167'),(2616,'1725289886','143.110.217.244'),(2617,'1725289887','143.110.217.244'),(2618,'1725289887','143.110.217.244'),(2619,'1725289888','143.110.217.244'),(2620,'1725289888','143.110.217.244'),(2621,'1725289888','143.110.217.244'),(2622,'1725289889','143.110.217.244'),(2623,'1725289889','143.110.217.244'),(2624,'1725289890','143.110.217.244'),(2625,'1725289890','143.110.217.244'),(2626,'1725289890','143.110.217.244'),(2627,'1725289891','143.110.217.244'),(2628,'1725289891','143.110.217.244'),(2629,'1725289891','143.110.217.244'),(2630,'1725289891','143.110.217.244'),(2631,'1725289892','143.110.217.244'),(2632,'1725331862','67.222.45.11'),(2633,'1725331862','134.122.111.177'),(2634,'1725359699','67.222.45.11'),(2635,'1725359700','198.235.24.226'),(2636,'1725463004','67.222.45.11'),(2637,'1725463005','165.227.173.41'),(2638,'1725463005','165.227.173.41'),(2639,'1725463005','165.227.173.41'),(2640,'1725463006','165.227.173.41'),(2641,'1725463007','165.227.173.41'),(2642,'1725463007','165.227.173.41'),(2643,'1725463008','165.227.173.41'),(2644,'1725463009','165.227.173.41'),(2645,'1725463010','165.227.173.41'),(2646,'1725463011','165.227.173.41'),(2647,'1725463011','165.227.173.41'),(2648,'1725463012','165.227.173.41'),(2649,'1725463013','165.227.173.41'),(2650,'1725463014','165.227.173.41'),(2651,'1725463014','165.227.173.41'),(2652,'1725463015','165.227.173.41'),(2653,'1725528917','67.222.45.11'),(2654,'1725528918','87.236.176.29'),(2655,'1725618458','67.222.45.11'),(2656,'1725618459','138.246.253.24'),(2657,'1725629748','138.68.144.227'),(2658,'1725629751','138.68.144.227'),(2659,'1725629752','138.68.144.227'),(2660,'1725629753','138.68.144.227'),(2661,'1725629753','138.68.144.227'),(2662,'1725629754','138.68.144.227'),(2663,'1725629754','138.68.144.227'),(2664,'1725629755','138.68.144.227'),(2665,'1725629756','138.68.144.227'),(2666,'1725629757','138.68.144.227'),(2667,'1725629757','138.68.144.227'),(2668,'1725629758','138.68.144.227'),(2669,'1725629759','138.68.144.227'),(2670,'1725629760','138.68.144.227'),(2671,'1725629760','138.68.144.227'),(2672,'1725629761','138.68.144.227'),(2673,'1725699490','67.222.45.11'),(2674,'1725699491','35.171.144.152'),(2675,'1725699492','35.171.144.152'),(2676,'1725708432','54.88.179.33'),(2677,'1725713154','128.199.140.193'),(2678,'1725822556','67.222.45.11'),(2679,'1725822557','167.172.232.142'),(2680,'1725822557','167.172.232.142'),(2681,'1725822557','167.172.232.142'),(2682,'1725822558','167.172.232.142'),(2683,'1725822558','167.172.232.142'),(2684,'1725822558','167.172.232.142'),(2685,'1725822559','167.172.232.142'),(2686,'1725822559','167.172.232.142'),(2687,'1725822560','167.172.232.142'),(2688,'1725822560','167.172.232.142'),(2689,'1725822561','167.172.232.142'),(2690,'1725822561','167.172.232.142'),(2691,'1725822562','167.172.232.142'),(2692,'1725822562','167.172.232.142'),(2693,'1725822562','167.172.232.142'),(2694,'1725822563','167.172.232.142'),(2695,'1725836759','67.222.45.11'),(2696,'1725836760','128.199.140.193'),(2697,'1725836762','128.199.140.193'),(2698,'1725839824','206.168.34.199'),(2699,'1725842606','162.142.125.206'),(2700,'1725989341','67.222.45.11'),(2701,'1725989342','199.45.155.109'),(2702,'1725993040','199.45.155.78'),(2703,'1725993680','206.168.34.214'),(2704,'1725994647','206.168.34.59'),(2705,'1725995089','206.168.34.125'),(2706,'1725995188','167.94.146.56'),(2707,'1725995739','162.142.125.201'),(2708,'1725999885','199.45.154.159'),(2709,'1725999937','199.45.154.112'),(2710,'1726001169','167.94.146.57'),(2711,'1726005444','199.45.154.127'),(2712,'1726027102','67.222.45.11'),(2713,'1726027103','46.101.111.185'),(2714,'1726027110','46.101.111.185'),(2715,'1726027111','46.101.111.185'),(2716,'1726027112','46.101.111.185'),(2717,'1726027113','46.101.111.185'),(2718,'1726027114','46.101.111.185'),(2719,'1726027115','46.101.111.185'),(2720,'1726027116','46.101.111.185'),(2721,'1726027117','46.101.111.185'),(2722,'1726027118','46.101.111.185'),(2723,'1726027119','46.101.111.185'),(2724,'1726027121','46.101.111.185'),(2725,'1726027122','46.101.111.185'),(2726,'1726027123','46.101.111.185'),(2727,'1726027123','46.101.111.185'),(2728,'1726027125','46.101.111.185'),(2729,'1726084657','67.222.45.11'),(2730,'1726084657','138.246.253.24'),(2731,'1726164491','67.222.45.11'),(2732,'1726164492','35.94.134.207'),(2733,'1726178688','138.68.144.227'),(2734,'1726178688','138.68.144.227'),(2735,'1726178689','138.68.144.227'),(2736,'1726178689','138.68.144.227'),(2737,'1726178690','138.68.144.227'),(2738,'1726178691','138.68.144.227'),(2739,'1726178691','138.68.144.227'),(2740,'1726178692','138.68.144.227'),(2741,'1726178693','138.68.144.227'),(2742,'1726178694','138.68.144.227'),(2743,'1726178694','138.68.144.227'),(2744,'1726178695','138.68.144.227'),(2745,'1726178696','138.68.144.227'),(2746,'1726178696','138.68.144.227'),(2747,'1726178697','138.68.144.227'),(2748,'1726178698','138.68.144.227'),(2749,'1726240572','67.222.45.11'),(2750,'1726240573','45.148.10.59'),(2751,'1726240585','45.148.10.59'),(2752,'1726240585','45.148.10.59'),(2753,'1726240585','45.148.10.59'),(2754,'1726240585','45.148.10.59'),(2755,'1726240585','45.148.10.59'),(2756,'1726240585','45.148.10.59'),(2757,'1726240585','45.148.10.59'),(2758,'1726240585','45.148.10.59'),(2759,'1726240585','45.148.10.59'),(2760,'1726240585','45.148.10.59'),(2761,'1726240585','45.148.10.59'),(2762,'1726240585','45.148.10.59'),(2763,'1726240585','45.148.10.59'),(2764,'1726240585','45.148.10.59'),(2765,'1726240585','45.148.10.59'),(2766,'1726240585','45.148.10.59'),(2767,'1726240585','45.148.10.59'),(2768,'1726240586','45.148.10.59'),(2769,'1726318680','67.222.45.11'),(2770,'1726318680','64.226.65.160'),(2771,'1726318681','64.226.65.160'),(2772,'1726318681','64.226.65.160'),(2773,'1726318682','64.226.65.160'),(2774,'1726318682','64.226.65.160'),(2775,'1726318683','64.226.65.160'),(2776,'1726318684','64.226.65.160'),(2777,'1726318685','64.226.65.160'),(2778,'1726318686','64.226.65.160'),(2779,'1726318686','64.226.65.160'),(2780,'1726318687','64.226.65.160'),(2781,'1726318688','64.226.65.160'),(2782,'1726318689','64.226.65.160'),(2783,'1726318689','64.226.65.160'),(2784,'1726318690','64.226.65.160'),(2785,'1726318691','64.226.65.160'),(2786,'1726366004','67.222.45.11'),(2787,'1726366004','149.34.253.149'),(2788,'1726366019','149.34.253.149'),(2789,'1726482932','67.222.45.11'),(2790,'1726482933','159.89.174.87'),(2791,'1726482934','159.89.174.87'),(2792,'1726482935','159.89.174.87'),(2793,'1726482936','159.89.174.87'),(2794,'1726482937','159.89.174.87'),(2795,'1726482937','159.89.174.87'),(2796,'1726482939','159.89.174.87'),(2797,'1726482940','159.89.174.87'),(2798,'1726482941','159.89.174.87'),(2799,'1726482942','159.89.174.87'),(2800,'1726482943','159.89.174.87'),(2801,'1726482945','159.89.174.87'),(2802,'1726482946','159.89.174.87'),(2803,'1726482947','159.89.174.87'),(2804,'1726482948','159.89.174.87'),(2805,'1726482949','159.89.174.87'),(2806,'1726508176','67.222.45.11'),(2807,'1726508177','87.236.176.165'),(2808,'1726543330','67.222.45.11'),(2809,'1726543331','34.123.216.93'),(2810,'1726543331','34.123.216.93'),(2811,'1726543332','34.123.216.93'),(2812,'1726547170','67.222.45.11'),(2813,'1726547171','167.71.237.93'),(2814,'1726660677','67.222.45.11'),(2815,'1726660677','159.89.127.165'),(2816,'1726660678','159.89.127.165'),(2817,'1726660678','159.89.127.165'),(2818,'1726660678','159.89.127.165'),(2819,'1726660679','159.89.127.165'),(2820,'1726660679','159.89.127.165'),(2821,'1726660679','159.89.127.165'),(2822,'1726660680','159.89.127.165'),(2823,'1726660681','159.89.127.165'),(2824,'1726660681','159.89.127.165'),(2825,'1726660682','159.89.127.165'),(2826,'1726660682','159.89.127.165'),(2827,'1726660683','159.89.127.165'),(2828,'1726660683','159.89.127.165'),(2829,'1726660683','159.89.127.165'),(2830,'1726660684','159.89.127.165'),(2831,'1726791530','67.222.45.11'),(2832,'1726791531','35.171.144.152'),(2833,'1726846229','67.222.45.11'),(2834,'1726846230','51.81.46.212'),(2835,'1726860969','67.222.45.11'),(2836,'1726860970','67.222.45.11'),(2837,'1726860970','139.59.136.184'),(2838,'1726860970','139.59.136.184'),(2839,'1726860971','139.59.136.184'),(2840,'1726860971','139.59.136.184'),(2841,'1726860972','139.59.136.184'),(2842,'1726860973','139.59.136.184'),(2843,'1726860974','139.59.136.184'),(2844,'1726860975','139.59.136.184'),(2845,'1726860976','139.59.136.184'),(2846,'1726860976','139.59.136.184'),(2847,'1726860977','139.59.136.184'),(2848,'1726860978','139.59.136.184'),(2849,'1726860979','139.59.136.184'),(2850,'1726860980','139.59.136.184'),(2851,'1726860980','139.59.136.184'),(2852,'1726860981','139.59.136.184'),(2853,'1726867869','138.246.253.24'),(2854,'1726873446','67.222.45.11'),(2855,'1726873447','54.88.179.33'),(2856,'1726987484','67.222.45.11'),(2857,'1726987484','209.38.248.17'),(2858,'1726987485','209.38.248.17'),(2859,'1726987485','209.38.248.17'),(2860,'1726987486','209.38.248.17'),(2861,'1726987486','209.38.248.17'),(2862,'1726987487','209.38.248.17'),(2863,'1726987488','209.38.248.17'),(2864,'1726987488','209.38.248.17'),(2865,'1726987490','209.38.248.17'),(2866,'1726987490','209.38.248.17'),(2867,'1726987491','209.38.248.17'),(2868,'1726987492','209.38.248.17'),(2869,'1726987492','209.38.248.17'),(2870,'1726987493','209.38.248.17'),(2871,'1726987494','209.38.248.17'),(2872,'1726987494','209.38.248.17'),(2873,'1727067208','67.222.45.11'),(2874,'1727067209','115.231.78.4'),(2875,'1727067224','115.231.78.4'),(2876,'1727067338','115.231.78.4'),(2877,'1727172752','67.222.45.11'),(2878,'1727172753','207.154.212.47'),(2879,'1727172753','207.154.212.47'),(2880,'1727172754','207.154.212.47'),(2881,'1727172755','207.154.212.47'),(2882,'1727172755','207.154.212.47'),(2883,'1727172756','207.154.212.47'),(2884,'1727172757','207.154.212.47'),(2885,'1727172757','207.154.212.47'),(2886,'1727172758','207.154.212.47'),(2887,'1727172759','207.154.212.47'),(2888,'1727172760','207.154.212.47'),(2889,'1727172761','207.154.212.47'),(2890,'1727172761','207.154.212.47'),(2891,'1727172762','207.154.212.47'),(2892,'1727172763','207.154.212.47'),(2893,'1727172763','207.154.212.47'),(2894,'1727289529','67.222.45.11'),(2895,'1727289530','107.181.244.204'),(2896,'1727315482','67.222.45.11'),(2897,'1727315483','107.181.244.204'),(2898,'1727316289','124.236.100.56'),(2899,'1727320765','206.189.19.19'),(2900,'1727320769','206.189.19.19'),(2901,'1727320769','206.189.19.19'),(2902,'1727320770','206.189.19.19'),(2903,'1727320771','206.189.19.19'),(2904,'1727320771','206.189.19.19'),(2905,'1727320772','206.189.19.19'),(2906,'1727320773','206.189.19.19'),(2907,'1727320774','206.189.19.19'),(2908,'1727320774','206.189.19.19'),(2909,'1727320775','206.189.19.19'),(2910,'1727320776','206.189.19.19'),(2911,'1727320776','206.189.19.19'),(2912,'1727320777','206.189.19.19'),(2913,'1727320778','206.189.19.19'),(2914,'1727320778','206.189.19.19'),(2915,'1727341778','207.241.235.164'),(2916,'1727341779','67.222.45.11'),(2917,'1727341779','207.241.235.133'),(2918,'1727341779','207.241.235.164'),(2919,'1727341781','207.241.235.133'),(2920,'1727341782','159.223.132.86'),(2921,'1727341784','159.223.132.86'),(2922,'1727341785','159.223.132.86'),(2923,'1727341785','159.223.132.86'),(2924,'1727341786','159.223.132.86'),(2925,'1727341786','159.223.132.86'),(2926,'1727341786','159.223.132.86'),(2927,'1727341787','159.223.132.86'),(2928,'1727341788','159.223.132.86'),(2929,'1727341788','159.223.132.86'),(2930,'1727341788','159.223.132.86'),(2931,'1727341789','159.223.132.86'),(2932,'1727341790','159.223.132.86'),(2933,'1727341790','159.223.132.86'),(2934,'1727341790','159.223.132.86'),(2935,'1727341791','159.223.132.86'),(2936,'1727343582','194.127.199.106'),(2937,'1727344106','51.210.242.29'),(2938,'1727353012','138.246.253.24'),(2939,'1727377282','67.222.45.11'),(2940,'1727377283','165.22.216.194'),(2941,'1727387375','47.89.193.239'),(2942,'1727387395','47.254.25.10'),(2943,'1727387484','47.88.94.161'),(2944,'1727416098','67.222.45.11'),(2945,'1727416099','47.242.224.70'),(2946,'1727521601','67.222.45.11'),(2947,'1727521601','138.68.82.23'),(2948,'1727521602','138.68.82.23'),(2949,'1727521602','138.68.82.23'),(2950,'1727521603','138.68.82.23'),(2951,'1727521604','138.68.82.23'),(2952,'1727521605','138.68.82.23'),(2953,'1727521609','138.68.82.23'),(2954,'1727521610','138.68.82.23'),(2955,'1727521611','138.68.82.23'),(2956,'1727521611','138.68.82.23'),(2957,'1727521612','138.68.82.23'),(2958,'1727521613','138.68.82.23'),(2959,'1727521614','138.68.82.23'),(2960,'1727521615','138.68.82.23'),(2961,'1727521615','138.68.82.23'),(2962,'1727521616','138.68.82.23'),(2963,'1727523345','44.200.122.188'),(2964,'1727523362','44.200.122.188'),(2965,'1727523362','44.200.122.188'),(2966,'1727523362','44.200.122.188'),(2967,'1727523362','44.200.122.188'),(2968,'1727523362','44.200.122.188'),(2969,'1727523362','44.200.122.188'),(2970,'1727523362','44.200.122.188'),(2971,'1727523364','44.200.122.188'),(2972,'1727523406','44.200.122.188'),(2973,'1727523406','44.200.122.188'),(2974,'1727523406','44.200.122.188'),(2975,'1727523406','44.200.122.188'),(2976,'1727523406','44.200.122.188'),(2977,'1727523408','44.200.122.188'),(2978,'1727523410','44.200.122.188'),(2979,'1727523410','44.200.122.188'),(2980,'1727523451','44.200.122.188'),(2981,'1727523451','44.200.122.188'),(2982,'1727523451','44.200.122.188'),(2983,'1727523451','44.200.122.188'),(2984,'1727523451','44.200.122.188'),(2985,'1727523451','44.200.122.188'),(2986,'1727523451','44.200.122.188'),(2987,'1727523451','44.200.122.188'),(2988,'1727523495','44.200.122.188'),(2989,'1727523495','44.200.122.188'),(2990,'1727523495','44.200.122.188'),(2991,'1727523495','44.200.122.188'),(2992,'1727523495','44.200.122.188'),(2993,'1727523495','44.200.122.188'),(2994,'1727523495','44.200.122.188'),(2995,'1727523495','44.200.122.188'),(2996,'1727523539','44.200.122.188'),(2997,'1727523539','44.200.122.188'),(2998,'1727523539','44.200.122.188'),(2999,'1727523539','44.200.122.188'),(3000,'1727523539','44.200.122.188'),(3001,'1727523539','44.200.122.188'),(3002,'1727523542','44.200.122.188'),(3003,'1727523543','44.200.122.188'),(3004,'1727552278','67.222.45.11'),(3005,'1727552278','143.198.132.133'),(3006,'1727554661','47.96.10.143'),(3007,'1727608513','67.222.45.11'),(3008,'1727608514','104.152.52.65'),(3009,'1727661130','67.222.45.11'),(3010,'1727661131','134.195.225.177'),(3011,'1727687470','67.222.45.11'),(3012,'1727687471','207.154.212.47'),(3013,'1727687471','207.154.212.47'),(3014,'1727687472','207.154.212.47'),(3015,'1727687472','207.154.212.47'),(3016,'1727687473','207.154.212.47'),(3017,'1727687473','207.154.212.47'),(3018,'1727687474','207.154.212.47'),(3019,'1727687474','207.154.212.47'),(3020,'1727687476','207.154.212.47'),(3021,'1727687476','207.154.212.47'),(3022,'1727687476','207.154.212.47'),(3023,'1727687478','207.154.212.47'),(3024,'1727687478','207.154.212.47'),(3025,'1727687479','207.154.212.47'),(3026,'1727687479','207.154.212.47'),(3027,'1727687480','207.154.212.47'),(3028,'1727723172','67.222.45.11'),(3029,'1727723173','167.71.89.110'),(3030,'1727779423','67.222.45.11'),(3031,'1727779424','138.197.147.182'),(3032,'1727857556','67.222.45.11'),(3033,'1727857557','167.71.175.236'),(3034,'1727857557','167.71.175.236'),(3035,'1727857557','167.71.175.236'),(3036,'1727857557','167.71.175.236'),(3037,'1727857558','167.71.175.236'),(3038,'1727857558','167.71.175.236'),(3039,'1727857558','167.71.175.236'),(3040,'1727857559','167.71.175.236'),(3041,'1727857559','167.71.175.236'),(3042,'1727857560','167.71.175.236'),(3043,'1727857560','167.71.175.236'),(3044,'1727857561','167.71.175.236'),(3045,'1727857561','167.71.175.236'),(3046,'1727857562','167.71.175.236'),(3047,'1727857562','167.71.175.236'),(3048,'1727857562','167.71.175.236'),(3049,'1727899044','67.222.45.11'),(3050,'1727899044','64.227.111.101'),(3051,'1727990686','67.222.45.11'),(3052,'1727990687','205.210.31.167'),(3053,'1727991125','199.45.154.138'),(3054,'1727992286','199.45.154.118'),(3055,'1727993294','206.168.34.217'),(3056,'1727993798','199.45.155.71'),(3057,'1727995984','167.94.145.108'),(3058,'1728024962','67.222.45.11'),(3059,'1728024963','138.246.253.24'),(3060,'1728038440','206.189.2.13'),(3061,'1728038444','206.189.2.13'),(3062,'1728038444','206.189.2.13'),(3063,'1728038445','206.189.2.13'),(3064,'1728038446','206.189.2.13'),(3065,'1728038446','206.189.2.13'),(3066,'1728038447','206.189.2.13'),(3067,'1728038448','206.189.2.13'),(3068,'1728038449','206.189.2.13'),(3069,'1728038449','206.189.2.13'),(3070,'1728038450','206.189.2.13'),(3071,'1728038451','206.189.2.13'),(3072,'1728038452','206.189.2.13'),(3073,'1728038452','206.189.2.13'),(3074,'1728038453','206.189.2.13'),(3075,'1728038453','206.189.2.13'),(3076,'1728068169','67.222.45.11'),(3077,'1728068169','198.235.24.23'),(3078,'1728080287','205.210.31.143'),(3079,'1728129811','67.222.45.11'),(3080,'1728129812','54.88.179.33'),(3081,'1728129812','54.88.179.33'),(3082,'1728214997','67.222.45.11'),(3083,'1728214998','87.236.176.100'),(3084,'1728221595','209.97.180.8'),(3085,'1728221598','209.97.180.8'),(3086,'1728221599','209.97.180.8'),(3087,'1728221600','209.97.180.8'),(3088,'1728221600','209.97.180.8'),(3089,'1728221601','209.97.180.8'),(3090,'1728221601','209.97.180.8'),(3091,'1728221602','209.97.180.8'),(3092,'1728221603','209.97.180.8'),(3093,'1728221604','209.97.180.8'),(3094,'1728221604','209.97.180.8'),(3095,'1728221605','209.97.180.8'),(3096,'1728221606','209.97.180.8'),(3097,'1728221607','209.97.180.8'),(3098,'1728221607','209.97.180.8'),(3099,'1728221608','209.97.180.8'),(3100,'1728338833','67.222.45.11'),(3101,'1728338834','167.94.138.32'),(3102,'1728338890','199.45.155.68'),(3103,'1728360840','67.222.45.11'),(3104,'1728360841','198.235.24.229'),(3105,'1728399269','67.222.45.11'),(3106,'1728399269','35.87.204.83'),(3107,'1728409479','67.222.45.11'),(3108,'1728409480','138.68.82.23'),(3109,'1728409480','138.68.82.23'),(3110,'1728409481','138.68.82.23'),(3111,'1728409481','138.68.82.23'),(3112,'1728409482','138.68.82.23'),(3113,'1728409483','138.68.82.23'),(3114,'1728409483','138.68.82.23'),(3115,'1728409484','138.68.82.23'),(3116,'1728409485','138.68.82.23'),(3117,'1728409486','138.68.82.23'),(3118,'1728409486','138.68.82.23'),(3119,'1728409488','138.68.82.23'),(3120,'1728409489','138.68.82.23'),(3121,'1728409490','138.68.82.23'),(3122,'1728409490','138.68.82.23'),(3123,'1728409491','138.68.82.23'),(3124,'1728590533','67.222.45.11'),(3125,'1728590534','165.22.34.189'),(3126,'1728590534','165.22.34.189'),(3127,'1728590534','165.22.34.189'),(3128,'1728590535','165.22.34.189'),(3129,'1728590535','165.22.34.189'),(3130,'1728590535','165.22.34.189'),(3131,'1728590536','165.22.34.189'),(3132,'1728590536','165.22.34.189'),(3133,'1728590537','165.22.34.189'),(3134,'1728590538','165.22.34.189'),(3135,'1728590538','165.22.34.189'),(3136,'1728590539','165.22.34.189'),(3137,'1728590539','165.22.34.189'),(3138,'1728590539','165.22.34.189'),(3139,'1728590540','165.22.34.189'),(3140,'1728590540','165.22.34.189'),(3141,'1728594634','138.246.253.24'),(3142,'1728643583','67.222.45.11'),(3143,'1728643584','34.134.31.216'),(3144,'1728643584','34.134.31.216'),(3145,'1728643584','34.134.31.216'),(3146,'1728654670','198.235.24.30'),(3147,'1728678132','67.222.45.11'),(3148,'1728678133','167.94.146.56'),(3149,'1728678406','167.94.146.61'),(3150,'1728746976','67.222.45.11'),(3151,'1728746976','205.210.31.43'),(3152,'1728768603','67.222.45.11'),(3153,'1728768604','207.154.212.47'),(3154,'1728768604','207.154.212.47'),(3155,'1728768605','207.154.212.47'),(3156,'1728768606','207.154.212.47'),(3157,'1728768606','207.154.212.47'),(3158,'1728768607','207.154.212.47'),(3159,'1728768608','207.154.212.47'),(3160,'1728768609','207.154.212.47'),(3161,'1728768610','207.154.212.47'),(3162,'1728768611','207.154.212.47'),(3163,'1728768612','207.154.212.47'),(3164,'1728768613','207.154.212.47'),(3165,'1728768614','207.154.212.47'),(3166,'1728768615','207.154.212.47'),(3167,'1728768615','207.154.212.47'),(3168,'1728768616','207.154.212.47'),(3169,'1728909754','67.222.45.11'),(3170,'1728909755','198.235.24.158'),(3171,'1728930163','134.209.25.199'),(3172,'1728930163','67.222.45.11'),(3173,'1728930163','134.209.25.199'),(3174,'1728930163','134.209.25.199'),(3175,'1728930164','134.209.25.199'),(3176,'1728930164','134.209.25.199'),(3177,'1728930165','134.209.25.199'),(3178,'1728930166','134.209.25.199'),(3179,'1728930166','134.209.25.199'),(3180,'1728930167','134.209.25.199'),(3181,'1728930168','134.209.25.199'),(3182,'1728930169','134.209.25.199'),(3183,'1728930170','134.209.25.199'),(3184,'1728930170','134.209.25.199'),(3185,'1728930171','134.209.25.199'),(3186,'1728930171','134.209.25.199'),(3187,'1728930172','134.209.25.199'),(3188,'1728953684','67.222.45.11'),(3189,'1728953685','167.94.146.63'),(3190,'1728986044','67.222.45.11'),(3191,'1728986045','143.198.27.116'),(3192,'1729067473','67.222.45.11'),(3193,'1729067473','159.89.192.93'),(3194,'1729108265','67.222.45.11'),(3195,'1729108267','159.89.192.93'),(3196,'1729108269','159.89.192.93'),(3197,'1729113579','64.23.218.208'),(3198,'1729113581','64.23.218.208'),(3199,'1729113581','64.23.218.208'),(3200,'1729113581','64.23.218.208'),(3201,'1729113581','64.23.218.208'),(3202,'1729113581','64.23.218.208'),(3203,'1729113582','64.23.218.208'),(3204,'1729113582','64.23.218.208'),(3205,'1729113582','64.23.218.208'),(3206,'1729113582','64.23.218.208'),(3207,'1729113583','64.23.218.208'),(3208,'1729113583','64.23.218.208'),(3209,'1729113583','64.23.218.208'),(3210,'1729113583','64.23.218.208'),(3211,'1729113584','64.23.218.208'),(3212,'1729113584','64.23.218.208'),(3213,'1729160621','67.222.45.11'),(3214,'1729160622','205.169.39.4'),(3215,'1729247203','67.222.45.11'),(3216,'1729247203','138.246.253.24'),(3217,'1729275834','157.245.36.108'),(3218,'1729275835','157.245.36.108'),(3219,'1729275835','157.245.36.108'),(3220,'1729275835','67.222.45.11'),(3221,'1729275840','157.245.36.108'),(3222,'1729275841','157.245.36.108'),(3223,'1729275841','157.245.36.108'),(3224,'1729275843','157.245.36.108'),(3225,'1729275849','157.245.36.108'),(3226,'1729275850','157.245.36.108'),(3227,'1729275856','157.245.36.108'),(3228,'1729275859','157.245.36.108'),(3229,'1729275859','157.245.36.108'),(3230,'1729275867','157.245.36.108'),(3231,'1729275867','157.245.36.108'),(3232,'1729275867','157.245.36.108'),(3233,'1729275869','157.245.36.108'),(3234,'1729300576','67.222.45.11'),(3235,'1729300577','35.171.144.152'),(3236,'1729300577','35.171.144.152'),(3237,'1729301029','35.171.144.152'),(3238,'1729301031','35.171.144.152'),(3239,'1729439122','67.222.45.11'),(3240,'1729439123','103.102.230.7'),(3241,'1729445555','67.222.45.11'),(3242,'1729445556','51.81.46.212'),(3243,'1729454523','178.128.207.138'),(3244,'1729454523','178.128.207.138'),(3245,'1729454525','178.128.207.138'),(3246,'1729454526','178.128.207.138'),(3247,'1729454527','178.128.207.138'),(3248,'1729454529','178.128.207.138'),(3249,'1729454530','178.128.207.138'),(3250,'1729454531','178.128.207.138'),(3251,'1729454536','178.128.207.138'),(3252,'1729454539','178.128.207.138'),(3253,'1729454540','178.128.207.138'),(3254,'1729454543','178.128.207.138'),(3255,'1729454546','178.128.207.138'),(3256,'1729454548','178.128.207.138'),(3257,'1729454551','178.128.207.138'),(3258,'1729454555','178.128.207.138'),(3259,'1729475490','67.222.45.11'),(3260,'1729475490','167.94.138.124'),(3261,'1729483245','206.168.34.220'),(3262,'1729483253','67.222.45.11'),(3263,'1729614686','67.222.45.11'),(3264,'1729614687','206.81.24.227'),(3265,'1729614687','206.81.24.227'),(3266,'1729614688','206.81.24.227'),(3267,'1729614688','206.81.24.227'),(3268,'1729614689','206.81.24.227'),(3269,'1729614690','206.81.24.227'),(3270,'1729614690','206.81.24.227'),(3271,'1729614691','206.81.24.227'),(3272,'1729614692','206.81.24.227'),(3273,'1729614692','206.81.24.227'),(3274,'1729614693','206.81.24.227'),(3275,'1729614694','206.81.24.227'),(3276,'1729614695','206.81.24.227'),(3277,'1729614695','206.81.24.227'),(3278,'1729614696','206.81.24.227'),(3279,'1729614696','206.81.24.227'),(3280,'1729679064','67.222.45.11'),(3281,'1729679065','35.181.155.171'),(3282,'1729743511','67.222.45.11'),(3283,'1729743511','134.195.225.177'),(3284,'1729777421','67.222.45.11'),(3285,'1729777421','159.89.17.243'),(3286,'1729777424','159.89.17.243'),(3287,'1729777425','159.89.17.243'),(3288,'1729777426','159.89.17.243'),(3289,'1729777426','159.89.17.243'),(3290,'1729777427','159.89.17.243'),(3291,'1729777427','159.89.17.243'),(3292,'1729777428','159.89.17.243'),(3293,'1729777429','159.89.17.243'),(3294,'1729777429','159.89.17.243'),(3295,'1729777430','159.89.17.243'),(3296,'1729777431','159.89.17.243'),(3297,'1729777431','159.89.17.243'),(3298,'1729777432','159.89.17.243'),(3299,'1729777432','159.89.17.243'),(3300,'1729777433','159.89.17.243'),(3301,'1729821404','67.222.45.11'),(3302,'1729821405','138.246.253.24'),(3303,'1729852429','67.222.45.11'),(3304,'1729852430','87.236.176.37'),(3305,'1729974891','159.203.96.42'),(3306,'1729974891','67.222.45.11'),(3307,'1729974891','159.203.96.42'),(3308,'1729974891','159.203.96.42'),(3309,'1729974891','159.203.96.42'),(3310,'1729974892','159.203.96.42'),(3311,'1729974892','159.203.96.42'),(3312,'1729974893','159.203.96.42'),(3313,'1729974893','159.203.96.42'),(3314,'1729974894','159.203.96.42'),(3315,'1729974894','159.203.96.42'),(3316,'1729974894','159.203.96.42'),(3317,'1729974895','159.203.96.42'),(3318,'1729974895','159.203.96.42'),(3319,'1729974896','159.203.96.42'),(3320,'1729974896','159.203.96.42'),(3321,'1729974896','159.203.96.42'),(3322,'1730085401','67.222.45.11'),(3323,'1730085402','167.94.146.58'),(3324,'1730085701','67.222.45.11'),(3325,'1730176654','67.222.45.11'),(3326,'1730176655','165.22.225.142'),(3327,'1730237355','67.222.45.11'),(3328,'1730237356','206.189.148.255'),(3329,'1730237359','206.189.148.255'),(3330,'1730237362','206.189.148.255'),(3331,'1730237366','206.189.148.255'),(3332,'1730237370','206.189.148.255'),(3333,'1730237374','206.189.148.255'),(3334,'1730237377','206.189.148.255'),(3335,'1730237380','206.189.148.255'),(3336,'1730237384','206.189.148.255'),(3337,'1730237388','206.189.148.255'),(3338,'1730237392','206.189.148.255'),(3339,'1730237394','206.189.148.255'),(3340,'1730237397','206.189.148.255'),(3341,'1730237401','206.189.148.255'),(3342,'1730237406','206.189.148.255'),(3343,'1730237410','206.189.148.255'),(3344,'1730237414','206.189.148.255'),(3345,'1730237419','206.189.148.255'),(3346,'1730237423','206.189.148.255'),(3347,'1730237426','206.189.148.255'),(3348,'1730237429','206.189.148.255'),(3349,'1730237433','206.189.148.255'),(3350,'1730237437','206.189.148.255'),(3351,'1730237441','206.189.148.255'),(3352,'1730237449','206.189.148.255'),(3353,'1730237453','206.189.148.255'),(3354,'1730237456','206.189.148.255'),(3355,'1730237460','206.189.148.255'),(3356,'1730237464','206.189.148.255'),(3357,'1730237468','206.189.148.255'),(3358,'1730237473','206.189.148.255'),(3359,'1730237477','206.189.148.255'),(3360,'1730237482','206.189.148.255'),(3361,'1730237485','206.189.148.255'),(3362,'1730237492','206.189.148.255'),(3363,'1730237497','206.189.148.255'),(3364,'1730237505','206.189.148.255'),(3365,'1730237511','206.189.148.255'),(3366,'1730237517','206.189.148.255'),(3367,'1730237521','206.189.148.255'),(3368,'1730237526','206.189.148.255'),(3369,'1730237529','206.189.148.255'),(3370,'1730237552','206.189.148.255'),(3371,'1730237556','206.189.148.255'),(3372,'1730237561','206.189.148.255'),(3373,'1730237564','206.189.148.255'),(3374,'1730237569','206.189.148.255'),(3375,'1730237573','206.189.148.255'),(3376,'1730237577','206.189.148.255'),(3377,'1730237581','206.189.148.255'),(3378,'1730237581','206.189.148.255'),(3379,'1730237586','206.189.148.255'),(3380,'1730237590','206.189.148.255'),(3381,'1730237594','206.189.148.255'),(3382,'1730237598','206.189.148.255'),(3383,'1730237601','206.189.148.255'),(3384,'1730237605','206.189.148.255'),(3385,'1730237609','206.189.148.255'),(3386,'1730237613','206.189.148.255'),(3387,'1730237618','206.189.148.255'),(3388,'1730237642','206.189.148.255'),(3389,'1730237649','206.189.148.255'),(3390,'1730237654','206.189.148.255'),(3391,'1730237660','206.189.148.255'),(3392,'1730237665','206.189.148.255'),(3393,'1730237669','206.189.148.255'),(3394,'1730269541','67.222.45.11'),(3395,'1730269542','167.99.210.137'),(3396,'1730269542','167.99.210.137'),(3397,'1730269543','167.99.210.137'),(3398,'1730269544','167.99.210.137'),(3399,'1730269545','167.99.210.137'),(3400,'1730269545','167.99.210.137'),(3401,'1730269546','167.99.210.137'),(3402,'1730269547','167.99.210.137'),(3403,'1730269548','167.99.210.137'),(3404,'1730269548','167.99.210.137'),(3405,'1730269549','167.99.210.137'),(3406,'1730269550','167.99.210.137'),(3407,'1730269551','167.99.210.137'),(3408,'1730269551','167.99.210.137'),(3409,'1730269552','167.99.210.137'),(3410,'1730269552','167.99.210.137'),(3411,'1730418565','67.222.45.11'),(3412,'1730418566','147.185.132.108'),(3413,'1730431612','206.81.24.74'),(3414,'1730431612','206.81.24.74'),(3415,'1730431613','206.81.24.74'),(3416,'1730431614','206.81.24.74'),(3417,'1730431615','206.81.24.74'),(3418,'1730431615','206.81.24.74'),(3419,'1730431617','206.81.24.74'),(3420,'1730431618','206.81.24.74'),(3421,'1730431620','206.81.24.74'),(3422,'1730431620','206.81.24.74'),(3423,'1730431621','206.81.24.74'),(3424,'1730431622','206.81.24.74'),(3425,'1730431623','206.81.24.74'),(3426,'1730431626','206.81.24.74'),(3427,'1730431627','206.81.24.74'),(3428,'1730431629','206.81.24.74'),(3429,'1730507128','67.222.45.11'),(3430,'1730507129','138.246.253.24'),(3431,'1730527325','67.222.45.11'),(3432,'1730527326','167.71.175.236'),(3433,'1730527326','67.222.45.11'),(3434,'1730527326','167.71.175.236'),(3435,'1730527326','167.71.175.236'),(3436,'1730527326','167.71.175.236'),(3437,'1730527327','167.71.175.236'),(3438,'1730527327','167.71.175.236'),(3439,'1730527327','167.71.175.236'),(3440,'1730527328','167.71.175.236'),(3441,'1730527329','167.71.175.236'),(3442,'1730527329','167.71.175.236'),(3443,'1730527329','167.71.175.236'),(3444,'1730527330','167.71.175.236'),(3445,'1730527330','167.71.175.236'),(3446,'1730527331','167.71.175.236'),(3447,'1730527331','167.71.175.236'),(3448,'1730527331','167.71.175.236'),(3449,'1730570725','67.222.45.11'),(3450,'1730570725','205.210.31.178'),(3451,'1730637436','67.222.45.11'),(3452,'1730637437','205.210.31.19'),(3453,'1730658496','67.222.45.11'),(3454,'1730658497','35.180.252.140'),(3455,'1730658499','35.180.252.140'),(3456,'1730697745','146.190.242.161'),(3457,'1730697745','67.222.45.11'),(3458,'1730697746','146.190.242.161'),(3459,'1730697746','146.190.242.161'),(3460,'1730697746','146.190.242.161'),(3461,'1730697747','146.190.242.161'),(3462,'1730697747','146.190.242.161'),(3463,'1730697748','146.190.242.161'),(3464,'1730697748','146.190.242.161'),(3465,'1730697749','146.190.242.161'),(3466,'1730697749','146.190.242.161'),(3467,'1730697750','146.190.242.161'),(3468,'1730697751','146.190.242.161'),(3469,'1730697751','146.190.242.161'),(3470,'1730697751','146.190.242.161'),(3471,'1730697752','146.190.242.161'),(3472,'1730697752','146.190.242.161'),(3473,'1730700457','67.222.45.11'),(3474,'1730700457','45.148.10.69'),(3475,'1730700468','45.148.10.69'),(3476,'1730700468','45.148.10.69'),(3477,'1730700468','45.148.10.69'),(3478,'1730700468','45.148.10.69'),(3479,'1730700468','45.148.10.69'),(3480,'1730700468','45.148.10.69'),(3481,'1730700468','45.148.10.69'),(3482,'1730700468','45.148.10.69'),(3483,'1730700468','45.148.10.69'),(3484,'1730700468','45.148.10.69'),(3485,'1730700468','45.148.10.69'),(3486,'1730700468','45.148.10.69'),(3487,'1730700468','45.148.10.69'),(3488,'1730700468','45.148.10.69'),(3489,'1730700468','45.148.10.69'),(3490,'1730700468','45.148.10.69'),(3491,'1730700468','45.148.10.69'),(3492,'1730700469','45.148.10.69'),(3493,'1730700494','45.148.10.69'),(3494,'1730700494','45.148.10.69'),(3495,'1730700494','45.148.10.69'),(3496,'1730700494','45.148.10.69'),(3497,'1730700494','45.148.10.69'),(3498,'1730700494','45.148.10.69'),(3499,'1730700494','45.148.10.69'),(3500,'1730700494','45.148.10.69'),(3501,'1730700494','45.148.10.69'),(3502,'1730700494','45.148.10.69'),(3503,'1730700494','45.148.10.69'),(3504,'1730700494','45.148.10.69'),(3505,'1730700494','45.148.10.69'),(3506,'1730700494','45.148.10.69'),(3507,'1730700494','45.148.10.69'),(3508,'1730700494','45.148.10.69'),(3509,'1730700494','45.148.10.69'),(3510,'1730700496','45.148.10.69'),(3511,'1730700519','45.148.10.69'),(3512,'1730700519','45.148.10.69'),(3513,'1730700519','45.148.10.69'),(3514,'1730700519','45.148.10.69'),(3515,'1730700519','45.148.10.69'),(3516,'1730700519','45.148.10.69'),(3517,'1730700519','45.148.10.69'),(3518,'1730700520','45.148.10.69'),(3519,'1730700520','45.148.10.69'),(3520,'1730700520','45.148.10.69'),(3521,'1730700520','45.148.10.69'),(3522,'1730700520','45.148.10.69'),(3523,'1730700520','45.148.10.69'),(3524,'1730700520','45.148.10.69'),(3525,'1730700520','45.148.10.69'),(3526,'1730700520','45.148.10.69'),(3527,'1730700520','45.148.10.69'),(3528,'1730700521','45.148.10.69'),(3529,'1730772648','67.222.45.11'),(3530,'1730772649','205.210.31.41'),(3531,'1730796768','67.222.45.11'),(3532,'1730796769','15.188.26.221'),(3533,'1730796771','15.188.26.221'),(3534,'1730796773','15.188.26.221'),(3535,'1730796774','15.188.26.221'),(3536,'1730796776','15.188.26.221'),(3537,'1730796778','15.188.26.221'),(3538,'1730796780','15.188.26.221'),(3539,'1730796781','15.188.26.221'),(3540,'1730796783','15.188.26.221'),(3541,'1730796785','15.188.26.221'),(3542,'1730796787','15.188.26.221'),(3543,'1730796788','15.188.26.221'),(3544,'1730796790','15.188.26.221'),(3545,'1730796792','15.188.26.221'),(3546,'1730796794','15.188.26.221'),(3547,'1730796796','15.188.26.221'),(3548,'1730796797','15.188.26.221'),(3549,'1730796799','15.188.26.221'),(3550,'1730796801','15.188.26.221'),(3551,'1730796803','15.188.26.221'),(3552,'1730796805','15.188.26.221'),(3553,'1730796807','15.188.26.221'),(3554,'1730796808','15.188.26.221'),(3555,'1730796810','15.188.26.221'),(3556,'1730796812','15.188.26.221'),(3557,'1730796814','15.188.26.221'),(3558,'1730796815','15.188.26.221'),(3559,'1730796817','15.188.26.221'),(3560,'1730796818','15.188.26.221'),(3561,'1730796820','15.188.26.221'),(3562,'1730796822','15.188.26.221'),(3563,'1730796824','15.188.26.221'),(3564,'1730796825','15.188.26.221'),(3565,'1730796827','15.188.26.221'),(3566,'1730796829','15.188.26.221'),(3567,'1730796831','15.188.26.221'),(3568,'1730796833','15.188.26.221'),(3569,'1730796834','15.188.26.221'),(3570,'1730796836','15.188.26.221'),(3571,'1730796838','15.188.26.221'),(3572,'1730796840','15.188.26.221'),(3573,'1730872050','67.222.45.11'),(3574,'1730872051','159.89.174.87'),(3575,'1730872051','159.89.174.87'),(3576,'1730872052','159.89.174.87'),(3577,'1730872053','159.89.174.87'),(3578,'1730872054','159.89.174.87'),(3579,'1730872055','159.89.174.87'),(3580,'1730872056','159.89.174.87'),(3581,'1730872057','159.89.174.87'),(3582,'1730872059','159.89.174.87'),(3583,'1730872059','159.89.174.87'),(3584,'1730872060','159.89.174.87'),(3585,'1730872062','159.89.174.87'),(3586,'1730872063','159.89.174.87'),(3587,'1730872064','159.89.174.87'),(3588,'1730872064','159.89.174.87'),(3589,'1730872065','159.89.174.87'),(3590,'1730955059','67.222.45.11'),(3591,'1730955060','87.236.176.197'),(3592,'1730966741','67.222.45.11'),(3593,'1730966741','35.171.144.152'),(3594,'1730966741','35.171.144.152'),(3595,'1731003138','67.222.45.11'),(3596,'1731003138','138.246.253.24'),(3597,'1731050128','67.222.45.11'),(3598,'1731050129','64.227.70.2'),(3599,'1731050129','64.227.70.2'),(3600,'1731050130','64.227.70.2'),(3601,'1731050130','64.227.70.2'),(3602,'1731050131','64.227.70.2'),(3603,'1731050131','64.227.70.2'),(3604,'1731050132','64.227.70.2'),(3605,'1731050133','64.227.70.2'),(3606,'1731050134','64.227.70.2'),(3607,'1731050134','64.227.70.2'),(3608,'1731050135','64.227.70.2'),(3609,'1731050136','64.227.70.2'),(3610,'1731050137','64.227.70.2'),(3611,'1731050137','64.227.70.2'),(3612,'1731050138','64.227.70.2'),(3613,'1731050138','64.227.70.2'),(3614,'1731057326','54.88.179.33'),(3615,'1731057328','54.88.179.33'),(3616,'1731120721','67.222.45.11'),(3617,'1731120721','205.210.31.196'),(3618,'1731224345','67.222.45.11'),(3619,'1731224346','143.110.213.72'),(3620,'1731224346','143.110.213.72'),(3621,'1731224347','143.110.213.72'),(3622,'1731224347','143.110.213.72'),(3623,'1731224347','143.110.213.72'),(3624,'1731224348','143.110.213.72'),(3625,'1731224348','143.110.213.72'),(3626,'1731224349','143.110.213.72'),(3627,'1731224349','143.110.213.72'),(3628,'1731224350','143.110.213.72'),(3629,'1731224350','143.110.213.72'),(3630,'1731224351','143.110.213.72'),(3631,'1731224351','143.110.213.72'),(3632,'1731224351','143.110.213.72'),(3633,'1731224352','143.110.213.72'),(3634,'1731224352','143.110.213.72'),(3635,'1731292436','67.222.45.11'),(3636,'1731292437','198.235.24.150'),(3637,'1731296952','67.222.45.11'),(3638,'1731296953','198.235.24.37'),(3639,'1731402733','67.222.45.11'),(3640,'1731402734','139.59.132.8'),(3641,'1731402734','139.59.132.8'),(3642,'1731402735','139.59.132.8'),(3643,'1731402735','139.59.132.8'),(3644,'1731402736','139.59.132.8'),(3645,'1731402736','139.59.132.8'),(3646,'1731402737','139.59.132.8'),(3647,'1731402738','139.59.132.8'),(3648,'1731402739','139.59.132.8'),(3649,'1731402740','139.59.132.8'),(3650,'1731402740','139.59.132.8'),(3651,'1731402742','139.59.132.8'),(3652,'1731402742','139.59.132.8'),(3653,'1731402743','139.59.132.8'),(3654,'1731402743','139.59.132.8'),(3655,'1731402744','139.59.132.8'),(3656,'1731404905','161.35.156.116'),(3657,'1731415868','34.30.25.60'),(3658,'1731415869','34.30.25.60'),(3659,'1731415870','34.30.25.60'),(3660,'1731487644','67.222.45.11'),(3661,'1731487645','34.162.6.237'),(3662,'1731487647','34.162.6.237'),(3663,'1731487648','34.162.6.237'),(3664,'1731517894','67.222.45.11'),(3665,'1731517895','35.84.142.15'),(3666,'1731527988','68.183.199.112'),(3667,'1731547840','67.222.45.11'),(3668,'1731547841','138.246.253.24'),(3669,'1731573581','67.222.45.11'),(3670,'1731573581','157.245.36.108'),(3671,'1731573582','157.245.36.108'),(3672,'1731573582','157.245.36.108'),(3673,'1731573583','157.245.36.108'),(3674,'1731573583','157.245.36.108'),(3675,'1731573584','157.245.36.108'),(3676,'1731573585','157.245.36.108'),(3677,'1731573585','157.245.36.108'),(3678,'1731573586','157.245.36.108'),(3679,'1731573587','157.245.36.108'),(3680,'1731573587','157.245.36.108'),(3681,'1731573588','157.245.36.108'),(3682,'1731573589','157.245.36.108'),(3683,'1731573589','157.245.36.108'),(3684,'1731573590','157.245.36.108'),(3685,'1731573591','157.245.36.108'),(3686,'1731702103','67.222.45.11'),(3687,'1731702103','157.245.36.49'),(3688,'1731792776','67.222.45.11'),(3689,'1731792777','206.189.95.232'),(3690,'1731792777','206.189.95.232'),(3691,'1731792778','206.189.95.232'),(3692,'1731792778','206.189.95.232'),(3693,'1731792779','206.189.95.232'),(3694,'1731792780','206.189.95.232'),(3695,'1731792781','206.189.95.232'),(3696,'1731792782','206.189.95.232'),(3697,'1731792783','206.189.95.232'),(3698,'1731792784','206.189.95.232'),(3699,'1731792785','206.189.95.232'),(3700,'1731792786','206.189.95.232'),(3701,'1731792787','206.189.95.232'),(3702,'1731792788','206.189.95.232'),(3703,'1731792788','206.189.95.232'),(3704,'1731792789','206.189.95.232'),(3705,'1731833666','67.222.45.11'),(3706,'1731833666','35.188.132.213'),(3707,'1731833667','35.188.132.213'),(3708,'1731833667','35.188.132.213'),(3709,'1731869671','178.62.197.205'),(3710,'1731869672','67.222.45.11'),(3711,'1731884300','115.231.78.2'),(3712,'1731884302','115.231.78.2'),(3713,'1731884304','115.231.78.2'),(3714,'1731884316','115.231.78.2'),(3715,'1731884318','115.231.78.2'),(3716,'1731935326','67.222.45.11'),(3717,'1731935327','96.126.110.181'),(3718,'1731935327','96.126.110.181'),(3719,'1731935328','96.126.110.181'),(3720,'1731935328','96.126.110.181'),(3721,'1731935328','96.126.110.181'),(3722,'1731935328','96.126.110.181'),(3723,'1731935329','96.126.110.181'),(3724,'1731935329','96.126.110.181'),(3725,'1731935330','96.126.110.181'),(3726,'1731935330','96.126.110.181'),(3727,'1731935331','96.126.110.181'),(3728,'1731935331','96.126.110.181'),(3729,'1731935332','96.126.110.181'),(3730,'1731935332','96.126.110.181'),(3731,'1731935332','96.126.110.181'),(3732,'1731935333','96.126.110.181'),(3733,'1731972907','67.222.45.11'),(3734,'1731972908','71.6.134.234'),(3735,'1731993795','67.222.45.11'),(3736,'1731993796','51.81.46.212'),(3737,'1732067142','67.222.45.11'),(3738,'1732067143','54.88.179.33'),(3739,'1732067143','54.88.179.33'),(3740,'1732069997','54.172.171.229'),(3741,'1732122280','167.172.158.128'),(3742,'1732122280','67.222.45.11'),(3743,'1732122280','167.172.158.128'),(3744,'1732122280','167.172.158.128'),(3745,'1732122280','167.172.158.128'),(3746,'1732122281','167.172.158.128'),(3747,'1732122281','167.172.158.128'),(3748,'1732122281','167.172.158.128'),(3749,'1732122282','167.172.158.128'),(3750,'1732122282','167.172.158.128'),(3751,'1732122283','167.172.158.128'),(3752,'1732122283','167.172.158.128'),(3753,'1732122284','167.172.158.128'),(3754,'1732122284','167.172.158.128'),(3755,'1732122284','167.172.158.128'),(3756,'1732122285','167.172.158.128'),(3757,'1732122285','167.172.158.128'),(3758,'1732156791','67.222.45.11'),(3759,'1732156792','124.236.100.56'),(3760,'1732161112','67.222.45.11'),(3761,'1732161113','198.244.213.98'),(3762,'1732163234','54.88.179.33'),(3763,'1732163236','35.171.144.152'),(3764,'1732217574','67.222.45.11'),(3765,'1732217575','205.210.31.232'),(3766,'1732258367','67.222.45.11'),(3767,'1732258368','46.101.111.185'),(3768,'1732258368','46.101.111.185'),(3769,'1732258369','46.101.111.185'),(3770,'1732258370','46.101.111.185'),(3771,'1732258370','46.101.111.185'),(3772,'1732258371','46.101.111.185'),(3773,'1732258371','46.101.111.185'),(3774,'1732258372','46.101.111.185'),(3775,'1732258373','46.101.111.185'),(3776,'1732258374','46.101.111.185'),(3777,'1732258374','46.101.111.185'),(3778,'1732258375','46.101.111.185'),(3779,'1732258376','46.101.111.185'),(3780,'1732258376','46.101.111.185'),(3781,'1732258377','46.101.111.185'),(3782,'1732258378','46.101.111.185'),(3783,'1732273007','138.246.253.24'),(3784,'1732333935','67.222.45.11'),(3785,'1732333936','199.45.155.86'),(3786,'1732339582','162.142.125.205'),(3787,'1732367159','67.222.45.11'),(3788,'1732367159','205.210.31.27'),(3789,'1732435999','67.222.45.11'),(3790,'1732435999','206.168.34.37'),(3791,'1732441141','199.45.155.91'),(3792,'1732441712','165.227.84.14'),(3793,'1732441712','165.227.84.14'),(3794,'1732441712','165.227.84.14'),(3795,'1732441713','165.227.84.14'),(3796,'1732441713','165.227.84.14'),(3797,'1732441713','165.227.84.14'),(3798,'1732441714','165.227.84.14'),(3799,'1732441714','165.227.84.14'),(3800,'1732441715','165.227.84.14'),(3801,'1732441715','165.227.84.14'),(3802,'1732441716','165.227.84.14'),(3803,'1732441716','165.227.84.14'),(3804,'1732441716','165.227.84.14'),(3805,'1732441717','165.227.84.14'),(3806,'1732441717','165.227.84.14'),(3807,'1732441717','165.227.84.14'),(3808,'1732518075','67.222.45.11'),(3809,'1732518075','199.45.154.142'),(3810,'1732521452','205.210.31.141'),(3811,'1732538875','206.168.34.60'),(3812,'1732601445','67.222.45.11'),(3813,'1732601445','138.197.166.63'),(3814,'1732601448','138.197.166.63'),(3815,'1732612065','143.244.168.161'),(3816,'1732612067','143.244.168.161'),(3817,'1732612068','143.244.168.161'),(3818,'1732612068','143.244.168.161'),(3819,'1732612068','143.244.168.161'),(3820,'1732612069','143.244.168.161'),(3821,'1732612069','143.244.168.161'),(3822,'1732612069','143.244.168.161'),(3823,'1732612070','143.244.168.161'),(3824,'1732612070','143.244.168.161'),(3825,'1732612071','143.244.168.161'),(3826,'1732612071','143.244.168.161'),(3827,'1732612072','143.244.168.161'),(3828,'1732612072','143.244.168.161'),(3829,'1732612072','143.244.168.161'),(3830,'1732612073','143.244.168.161'),(3831,'1732616611','46.101.111.185'),(3832,'1732616611','46.101.111.185'),(3833,'1732616612','46.101.111.185'),(3834,'1732616613','46.101.111.185'),(3835,'1732616614','46.101.111.185'),(3836,'1732616615','46.101.111.185'),(3837,'1732616615','46.101.111.185'),(3838,'1732616616','46.101.111.185'),(3839,'1732616617','46.101.111.185'),(3840,'1732616618','46.101.111.185'),(3841,'1732616618','46.101.111.185'),(3842,'1732616619','46.101.111.185'),(3843,'1732616620','46.101.111.185'),(3844,'1732616620','46.101.111.185'),(3845,'1732616621','46.101.111.185'),(3846,'1732616622','46.101.111.185'),(3847,'1732617339','147.185.132.34'),(3848,'1732628428','207.241.235.133'),(3849,'1732628429','207.241.237.22'),(3850,'1732631118','154.47.30.142'),(3851,'1732655349','67.222.45.11'),(3852,'1732655349','47.242.224.70'),(3853,'1732699500','67.222.45.11'),(3854,'1732699500','87.236.176.161'),(3855,'1732710139','47.242.224.70'),(3856,'1732713602','45.148.10.206'),(3857,'1732735374','67.222.45.11'),(3858,'1732735375','138.197.123.62'),(3859,'1732750652','67.222.45.11'),(3860,'1732750652','3.143.141.209'),(3861,'1732750673','3.143.141.209'),(3862,'1732750673','3.143.141.209'),(3863,'1732750673','3.143.141.209'),(3864,'1732750673','3.143.141.209'),(3865,'1732750673','3.143.141.209'),(3866,'1732750673','3.143.141.209'),(3867,'1732750673','3.143.141.209'),(3868,'1732750673','3.143.141.209'),(3869,'1732750709','3.143.141.209'),(3870,'1732750709','3.143.141.209'),(3871,'1732750710','3.143.141.209'),(3872,'1732750710','3.143.141.209'),(3873,'1732750710','3.143.141.209'),(3874,'1732750710','3.143.141.209'),(3875,'1732750710','3.143.141.209'),(3876,'1732750710','3.143.141.209'),(3877,'1732750749','3.143.141.209'),(3878,'1732750749','3.143.141.209'),(3879,'1732750749','3.143.141.209'),(3880,'1732750749','3.143.141.209'),(3881,'1732750749','3.143.141.209'),(3882,'1732750749','3.143.141.209'),(3883,'1732750749','3.143.141.209'),(3884,'1732750750','3.143.141.209'),(3885,'1732750785','3.143.141.209'),(3886,'1732750785','3.143.141.209'),(3887,'1732750785','3.143.141.209'),(3888,'1732750785','3.143.141.209'),(3889,'1732750785','3.143.141.209'),(3890,'1732750785','3.143.141.209'),(3891,'1732750786','3.143.141.209'),(3892,'1732750825','3.143.141.209'),(3893,'1732750825','3.143.141.209'),(3894,'1732750825','3.143.141.209'),(3895,'1732750825','3.143.141.209'),(3896,'1732750825','3.143.141.209'),(3897,'1732750825','3.143.141.209'),(3898,'1732750825','3.143.141.209'),(3899,'1732750827','3.143.141.209'),(3900,'1732750864','3.143.141.209'),(3901,'1732750864','3.143.141.209'),(3902,'1732750864','3.143.141.209'),(3903,'1732750864','3.143.141.209'),(3904,'1732750864','3.143.141.209'),(3905,'1732750864','3.143.141.209'),(3906,'1732750864','3.143.141.209'),(3907,'1732750864','3.143.141.209'),(3908,'1732791270','67.222.45.11'),(3909,'1732791270','142.93.129.190'),(3910,'1732791270','142.93.129.190'),(3911,'1732791271','142.93.129.190'),(3912,'1732791272','142.93.129.190'),(3913,'1732791273','142.93.129.190'),(3914,'1732791273','142.93.129.190'),(3915,'1732791274','142.93.129.190'),(3916,'1732791275','142.93.129.190'),(3917,'1732791276','142.93.129.190'),(3918,'1732791276','142.93.129.190'),(3919,'1732791277','142.93.129.190'),(3920,'1732791278','142.93.129.190'),(3921,'1732791279','142.93.129.190'),(3922,'1732791279','142.93.129.190'),(3923,'1732791280','142.93.129.190'),(3924,'1732791280','142.93.129.190'),(3925,'1732871205','67.222.45.11'),(3926,'1732871206','18.224.214.140'),(3927,'1732871233','18.224.214.140'),(3928,'1732871233','18.224.214.140'),(3929,'1732871233','18.224.214.140'),(3930,'1732871233','18.224.214.140'),(3931,'1732871233','18.224.214.140'),(3932,'1732871233','18.224.214.140'),(3933,'1732871233','18.224.214.140'),(3934,'1732871235','18.224.214.140'),(3935,'1732871267','18.224.214.140'),(3936,'1732871267','18.224.214.140'),(3937,'1732871267','18.224.214.140'),(3938,'1732871267','18.224.214.140'),(3939,'1732871267','18.224.214.140'),(3940,'1732871267','18.224.214.140'),(3941,'1732871269','18.224.214.140'),(3942,'1732871269','18.224.214.140'),(3943,'1732871299','18.224.214.140'),(3944,'1732871299','18.224.214.140'),(3945,'1732871299','18.224.214.140'),(3946,'1732871299','18.224.214.140'),(3947,'1732871299','18.224.214.140'),(3948,'1732871299','18.224.214.140'),(3949,'1732871299','18.224.214.140'),(3950,'1732871299','18.224.214.140'),(3951,'1732871328','18.224.214.140'),(3952,'1732871328','18.224.214.140'),(3953,'1732871328','18.224.214.140'),(3954,'1732871328','18.224.214.140'),(3955,'1732871328','18.224.214.140'),(3956,'1732871328','18.224.214.140'),(3957,'1732871328','18.224.214.140'),(3958,'1732871328','18.224.214.140'),(3959,'1732871351','18.224.214.140'),(3960,'1732871351','18.224.214.140'),(3961,'1732871351','18.224.214.140'),(3962,'1732871351','18.224.214.140'),(3963,'1732871351','18.224.214.140'),(3964,'1732871351','18.224.214.140'),(3965,'1732871351','18.224.214.140'),(3966,'1732871352','18.224.214.140'),(3967,'1732871383','18.224.214.140'),(3968,'1732871383','18.224.214.140'),(3969,'1732871383','18.224.214.140'),(3970,'1732871383','18.224.214.140'),(3971,'1732871383','18.224.214.140'),(3972,'1732871383','18.224.214.140'),(3973,'1732871383','18.224.214.140'),(3974,'1732871383','18.224.214.140'),(3975,'1732884248','138.246.253.24'),(3976,'1732886707','84.254.98.24'),(3977,'1732896986','67.222.45.11'),(3978,'1732896987','18.222.150.102'),(3979,'1732896988','18.222.150.102'),(3980,'1732896988','18.222.150.102'),(3981,'1732907415','68.183.127.145'),(3982,'1732933475','67.222.45.11'),(3983,'1732933476','31.220.40.210'),(3984,'1732941516','67.222.45.11'),(3985,'1732941517','198.235.24.22'),(3986,'1732977282','67.222.45.11'),(3987,'1732977282','209.38.248.17'),(3988,'1732977286','209.38.248.17'),(3989,'1732977286','209.38.248.17'),(3990,'1732977287','209.38.248.17'),(3991,'1732977287','209.38.248.17'),(3992,'1732977288','209.38.248.17'),(3993,'1732977289','209.38.248.17'),(3994,'1732977289','209.38.248.17'),(3995,'1732977290','209.38.248.17'),(3996,'1732977291','209.38.248.17'),(3997,'1732977292','209.38.248.17'),(3998,'1732977293','209.38.248.17'),(3999,'1732977293','209.38.248.17'),(4000,'1732977294','209.38.248.17'),(4001,'1732977294','209.38.248.17'),(4002,'1732977295','209.38.248.17'),(4003,'1732982541','67.222.45.11'),(4004,'1732982542','45.148.10.206'),(4005,'1733027546','67.222.45.11'),(4006,'1733027547','54.213.151.233'),(4007,'1733118636','67.222.45.11'),(4008,'1733118636','198.235.24.60'),(4009,'1733119547','45.148.10.80'),(4010,'1733121868','205.210.31.54'),(4011,'1733177181','67.222.45.11'),(4012,'1733177182','142.93.143.8'),(4013,'1733177182','142.93.143.8'),(4014,'1733177183','142.93.143.8'),(4015,'1733177183','142.93.143.8'),(4016,'1733177184','142.93.143.8'),(4017,'1733177184','142.93.143.8'),(4018,'1733177185','142.93.143.8'),(4019,'1733177186','142.93.143.8'),(4020,'1733177187','142.93.143.8'),(4021,'1733177187','142.93.143.8'),(4022,'1733177188','142.93.143.8'),(4023,'1733177189','142.93.143.8'),(4024,'1733177189','142.93.143.8'),(4025,'1733177190','142.93.143.8'),(4026,'1733177190','142.93.143.8'),(4027,'1733177191','142.93.143.8'),(4028,'1733274922','67.222.45.11'),(4029,'1733274923','52.221.192.57'),(4030,'1733274942','52.221.192.57'),(4031,'1733274942','52.221.192.57'),(4032,'1733274942','52.221.192.57'),(4033,'1733274942','52.221.192.57'),(4034,'1733274942','52.221.192.57'),(4035,'1733274942','52.221.192.57'),(4036,'1733274944','52.221.192.57'),(4037,'1733274946','52.221.192.57'),(4038,'1733274967','52.221.192.57'),(4039,'1733274967','52.221.192.57'),(4040,'1733274967','52.221.192.57'),(4041,'1733274967','52.221.192.57'),(4042,'1733274967','52.221.192.57'),(4043,'1733274967','52.221.192.57'),(4044,'1733274969','52.221.192.57'),(4045,'1733274998','52.221.192.57'),(4046,'1733274998','52.221.192.57'),(4047,'1733274998','52.221.192.57'),(4048,'1733274998','52.221.192.57'),(4049,'1733274998','52.221.192.57'),(4050,'1733274998','52.221.192.57'),(4051,'1733274998','52.221.192.57'),(4052,'1733274998','52.221.192.57'),(4053,'1733275023','52.221.192.57'),(4054,'1733275023','52.221.192.57'),(4055,'1733275023','52.221.192.57'),(4056,'1733275023','52.221.192.57'),(4057,'1733275023','52.221.192.57'),(4058,'1733275023','52.221.192.57'),(4059,'1733275025','52.221.192.57'),(4060,'1733275047','52.221.192.57'),(4061,'1733275047','52.221.192.57'),(4062,'1733275047','52.221.192.57'),(4063,'1733275048','52.221.192.57'),(4064,'1733275048','52.221.192.57'),(4065,'1733275048','52.221.192.57'),(4066,'1733275048','52.221.192.57'),(4067,'1733275049','52.221.192.57'),(4068,'1733275071','52.221.192.57'),(4069,'1733275071','52.221.192.57'),(4070,'1733275071','52.221.192.57'),(4071,'1733275071','52.221.192.57'),(4072,'1733275071','52.221.192.57'),(4073,'1733275074','52.221.192.57'),(4074,'1733275074','52.221.192.57'),(4075,'1733275074','52.221.192.57'),(4076,'1733324377','146.190.63.248'),(4077,'1733324377','67.222.45.11'),(4078,'1733324377','146.190.63.248'),(4079,'1733324378','146.190.63.248'),(4080,'1733324378','146.190.63.248'),(4081,'1733324378','146.190.63.248'),(4082,'1733324378','146.190.63.248'),(4083,'1733324378','146.190.63.248'),(4084,'1733324378','146.190.63.248'),(4085,'1733324379','146.190.63.248'),(4086,'1733324379','146.190.63.248'),(4087,'1733324379','146.190.63.248'),(4088,'1733324380','146.190.63.248'),(4089,'1733324380','146.190.63.248'),(4090,'1733324380','146.190.63.248'),(4091,'1733324380','146.190.63.248'),(4092,'1733324380','146.190.63.248'),(4093,'1733324381','146.190.63.248'),(4094,'1733376532','67.222.45.11'),(4095,'1733376533','52.221.192.57'),(4096,'1733376554','52.221.192.57'),(4097,'1733376554','52.221.192.57'),(4098,'1733376554','52.221.192.57'),(4099,'1733376554','52.221.192.57'),(4100,'1733376554','52.221.192.57'),(4101,'1733376554','52.221.192.57'),(4102,'1733376554','52.221.192.57'),(4103,'1733376557','52.221.192.57'),(4104,'1733376608','52.221.192.57'),(4105,'1733376608','52.221.192.57'),(4106,'1733376608','52.221.192.57'),(4107,'1733376608','52.221.192.57'),(4108,'1733376608','52.221.192.57'),(4109,'1733376608','52.221.192.57'),(4110,'1733376608','52.221.192.57'),(4111,'1733376608','52.221.192.57'),(4112,'1733376654','52.221.192.57'),(4113,'1733376654','52.221.192.57'),(4114,'1733376654','52.221.192.57'),(4115,'1733376654','52.221.192.57'),(4116,'1733376654','52.221.192.57'),(4117,'1733376654','52.221.192.57'),(4118,'1733376654','52.221.192.57'),(4119,'1733376655','52.221.192.57'),(4120,'1733376695','52.221.192.57'),(4121,'1733376695','52.221.192.57'),(4122,'1733376696','52.221.192.57'),(4123,'1733376696','52.221.192.57'),(4124,'1733376696','52.221.192.57'),(4125,'1733376696','52.221.192.57'),(4126,'1733376696','52.221.192.57'),(4127,'1733376696','52.221.192.57'),(4128,'1733376743','52.221.192.57'),(4129,'1733376743','52.221.192.57'),(4130,'1733376743','52.221.192.57'),(4131,'1733376743','52.221.192.57'),(4132,'1733376743','52.221.192.57'),(4133,'1733376743','52.221.192.57'),(4134,'1733376743','52.221.192.57'),(4135,'1733376743','52.221.192.57'),(4136,'1733376792','52.221.192.57'),(4137,'1733376792','52.221.192.57'),(4138,'1733376792','52.221.192.57'),(4139,'1733376792','52.221.192.57'),(4140,'1733376793','52.221.192.57'),(4141,'1733376793','52.221.192.57'),(4142,'1733376793','52.221.192.57'),(4143,'1733376793','52.221.192.57'),(4144,'1733430057','67.222.45.11'),(4145,'1733430058','205.210.31.36'),(4146,'1733449086','67.222.45.11'),(4147,'1733449087','109.205.213.18'),(4148,'1733489533','67.222.45.11'),(4149,'1733489534','64.226.65.160'),(4150,'1733489534','64.226.65.160'),(4151,'1733489535','64.226.65.160'),(4152,'1733489535','64.226.65.160'),(4153,'1733489536','64.226.65.160'),(4154,'1733489537','64.226.65.160'),(4155,'1733489537','64.226.65.160'),(4156,'1733489538','64.226.65.160'),(4157,'1733489539','64.226.65.160'),(4158,'1733489540','64.226.65.160'),(4159,'1733489540','64.226.65.160'),(4160,'1733489541','64.226.65.160'),(4161,'1733489542','64.226.65.160'),(4162,'1733489542','64.226.65.160'),(4163,'1733489543','64.226.65.160'),(4164,'1733489543','64.226.65.160'),(4165,'1733489544','64.226.65.160'),(4166,'1733539495','67.222.45.11'),(4167,'1733539496','198.235.24.139'),(4168,'1733568973','67.222.45.11'),(4169,'1733568974','138.246.253.24'),(4170,'1733579688','205.210.31.58'),(4171,'1733652077','67.222.45.11'),(4172,'1733652078','45.148.10.235'),(4173,'1733652089','45.148.10.235'),(4174,'1733652089','45.148.10.235'),(4175,'1733652089','45.148.10.235'),(4176,'1733652089','45.148.10.235'),(4177,'1733652089','45.148.10.235'),(4178,'1733652089','45.148.10.235'),(4179,'1733652089','45.148.10.235'),(4180,'1733652089','45.148.10.235'),(4181,'1733652089','45.148.10.235'),(4182,'1733652089','45.148.10.235'),(4183,'1733652089','45.148.10.235'),(4184,'1733652089','45.148.10.235'),(4185,'1733652089','45.148.10.235'),(4186,'1733652089','45.148.10.235'),(4187,'1733652089','45.148.10.235'),(4188,'1733652090','45.148.10.235'),(4189,'1733652090','45.148.10.235'),(4190,'1733652090','45.148.10.235'),(4191,'1733652127','45.148.10.235'),(4192,'1733652127','45.148.10.235'),(4193,'1733652127','45.148.10.235'),(4194,'1733652127','45.148.10.235'),(4195,'1733652127','45.148.10.235'),(4196,'1733652127','45.148.10.235'),(4197,'1733652127','45.148.10.235'),(4198,'1733652127','45.148.10.235'),(4199,'1733652127','45.148.10.235'),(4200,'1733652127','45.148.10.235'),(4201,'1733652127','45.148.10.235'),(4202,'1733652127','45.148.10.235'),(4203,'1733652127','45.148.10.235'),(4204,'1733652127','45.148.10.235'),(4205,'1733652127','45.148.10.235'),(4206,'1733652127','45.148.10.235'),(4207,'1733652127','45.148.10.235'),(4208,'1733652127','45.148.10.235'),(4209,'1733661404','165.22.235.3'),(4210,'1733661406','165.22.235.3'),(4211,'1733661406','165.22.235.3'),(4212,'1733661406','165.22.235.3'),(4213,'1733661407','165.22.235.3'),(4214,'1733661407','165.22.235.3'),(4215,'1733661407','165.22.235.3'),(4216,'1733661408','165.22.235.3'),(4217,'1733661408','165.22.235.3'),(4218,'1733661409','165.22.235.3'),(4219,'1733661409','165.22.235.3'),(4220,'1733661410','165.22.235.3'),(4221,'1733661410','165.22.235.3'),(4222,'1733661410','165.22.235.3'),(4223,'1733661411','165.22.235.3'),(4224,'1733661411','165.22.235.3'),(4225,'1733661411','165.22.235.3'),(4226,'1733762460','67.222.45.11'),(4227,'1733762461','45.148.10.236'),(4228,'1733806254','67.222.45.11'),(4229,'1733806255','138.68.144.227'),(4230,'1733806255','138.68.144.227'),(4231,'1733806256','138.68.144.227'),(4232,'1733806256','138.68.144.227'),(4233,'1733806257','138.68.144.227'),(4234,'1733806257','138.68.144.227'),(4235,'1733806258','138.68.144.227'),(4236,'1733806258','138.68.144.227'),(4237,'1733806259','138.68.144.227'),(4238,'1733806260','138.68.144.227'),(4239,'1733806261','138.68.144.227'),(4240,'1733806262','138.68.144.227'),(4241,'1733806262','138.68.144.227'),(4242,'1733806263','138.68.144.227'),(4243,'1733806263','138.68.144.227'),(4244,'1733806264','138.68.144.227'),(4245,'1733806264','138.68.144.227'),(4246,'1733837762','67.222.45.11'),(4247,'1733837762','134.122.86.12'),(4248,'1733837773','134.122.86.12'),(4249,'1733866663','67.222.45.11'),(4250,'1733866664','35.171.144.152'),(4251,'1733866664','35.171.144.152'),(4252,'1733904588','67.222.45.11'),(4253,'1733904589','35.171.144.152'),(4254,'1733904591','35.171.144.152'),(4255,'1733916865','18.156.35.7'),(4256,'1733932440','67.222.45.11'),(4257,'1733932440','212.104.135.9'),(4258,'1733932453','212.104.135.9'),(4259,'1733932453','212.104.135.9'),(4260,'1733932453','212.104.135.9'),(4261,'1733932453','212.104.135.9'),(4262,'1733932453','212.104.135.9'),(4263,'1733932454','212.104.135.9'),(4264,'1733932454','212.104.135.9'),(4265,'1733932456','212.104.135.9'),(4266,'1733932467','212.104.135.9'),(4267,'1733932467','212.104.135.9'),(4268,'1733932468','212.104.135.9'),(4269,'1733932468','212.104.135.9'),(4270,'1733932468','212.104.135.9'),(4271,'1733932469','212.104.135.9'),(4272,'1733979434','67.222.45.11'),(4273,'1733979435','167.172.232.142'),(4274,'1733979435','167.172.232.142'),(4275,'1733979435','167.172.232.142'),(4276,'1733979435','167.172.232.142'),(4277,'1733979436','167.172.232.142'),(4278,'1733979436','167.172.232.142'),(4279,'1733979436','167.172.232.142'),(4280,'1733979437','167.172.232.142'),(4281,'1733979437','167.172.232.142'),(4282,'1733979438','167.172.232.142'),(4283,'1733979438','167.172.232.142'),(4284,'1733979438','167.172.232.142'),(4285,'1733979439','167.172.232.142'),(4286,'1733979439','167.172.232.142'),(4287,'1733979439','167.172.232.142'),(4288,'1733979440','167.172.232.142'),(4289,'1733979440','167.172.232.142'),(4290,'1733981463','138.246.253.24'),(4291,'1734023812','67.222.45.11'),(4292,'1734023813','109.205.213.18'),(4293,'1734023813','109.205.213.18'),(4294,'1734023814','109.205.213.18'),(4295,'1734027095','35.94.134.30'),(4296,'1734037772','71.6.134.234'),(4297,'1734113701','67.222.45.11'),(4298,'1734113702','205.210.31.11'),(4299,'1734121793','205.210.31.204'),(4300,'1734124062','206.189.227.150'),(4301,'1734151205','67.222.45.11'),(4302,'1734151206','157.245.113.227'),(4303,'1734151206','157.245.113.227'),(4304,'1734151207','157.245.113.227'),(4305,'1734151208','157.245.113.227'),(4306,'1734151209','157.245.113.227'),(4307,'1734151210','157.245.113.227'),(4308,'1734151211','157.245.113.227'),(4309,'1734151212','157.245.113.227'),(4310,'1734151213','157.245.113.227'),(4311,'1734151214','157.245.113.227'),(4312,'1734151214','157.245.113.227'),(4313,'1734151216','157.245.113.227'),(4314,'1734151216','157.245.113.227'),(4315,'1734151217','157.245.113.227'),(4316,'1734151218','157.245.113.227'),(4317,'1734151218','157.245.113.227'),(4318,'1734151219','157.245.113.227'),(4319,'1734191829','67.222.45.11'),(4320,'1734191830','185.247.137.224'),(4321,'1734192782','34.59.7.244'),(4322,'1734192782','34.59.7.244'),(4323,'1734192783','34.59.7.244'),(4324,'1734237778','67.222.45.11'),(4325,'1734237778','198.235.24.147'),(4326,'1734286969','67.222.45.11'),(4327,'1734286970','159.65.195.30'),(4328,'1734329294','67.222.45.11'),(4329,'1734329294','68.183.180.73'),(4330,'1734329294','68.183.180.73'),(4331,'1734329296','68.183.180.73'),(4332,'1734329297','68.183.180.73'),(4333,'1734329297','68.183.180.73'),(4334,'1734329298','68.183.180.73'),(4335,'1734329299','68.183.180.73'),(4336,'1734329300','68.183.180.73'),(4337,'1734329301','68.183.180.73'),(4338,'1734329302','68.183.180.73'),(4339,'1734329303','68.183.180.73'),(4340,'1734329304','68.183.180.73'),(4341,'1734329305','68.183.180.73'),(4342,'1734329306','68.183.180.73'),(4343,'1734329306','68.183.180.73'),(4344,'1734329307','68.183.180.73'),(4345,'1734329308','68.183.180.73'),(4346,'1734357789','157.157.221.29'),(4347,'1734517954','67.222.45.11'),(4348,'1734517955','198.235.24.37'),(4349,'1734522276','165.22.34.189'),(4350,'1734522276','165.22.34.189'),(4351,'1734522277','165.22.34.189'),(4352,'1734522277','165.22.34.189'),(4353,'1734522277','165.22.34.189'),(4354,'1734522278','165.22.34.189'),(4355,'1734522278','165.22.34.189'),(4356,'1734522278','165.22.34.189'),(4357,'1734522279','165.22.34.189'),(4358,'1734522279','165.22.34.189'),(4359,'1734522280','165.22.34.189'),(4360,'1734522280','165.22.34.189'),(4361,'1734522281','165.22.34.189'),(4362,'1734522281','165.22.34.189'),(4363,'1734522281','165.22.34.189'),(4364,'1734522282','165.22.34.189'),(4365,'1734522282','165.22.34.189'),(4366,'1734522282','165.22.34.189'),(4367,'1734574664','67.222.45.11'),(4368,'1734574665','45.83.65.118'),(4369,'1734589478','67.222.45.11'),(4370,'1734589478','51.81.46.212'),(4371,'1734693048','67.222.45.11'),(4372,'1734693049','138.246.253.24'),(4373,'1734694660','142.93.143.8'),(4374,'1734694661','142.93.143.8'),(4375,'1734694661','142.93.143.8'),(4376,'1734694662','142.93.143.8'),(4377,'1734694662','142.93.143.8'),(4378,'1734694663','142.93.143.8'),(4379,'1734694663','142.93.143.8'),(4380,'1734694664','142.93.143.8'),(4381,'1734694664','142.93.143.8'),(4382,'1734694665','142.93.143.8'),(4383,'1734694666','142.93.143.8'),(4384,'1734694666','142.93.143.8'),(4385,'1734694667','142.93.143.8'),(4386,'1734694668','142.93.143.8'),(4387,'1734694668','142.93.143.8'),(4388,'1734694669','142.93.143.8'),(4389,'1734694669','142.93.143.8'),(4390,'1734694670','142.93.143.8'),(4391,'1734696866','205.210.31.193'),(4392,'1734725847','67.222.45.11'),(4393,'1734725847','198.235.24.161'),(4394,'1734806928','67.222.45.11'),(4395,'1734806929','104.248.7.147'),(4396,'1734867265','67.222.45.11'),(4397,'1734867266','198.235.24.140'),(4398,'1734985010','67.222.45.11'),(4399,'1734985011','46.101.230.93'),(4400,'1735030122','67.222.45.11'),(4401,'1735030123','161.35.23.143'),(4402,'1735030127','161.35.23.143'),(4403,'1735032656','159.223.132.86'),(4404,'1735032657','159.223.132.86'),(4405,'1735032657','159.223.132.86'),(4406,'1735032657','159.223.132.86'),(4407,'1735032658','159.223.132.86'),(4408,'1735032658','159.223.132.86'),(4409,'1735032658','159.223.132.86'),(4410,'1735032659','159.223.132.86'),(4411,'1735032659','159.223.132.86'),(4412,'1735032660','159.223.132.86'),(4413,'1735032660','159.223.132.86'),(4414,'1735032661','159.223.132.86'),(4415,'1735032661','159.223.132.86'),(4416,'1735032662','159.223.132.86'),(4417,'1735032662','159.223.132.86'),(4418,'1735032662','159.223.132.86'),(4419,'1735032663','159.223.132.86'),(4420,'1735032663','159.223.132.86'),(4421,'1735102537','67.222.45.11'),(4422,'1735102538','45.148.10.86'),(4423,'1735174717','67.222.45.11'),(4424,'1735174717','45.148.10.86'),(4425,'1735219780','67.222.45.11'),(4426,'1735219781','35.178.202.15'),(4427,'1735238666','67.222.45.11'),(4428,'1735238666','139.59.143.102'),(4429,'1735238666','139.59.143.102'),(4430,'1735238666','139.59.143.102'),(4431,'1735238667','139.59.143.102'),(4432,'1735238668','139.59.143.102'),(4433,'1735238668','139.59.143.102'),(4434,'1735238669','139.59.143.102'),(4435,'1735238669','139.59.143.102'),(4436,'1735238670','139.59.143.102'),(4437,'1735238671','139.59.143.102'),(4438,'1735238672','139.59.143.102'),(4439,'1735238672','139.59.143.102'),(4440,'1735238673','139.59.143.102'),(4441,'1735238674','139.59.143.102'),(4442,'1735238674','139.59.143.102'),(4443,'1735238675','139.59.143.102'),(4444,'1735238675','139.59.143.102'),(4445,'1735238676','139.59.143.102'),(4446,'1735315776','67.222.45.11'),(4447,'1735315776','138.246.253.24'),(4448,'1735407170','67.222.45.11'),(4449,'1735407171','199.45.155.66'),(4450,'1735411341','206.168.34.87'),(4451,'1735427399','67.222.45.11'),(4452,'1735427400','207.154.212.47'),(4453,'1735427400','207.154.212.47'),(4454,'1735427401','207.154.212.47'),(4455,'1735427401','207.154.212.47'),(4456,'1735427402','207.154.212.47'),(4457,'1735427403','207.154.212.47'),(4458,'1735427403','207.154.212.47'),(4459,'1735427404','207.154.212.47'),(4460,'1735427405','207.154.212.47'),(4461,'1735427406','207.154.212.47'),(4462,'1735427406','207.154.212.47'),(4463,'1735427407','207.154.212.47'),(4464,'1735427408','207.154.212.47'),(4465,'1735427408','207.154.212.47'),(4466,'1735427409','207.154.212.47'),(4467,'1735427409','207.154.212.47'),(4468,'1735427410','207.154.212.47'),(4469,'1735427410','207.154.212.47'),(4470,'1735453584','67.222.45.11'),(4471,'1735453584','34.231.71.168'),(4472,'1735519257','67.222.45.11'),(4473,'1735519258','18.141.147.133'),(4474,'1735519280','18.141.147.133'),(4475,'1735519280','18.141.147.133'),(4476,'1735519280','18.141.147.133'),(4477,'1735519280','18.141.147.133'),(4478,'1735519280','18.141.147.133'),(4479,'1735519280','18.141.147.133'),(4480,'1735519280','18.141.147.133'),(4481,'1735519280','18.141.147.133'),(4482,'1735519314','18.141.147.133'),(4483,'1735519314','18.141.147.133'),(4484,'1735519314','18.141.147.133'),(4485,'1735519314','18.141.147.133'),(4486,'1735519314','18.141.147.133'),(4487,'1735519314','18.141.147.133'),(4488,'1735519314','18.141.147.133'),(4489,'1735519315','18.141.147.133'),(4490,'1735519351','18.141.147.133'),(4491,'1735519351','18.141.147.133'),(4492,'1735519351','18.141.147.133'),(4493,'1735519351','18.141.147.133'),(4494,'1735519351','18.141.147.133'),(4495,'1735519351','18.141.147.133'),(4496,'1735519351','18.141.147.133'),(4497,'1735519351','18.141.147.133'),(4498,'1735519380','18.141.147.133'),(4499,'1735519380','18.141.147.133'),(4500,'1735519380','18.141.147.133'),(4501,'1735519380','18.141.147.133'),(4502,'1735519380','18.141.147.133'),(4503,'1735519380','18.141.147.133'),(4504,'1735519380','18.141.147.133'),(4505,'1735519381','18.141.147.133'),(4506,'1735519418','18.141.147.133'),(4507,'1735519418','18.141.147.133'),(4508,'1735519418','18.141.147.133'),(4509,'1735519418','18.141.147.133'),(4510,'1735519418','18.141.147.133'),(4511,'1735519418','18.141.147.133'),(4512,'1735519418','18.141.147.133'),(4513,'1735519418','18.141.147.133'),(4514,'1735519446','18.141.147.133'),(4515,'1735519446','18.141.147.133'),(4516,'1735519446','18.141.147.133'),(4517,'1735519446','18.141.147.133'),(4518,'1735519446','18.141.147.133'),(4519,'1735519446','18.141.147.133'),(4520,'1735519446','18.141.147.133'),(4521,'1735519448','18.141.147.133'),(4522,'1735537076','67.222.45.11'),(4523,'1735537076','64.225.75.246'),(4524,'1735537076','64.225.75.246'),(4525,'1735537077','64.225.75.246'),(4526,'1735537078','64.225.75.246'),(4527,'1735537078','64.225.75.246'),(4528,'1735537079','64.225.75.246'),(4529,'1735537079','64.225.75.246'),(4530,'1735537080','64.225.75.246'),(4531,'1735537081','64.225.75.246'),(4532,'1735537082','64.225.75.246'),(4533,'1735537082','64.225.75.246'),(4534,'1735537083','64.225.75.246'),(4535,'1735537084','64.225.75.246'),(4536,'1735537084','64.225.75.246'),(4537,'1735537085','64.225.75.246'),(4538,'1735537085','64.225.75.246'),(4539,'1735537086','64.225.75.246'),(4540,'1735537086','64.225.75.246'),(4541,'1735596269','67.222.45.11'),(4542,'1735596270','34.223.102.8'),(4543,'1735706600','67.222.45.11'),(4544,'1735706601','157.245.204.205'),(4545,'1735706601','157.245.204.205'),(4546,'1735706602','157.245.204.205'),(4547,'1735706603','157.245.204.205'),(4548,'1735706603','157.245.204.205'),(4549,'1735706604','157.245.204.205'),(4550,'1735706605','157.245.204.205'),(4551,'1735706605','157.245.204.205'),(4552,'1735706606','157.245.204.205'),(4553,'1735706607','157.245.204.205'),(4554,'1735706608','157.245.204.205'),(4555,'1735706609','157.245.204.205'),(4556,'1735706610','157.245.204.205'),(4557,'1735706611','157.245.204.205'),(4558,'1735706612','157.245.204.205'),(4559,'1735706612','157.245.204.205'),(4560,'1735706613','157.245.204.205'),(4561,'1735706614','157.245.204.205'),(4562,'1735716837','67.222.45.11'),(4563,'1735716837','18.136.194.171'),(4564,'1735716863','18.136.194.171'),(4565,'1735716863','18.136.194.171'),(4566,'1735716863','18.136.194.171'),(4567,'1735716863','18.136.194.171'),(4568,'1735716863','18.136.194.171'),(4569,'1735716863','18.136.194.171'),(4570,'1735716863','18.136.194.171'),(4571,'1735716863','18.136.194.171'),(4572,'1735716903','18.136.194.171'),(4573,'1735716903','18.136.194.171'),(4574,'1735716903','18.136.194.171'),(4575,'1735716903','18.136.194.171'),(4576,'1735716903','18.136.194.171'),(4577,'1735716903','18.136.194.171'),(4578,'1735716903','18.136.194.171'),(4579,'1735716903','18.136.194.171'),(4580,'1735716941','18.136.194.171'),(4581,'1735716941','18.136.194.171'),(4582,'1735716941','18.136.194.171'),(4583,'1735716941','18.136.194.171'),(4584,'1735716941','18.136.194.171'),(4585,'1735716941','18.136.194.171'),(4586,'1735716941','18.136.194.171'),(4587,'1735716941','18.136.194.171'),(4588,'1735716977','18.136.194.171'),(4589,'1735716977','18.136.194.171'),(4590,'1735716977','18.136.194.171'),(4591,'1735716977','18.136.194.171'),(4592,'1735716977','18.136.194.171'),(4593,'1735716977','18.136.194.171'),(4594,'1735716977','18.136.194.171'),(4595,'1735716977','18.136.194.171'),(4596,'1735717011','18.136.194.171'),(4597,'1735717011','18.136.194.171'),(4598,'1735717011','18.136.194.171'),(4599,'1735717011','18.136.194.171'),(4600,'1735717011','18.136.194.171'),(4601,'1735717011','18.136.194.171'),(4602,'1735717013','18.136.194.171'),(4603,'1735717014','18.136.194.171'),(4604,'1735717055','18.136.194.171'),(4605,'1735717055','18.136.194.171'),(4606,'1735717055','18.136.194.171'),(4607,'1735717055','18.136.194.171'),(4608,'1735717055','18.136.194.171'),(4609,'1735717055','18.136.194.171'),(4610,'1735717055','18.136.194.171'),(4611,'1735717055','18.136.194.171'),(4612,'1735766012','67.222.45.11'),(4613,'1735766013','115.231.78.2'),(4614,'1735766017','115.231.78.2'),(4615,'1735785864','67.222.45.11'),(4616,'1735785865','45.148.10.80'),(4617,'1735795803','67.222.45.11'),(4618,'1735795803','164.90.228.79'),(4619,'1735795803','164.90.228.79'),(4620,'1735795806','164.90.228.79'),(4621,'1735795807','164.90.228.79'),(4622,'1735795808','164.90.228.79'),(4623,'1735795809','164.90.228.79'),(4624,'1735795809','164.90.228.79'),(4625,'1735795810','164.90.228.79'),(4626,'1735795811','164.90.228.79'),(4627,'1735795812','164.90.228.79'),(4628,'1735795813','164.90.228.79'),(4629,'1735795814','164.90.228.79'),(4630,'1735795815','164.90.228.79'),(4631,'1735795816','164.90.228.79'),(4632,'1735795816','164.90.228.79'),(4633,'1735795817','164.90.228.79'),(4634,'1735795817','164.90.228.79'),(4635,'1735795818','164.90.228.79'),(4636,'1735919540','67.222.45.11'),(4637,'1735919540','138.246.253.24'),(4638,'1735951120','67.222.45.11'),(4639,'1735951121','134.122.35.58'),(4640,'1735968571','147.182.200.94'),(4641,'1735968571','67.222.45.11'),(4642,'1735968572','147.182.200.94'),(4643,'1735968572','147.182.200.94'),(4644,'1735968572','147.182.200.94'),(4645,'1735968572','147.182.200.94'),(4646,'1735968572','147.182.200.94'),(4647,'1735968572','147.182.200.94'),(4648,'1735968573','147.182.200.94'),(4649,'1735968573','147.182.200.94'),(4650,'1735968573','147.182.200.94'),(4651,'1735968573','147.182.200.94'),(4652,'1735968574','147.182.200.94'),(4653,'1735968574','147.182.200.94'),(4654,'1735968574','147.182.200.94'),(4655,'1735968574','147.182.200.94'),(4656,'1735968575','147.182.200.94'),(4657,'1735968575','147.182.200.94'),(4658,'1735968575','147.182.200.94'),(4659,'1736052659','67.222.45.11'),(4660,'1736052660','162.142.125.223'),(4661,'1736055498','124.236.100.56'),(4662,'1736056691','67.222.45.11'),(4663,'1736056691','206.168.34.33'),(4664,'1736133593','67.222.45.11'),(4665,'1736133594','159.89.12.166'),(4666,'1736133594','159.89.12.166'),(4667,'1736133595','159.89.12.166'),(4668,'1736133596','159.89.12.166'),(4669,'1736133596','159.89.12.166'),(4670,'1736133597','159.89.12.166'),(4671,'1736133597','159.89.12.166'),(4672,'1736133598','159.89.12.166'),(4673,'1736133599','159.89.12.166'),(4674,'1736133600','159.89.12.166'),(4675,'1736133600','159.89.12.166'),(4676,'1736133601','159.89.12.166'),(4677,'1736133602','159.89.12.166'),(4678,'1736133603','159.89.12.166'),(4679,'1736133604','159.89.12.166'),(4680,'1736133604','159.89.12.166'),(4681,'1736133605','159.89.12.166'),(4682,'1736133605','159.89.12.166'),(4683,'1736139418','67.222.45.11'),(4684,'1736139419','87.236.176.63'),(4685,'1736213437','67.222.45.11'),(4686,'1736213437','46.101.88.242'),(4687,'1736213451','46.101.88.242'),(4688,'1736218174','206.168.34.195'),(4689,'1736219372','167.94.138.187'),(4690,'1736309179','67.222.45.11'),(4691,'1736309179','64.227.32.66'),(4692,'1736309180','64.227.32.66'),(4693,'1736309180','64.227.32.66'),(4694,'1736309180','64.227.32.66'),(4695,'1736309181','64.227.32.66'),(4696,'1736309182','64.227.32.66'),(4697,'1736309182','64.227.32.66'),(4698,'1736309183','64.227.32.66'),(4699,'1736309183','64.227.32.66'),(4700,'1736309184','64.227.32.66'),(4701,'1736309185','64.227.32.66'),(4702,'1736309185','64.227.32.66'),(4703,'1736309187','64.227.32.66'),(4704,'1736309187','64.227.32.66'),(4705,'1736309188','64.227.32.66'),(4706,'1736309188','64.227.32.66'),(4707,'1736309189','64.227.32.66'),(4708,'1736309189','64.227.32.66'),(4709,'1736314653','35.171.144.152'),(4710,'1736314653','35.171.144.152'),(4711,'1736390034','67.222.45.11'),(4712,'1736390035','35.180.109.212'),(4713,'1736390036','35.180.109.212'),(4714,'1736466473','67.222.45.11'),(4715,'1736466474','206.168.34.39'),(4716,'1736467611','167.94.138.114'),(4717,'1736472214','162.142.125.218'),(4718,'1736472463','167.94.146.48'),(4719,'1736473631','167.94.138.206'),(4720,'1736479394','209.38.248.17'),(4721,'1736479394','209.38.248.17'),(4722,'1736479395','209.38.248.17'),(4723,'1736479396','209.38.248.17'),(4724,'1736479396','209.38.248.17'),(4725,'1736479397','209.38.248.17'),(4726,'1736479397','209.38.248.17'),(4727,'1736479398','209.38.248.17'),(4728,'1736479399','209.38.248.17'),(4729,'1736479400','209.38.248.17'),(4730,'1736479401','209.38.248.17'),(4731,'1736479401','209.38.248.17'),(4732,'1736479402','209.38.248.17'),(4733,'1736479403','209.38.248.17'),(4734,'1736479403','209.38.248.17'),(4735,'1736479404','209.38.248.17'),(4736,'1736479404','209.38.248.17'),(4737,'1736479405','209.38.248.17'),(4738,'1736487655','67.222.45.11'),(4739,'1736487655','199.45.154.124'),(4740,'1736493631','67.222.45.11'),(4741,'1736493631','167.94.138.205'),(4742,'1736497870','162.142.125.194'),(4743,'1736529241','67.222.45.11'),(4744,'1736529242','138.246.253.24'),(4745,'1736649486','67.222.45.11'),(4746,'1736649487','157.230.19.140'),(4747,'1736649487','157.230.19.140'),(4748,'1736649488','157.230.19.140'),(4749,'1736649488','157.230.19.140'),(4750,'1736649489','157.230.19.140'),(4751,'1736649489','157.230.19.140'),(4752,'1736649490','157.230.19.140'),(4753,'1736649490','157.230.19.140'),(4754,'1736649491','157.230.19.140'),(4755,'1736649492','157.230.19.140'),(4756,'1736649493','157.230.19.140'),(4757,'1736649493','157.230.19.140'),(4758,'1736649494','157.230.19.140'),(4759,'1736649495','157.230.19.140'),(4760,'1736649495','157.230.19.140'),(4761,'1736649496','157.230.19.140'),(4762,'1736649496','157.230.19.140'),(4763,'1736649497','157.230.19.140'),(4764,'1736826597','165.227.84.14'),(4765,'1736826597','67.222.45.11'),(4766,'1736826597','165.227.84.14'),(4767,'1736826598','165.227.84.14'),(4768,'1736826598','165.227.84.14'),(4769,'1736826598','165.227.84.14'),(4770,'1736826598','165.227.84.14'),(4771,'1736826599','165.227.84.14'),(4772,'1736826599','165.227.84.14'),(4773,'1736826600','165.227.84.14'),(4774,'1736826600','165.227.84.14'),(4775,'1736826601','165.227.84.14'),(4776,'1736826601','165.227.84.14'),(4777,'1736826602','165.227.84.14'),(4778,'1736826602','165.227.84.14'),(4779,'1736826603','165.227.84.14'),(4780,'1736826603','165.227.84.14'),(4781,'1736826604','165.227.84.14'),(4782,'1736826604','165.227.84.14'),(4783,'1736962860','67.222.45.11'),(4784,'1736962861','35.86.191.223'),(4785,'1736964730','209.38.123.46'),(4786,'1736964732','209.38.123.46'),(4787,'1736982636','67.222.45.11'),(4788,'1736982636','185.247.137.189'),(4789,'1737023600','67.222.45.11'),(4790,'1737023600','206.189.225.181'),(4791,'1737023600','206.189.225.181'),(4792,'1737023601','206.189.225.181'),(4793,'1737023601','206.189.225.181'),(4794,'1737023601','206.189.225.181'),(4795,'1737023602','206.189.225.181'),(4796,'1737023602','206.189.225.181'),(4797,'1737023603','206.189.225.181'),(4798,'1737023603','206.189.225.181'),(4799,'1737023604','206.189.225.181'),(4800,'1737023604','206.189.225.181'),(4801,'1737023604','206.189.225.181'),(4802,'1737023605','206.189.225.181'),(4803,'1737023605','206.189.225.181'),(4804,'1737023606','206.189.225.181'),(4805,'1737023606','206.189.225.181'),(4806,'1737023606','206.189.225.181'),(4807,'1737023607','206.189.225.181'),(4808,'1737131757','67.222.45.11'),(4809,'1737131758','198.235.24.154'),(4810,'1737192722','67.222.45.11'),(4811,'1737192722','54.88.179.33'),(4812,'1737192723','54.88.179.33'),(4813,'1737211623','135.148.100.196'),(4814,'1737235248','67.222.45.11'),(4815,'1737235249','209.38.208.202'),(4816,'1737235249','209.38.208.202'),(4817,'1737235250','209.38.208.202'),(4818,'1737235250','209.38.208.202'),(4819,'1737235251','209.38.208.202'),(4820,'1737235251','209.38.208.202'),(4821,'1737235252','209.38.208.202'),(4822,'1737235253','209.38.208.202'),(4823,'1737235253','209.38.208.202'),(4824,'1737235254','209.38.208.202'),(4825,'1737235255','209.38.208.202'),(4826,'1737235256','209.38.208.202'),(4827,'1737235257','209.38.208.202'),(4828,'1737235257','209.38.208.202'),(4829,'1737235258','209.38.208.202'),(4830,'1737235258','209.38.208.202'),(4831,'1737235259','209.38.208.202'),(4832,'1737235259','209.38.208.202'),(4833,'1737243224','67.222.45.11'),(4834,'1737243225','198.235.24.9'),(4835,'1737251726','198.235.24.23'),(4836,'1737422367','67.222.45.11'),(4837,'1737422368','45.148.10.237'),(4838,'1737445783','67.222.45.11'),(4839,'1737445783','138.246.253.24'),(4840,'1737536772','67.222.45.11'),(4841,'1737536772','198.235.24.138'),(4842,'1737547576','45.148.10.237'),(4843,'1737565717','67.222.45.11'),(4844,'1737565717','115.231.78.12'),(4845,'1737565731','115.231.78.12'),(4846,'1737565733','115.231.78.12'),(4847,'1737565746','115.231.78.12'),(4848,'1737565749','115.231.78.12'),(4849,'1737661499','67.222.45.11'),(4850,'1737661499','47.88.94.159'),(4851,'1737661503','47.88.93.234'),(4852,'1737687944','185.196.220.16'),(4853,'1737817701','67.222.45.11'),(4854,'1737817702','45.148.10.237'),(4855,'1737817713','45.148.10.237'),(4856,'1737817714','45.148.10.237'),(4857,'1737817714','45.148.10.237'),(4858,'1737817714','45.148.10.237'),(4859,'1737817714','45.148.10.237'),(4860,'1737817714','45.148.10.237'),(4861,'1737817714','45.148.10.237'),(4862,'1737817714','45.148.10.237'),(4863,'1737817714','45.148.10.237'),(4864,'1737817714','45.148.10.237'),(4865,'1737817714','45.148.10.237'),(4866,'1737817714','45.148.10.237'),(4867,'1737817715','45.148.10.237'),(4868,'1737817715','45.148.10.237'),(4869,'1737817715','45.148.10.237'),(4870,'1737817715','45.148.10.237'),(4871,'1737817715','45.148.10.237'),(4872,'1737817715','45.148.10.237'),(4873,'1737866813','67.222.45.11'),(4874,'1737866813','138.246.253.24'),(4875,'1737885991','67.222.45.11'),(4876,'1737885991','206.81.24.227'),(4877,'1737885995','206.81.24.227'),(4878,'1737885996','206.81.24.227'),(4879,'1737885996','206.81.24.227'),(4880,'1737885997','206.81.24.227'),(4881,'1737885997','206.81.24.227'),(4882,'1737885998','206.81.24.227'),(4883,'1737885999','206.81.24.227'),(4884,'1737886000','206.81.24.227'),(4885,'1737886001','206.81.24.227'),(4886,'1737886001','206.81.24.227'),(4887,'1737886002','206.81.24.227'),(4888,'1737886003','206.81.24.227'),(4889,'1737886004','206.81.24.227'),(4890,'1737886004','206.81.24.227'),(4891,'1737886005','206.81.24.227'),(4892,'1737886005','206.81.24.227'),(4893,'1737886006','206.81.24.227'),(4894,'1737886206','106.75.175.179'),(4895,'1737886394','106.75.156.65'),(4896,'1737886517','106.75.132.125'),(4897,'1737886522','106.75.154.180'),(4898,'1737886531','106.75.154.180'),(4899,'1737914805','67.222.45.11'),(4900,'1737914806','47.242.224.70'),(4901,'1737921158','64.225.75.246'),(4902,'1737921161','64.225.75.246'),(4903,'1737921162','64.225.75.246'),(4904,'1737921163','64.225.75.246'),(4905,'1737921163','64.225.75.246'),(4906,'1737921164','64.225.75.246'),(4907,'1737921164','64.225.75.246'),(4908,'1737921165','64.225.75.246'),(4909,'1737921165','64.225.75.246'),(4910,'1737921167','64.225.75.246'),(4911,'1737921167','64.225.75.246'),(4912,'1737921168','64.225.75.246'),(4913,'1737921169','64.225.75.246'),(4914,'1737921169','64.225.75.246'),(4915,'1737921170','64.225.75.246'),(4916,'1737921170','64.225.75.246'),(4917,'1737921171','64.225.75.246'),(4918,'1737921171','64.225.75.246'),(4919,'1737941344','67.222.45.11'),(4920,'1737941345','23.234.80.90'),(4921,'1737986955','67.222.45.11'),(4922,'1737986956','207.241.225.65'),(4923,'1737986957','207.241.225.65'),(4924,'1737986957','207.241.225.65'),(4925,'1737986957','207.241.225.65'),(4926,'1737986958','207.241.225.65'),(4927,'1737986958','207.241.225.65'),(4928,'1737990569','87.120.113.196'),(4929,'1738031702','67.222.45.11'),(4930,'1738031703','206.168.34.45'),(4931,'1738035530','167.94.138.201'),(4932,'1738036539','67.222.45.11'),(4933,'1738036540','3.96.54.77'),(4934,'1738067159','67.222.45.11'),(4935,'1738067159','104.152.52.59'),(4936,'1738085682','165.227.173.41'),(4937,'1738085682','67.222.45.11'),(4938,'1738085683','165.227.173.41'),(4939,'1738085683','165.227.173.41'),(4940,'1738085683','165.227.173.41'),(4941,'1738085684','165.227.173.41'),(4942,'1738085684','165.227.173.41'),(4943,'1738085685','165.227.173.41'),(4944,'1738085686','165.227.173.41'),(4945,'1738085686','165.227.173.41'),(4946,'1738085687','165.227.173.41'),(4947,'1738085688','165.227.173.41'),(4948,'1738085688','165.227.173.41'),(4949,'1738085689','165.227.173.41'),(4950,'1738085690','165.227.173.41'),(4951,'1738085690','165.227.173.41'),(4952,'1738085691','165.227.173.41'),(4953,'1738085692','165.227.173.41'),(4954,'1738085692','165.227.173.41'),(4955,'1738088592','206.81.28.125'),(4956,'1738162077','67.222.45.11'),(4957,'1738162078','13.38.136.255'),(4958,'1738190723','67.222.45.11'),(4959,'1738190723','45.148.10.86'),(4960,'1738256563','67.222.45.11'),(4961,'1738256563','139.59.132.8'),(4962,'1738256564','139.59.132.8'),(4963,'1738256564','139.59.132.8'),(4964,'1738256565','139.59.132.8'),(4965,'1738256565','139.59.132.8'),(4966,'1738256566','139.59.132.8'),(4967,'1738256566','139.59.132.8'),(4968,'1738256567','139.59.132.8'),(4969,'1738256567','139.59.132.8'),(4970,'1738256568','139.59.132.8'),(4971,'1738256569','139.59.132.8'),(4972,'1738256569','139.59.132.8'),(4973,'1738256571','139.59.132.8'),(4974,'1738256571','139.59.132.8'),(4975,'1738256572','139.59.132.8'),(4976,'1738256572','139.59.132.8'),(4977,'1738256573','139.59.132.8'),(4978,'1738256573','139.59.132.8'),(4979,'1738266803','209.38.143.5'),(4980,'1738291947','67.222.45.11'),(4981,'1738291948','103.102.230.8'),(4982,'1738362565','67.222.45.11'),(4983,'1738362566','44.201.72.202'),(4984,'1738362607','44.201.72.202'),(4985,'1738377991','67.222.45.11'),(4986,'1738377991','207.241.237.21'),(4987,'1738378006','207.241.237.21'),(4988,'1738378006','207.241.237.21'),(4989,'1738424772','67.222.45.11'),(4990,'1738424772','164.90.228.79'),(4991,'1738424772','164.90.228.79'),(4992,'1738424773','164.90.228.79'),(4993,'1738424774','164.90.228.79'),(4994,'1738424774','164.90.228.79'),(4995,'1738424775','164.90.228.79'),(4996,'1738424775','164.90.228.79'),(4997,'1738424776','164.90.228.79'),(4998,'1738424777','164.90.228.79'),(4999,'1738424778','164.90.228.79'),(5000,'1738424778','164.90.228.79'),(5001,'1738424779','164.90.228.79'),(5002,'1738424780','164.90.228.79'),(5003,'1738424780','164.90.228.79'),(5004,'1738424781','164.90.228.79'),(5005,'1738424781','164.90.228.79'),(5006,'1738424782','164.90.228.79'),(5007,'1738424783','164.90.228.79'),(5008,'1738434722','67.222.45.11'),(5009,'1738434723','206.81.27.109'),(5010,'1738457940','67.222.45.11'),(5011,'1738457941','134.195.225.177'),(5012,'1738519892','67.222.45.11'),(5013,'1738519893','146.190.103.103'),(5014,'1738519893','146.190.103.103'),(5015,'1738519894','146.190.103.103'),(5016,'1738519895','146.190.103.103'),(5017,'1738519896','146.190.103.103'),(5018,'1738519896','146.190.103.103'),(5019,'1738519897','146.190.103.103'),(5020,'1738519898','146.190.103.103'),(5021,'1738519899','146.190.103.103'),(5022,'1738519900','146.190.103.103'),(5023,'1738519901','146.190.103.103'),(5024,'1738519902','146.190.103.103'),(5025,'1738519903','146.190.103.103'),(5026,'1738519904','146.190.103.103'),(5027,'1738519905','146.190.103.103'),(5028,'1738519905','146.190.103.103'),(5029,'1738519906','146.190.103.103'),(5030,'1738519907','146.190.103.103'),(5031,'1738545410','67.222.45.11'),(5032,'1738545411','3.237.86.101'),(5033,'1738545412','3.237.86.101'),(5034,'1738599043','67.222.45.11'),(5035,'1738599043','87.120.113.196'),(5036,'1738601284','87.120.113.196'),(5037,'1738601284','87.120.113.196'),(5038,'1738650371','67.222.45.11'),(5039,'1738650372','159.203.13.83'),(5040,'1738650374','159.203.13.83'),(5041,'1738671782','159.65.18.197'),(5042,'1738671785','159.65.18.197'),(5043,'1738671785','159.65.18.197'),(5044,'1738671786','159.65.18.197'),(5045,'1738671786','159.65.18.197'),(5046,'1738671787','159.65.18.197'),(5047,'1738671787','159.65.18.197'),(5048,'1738671788','159.65.18.197'),(5049,'1738671789','159.65.18.197'),(5050,'1738671790','159.65.18.197'),(5051,'1738671790','159.65.18.197'),(5052,'1738671791','159.65.18.197'),(5053,'1738671792','159.65.18.197'),(5054,'1738671792','159.65.18.197'),(5055,'1738671793','159.65.18.197'),(5056,'1738671793','159.65.18.197'),(5057,'1738671794','159.65.18.197'),(5058,'1738671794','159.65.18.197'),(5059,'1738691492','67.222.45.11'),(5060,'1738691492','104.152.52.62'),(5061,'1738774351','67.222.45.11'),(5062,'1738774352','46.101.138.96'),(5063,'1738775494','138.246.253.24'),(5064,'1738856252','67.222.45.11'),(5065,'1738856253','157.230.19.140'),(5066,'1738856253','157.230.19.140'),(5067,'1738856253','157.230.19.140'),(5068,'1738856254','157.230.19.140'),(5069,'1738856255','157.230.19.140'),(5070,'1738856255','157.230.19.140'),(5071,'1738856256','157.230.19.140'),(5072,'1738856256','157.230.19.140'),(5073,'1738856257','157.230.19.140'),(5074,'1738856258','157.230.19.140'),(5075,'1738856259','157.230.19.140'),(5076,'1738856259','157.230.19.140'),(5077,'1738856260','157.230.19.140'),(5078,'1738856261','157.230.19.140'),(5079,'1738856262','157.230.19.140'),(5080,'1738856262','157.230.19.140'),(5081,'1738856263','157.230.19.140'),(5082,'1738856263','157.230.19.140'),(5083,'1738913536','67.222.45.11'),(5084,'1738913537','54.84.151.124'),(5085,'1738929331','103.102.230.8'),(5086,'1739002098','67.222.45.11'),(5087,'1739002099','139.59.132.8'),(5088,'1739002099','139.59.132.8'),(5089,'1739002100','139.59.132.8'),(5090,'1739002100','139.59.132.8'),(5091,'1739002101','139.59.132.8'),(5092,'1739002102','139.59.132.8'),(5093,'1739002102','139.59.132.8'),(5094,'1739002103','139.59.132.8'),(5095,'1739002104','139.59.132.8'),(5096,'1739002105','139.59.132.8'),(5097,'1739002105','139.59.132.8'),(5098,'1739002106','139.59.132.8'),(5099,'1739002107','139.59.132.8'),(5100,'1739002107','139.59.132.8'),(5101,'1739002108','139.59.132.8'),(5102,'1739002108','139.59.132.8'),(5103,'1739002109','139.59.132.8'),(5104,'1739002109','139.59.132.8'),(5105,'1739004024','34.235.161.235'),(5106,'1739004041','34.235.161.235'),(5107,'1739004041','34.235.161.235'),(5108,'1739004041','34.235.161.235'),(5109,'1739004041','34.235.161.235'),(5110,'1739004041','34.235.161.235'),(5111,'1739004041','34.235.161.235'),(5112,'1739004041','34.235.161.235'),(5113,'1739004041','34.235.161.235'),(5114,'1739034627','67.222.45.11'),(5115,'1739034628','198.235.24.3'),(5116,'1739095371','67.222.45.11'),(5117,'1739095371','87.120.113.196'),(5118,'1739095896','87.120.113.196'),(5119,'1739095896','87.120.113.196'),(5120,'1739095897','87.120.113.196'),(5121,'1739095897','87.120.113.196'),(5122,'1739157104','67.222.45.11'),(5123,'1739157104','205.210.31.2'),(5124,'1739175642','67.222.45.11'),(5125,'1739175643','3.86.69.231'),(5126,'1739175656','3.86.69.231'),(5127,'1739175656','3.86.69.231'),(5128,'1739175656','3.86.69.231'),(5129,'1739175656','3.86.69.231'),(5130,'1739175656','3.86.69.231'),(5131,'1739175656','3.86.69.231'),(5132,'1739175656','3.86.69.231'),(5133,'1739175656','3.86.69.231'),(5134,'1739175702','3.86.69.231'),(5135,'1739175702','3.86.69.231'),(5136,'1739175702','3.86.69.231'),(5137,'1739175702','3.86.69.231'),(5138,'1739175702','3.86.69.231'),(5139,'1739175702','3.86.69.231'),(5140,'1739175702','3.86.69.231'),(5141,'1739175702','3.86.69.231'),(5142,'1739175749','3.86.69.231'),(5143,'1739175749','3.86.69.231'),(5144,'1739175749','3.86.69.231'),(5145,'1739175749','3.86.69.231'),(5146,'1739175749','3.86.69.231'),(5147,'1739175749','3.86.69.231'),(5148,'1739175751','3.86.69.231'),(5149,'1739175751','3.86.69.231'),(5150,'1739175794','3.86.69.231'),(5151,'1739175794','3.86.69.231'),(5152,'1739175794','3.86.69.231'),(5153,'1739175794','3.86.69.231'),(5154,'1739175794','3.86.69.231'),(5155,'1739175794','3.86.69.231'),(5156,'1739175794','3.86.69.231'),(5157,'1739175798','3.86.69.231'),(5158,'1739175839','3.86.69.231'),(5159,'1739175839','3.86.69.231'),(5160,'1739175839','3.86.69.231'),(5161,'1739175839','3.86.69.231'),(5162,'1739175839','3.86.69.231'),(5163,'1739175839','3.86.69.231'),(5164,'1739175839','3.86.69.231'),(5165,'1739175841','3.86.69.231'),(5166,'1739195660','206.189.2.13'),(5167,'1739195660','206.189.2.13'),(5168,'1739195660','206.189.2.13'),(5169,'1739195661','206.189.2.13'),(5170,'1739195661','206.189.2.13'),(5171,'1739195662','206.189.2.13'),(5172,'1739195662','206.189.2.13'),(5173,'1739195663','206.189.2.13'),(5174,'1739195664','206.189.2.13'),(5175,'1739195665','206.189.2.13'),(5176,'1739195665','206.189.2.13'),(5177,'1739195666','206.189.2.13'),(5178,'1739195667','206.189.2.13'),(5179,'1739195667','206.189.2.13'),(5180,'1739195668','206.189.2.13'),(5181,'1739195668','206.189.2.13'),(5182,'1739195669','206.189.2.13'),(5183,'1739195669','206.189.2.13'),(5184,'1739219633','67.222.45.11'),(5185,'1739219634','194.233.73.109'),(5186,'1739277694','67.222.45.11'),(5187,'1739277695','206.189.137.101'),(5188,'1739277698','206.189.137.101'),(5189,'1739277700','206.189.137.101'),(5190,'1739277702','206.189.137.101'),(5191,'1739277704','206.189.137.101'),(5192,'1739294951','67.222.45.11'),(5193,'1739294952','104.152.52.67'),(5194,'1739314529','205.210.31.233'),(5195,'1739315236','67.222.45.11'),(5196,'1739315237','35.181.58.195'),(5197,'1739315243','35.181.58.195'),(5198,'1739339460','67.222.45.11'),(5199,'1739339461','199.45.154.125'),(5200,'1739344271','54.84.249.63'),(5201,'1739370796','123.6.49.9'),(5202,'1739370816','123.6.49.36'),(5203,'1739370821','123.6.49.17'),(5204,'1739370845','123.6.49.10'),(5205,'1739371013','123.6.49.4'),(5206,'1739371033','123.6.49.49'),(5207,'1739371047','123.6.49.10'),(5208,'1739373005','134.122.28.88'),(5209,'1739373007','134.122.28.88'),(5210,'1739373007','134.122.28.88'),(5211,'1739373007','134.122.28.88'),(5212,'1739373008','134.122.28.88'),(5213,'1739373008','134.122.28.88'),(5214,'1739373009','134.122.28.88'),(5215,'1739373009','134.122.28.88'),(5216,'1739373009','134.122.28.88'),(5217,'1739373010','134.122.28.88'),(5218,'1739373010','134.122.28.88'),(5219,'1739373011','134.122.28.88'),(5220,'1739373012','134.122.28.88'),(5221,'1739373012','134.122.28.88'),(5222,'1739373012','134.122.28.88'),(5223,'1739373013','134.122.28.88'),(5224,'1739373013','134.122.28.88'),(5225,'1739373013','134.122.28.88'),(5226,'1739375358','67.222.45.11'),(5227,'1739375359','34.223.114.98'),(5228,'1739513232','67.222.45.11'),(5229,'1739513233','35.171.144.152'),(5230,'1739513235','35.171.144.152'),(5231,'1739550230','67.222.45.11'),(5232,'1739550231','138.246.253.24'),(5233,'1739552244','142.93.143.8'),(5234,'1739552247','142.93.143.8'),(5235,'1739552248','142.93.143.8'),(5236,'1739552248','142.93.143.8'),(5237,'1739552249','142.93.143.8'),(5238,'1739552249','142.93.143.8'),(5239,'1739552250','142.93.143.8'),(5240,'1739552250','142.93.143.8'),(5241,'1739552251','142.93.143.8'),(5242,'1739552252','142.93.143.8'),(5243,'1739552252','142.93.143.8'),(5244,'1739552253','142.93.143.8'),(5245,'1739552254','142.93.143.8'),(5246,'1739552254','142.93.143.8'),(5247,'1739552255','142.93.143.8'),(5248,'1739552255','142.93.143.8'),(5249,'1739552256','142.93.143.8'),(5250,'1739552256','142.93.143.8'),(5251,'1739555259','13.58.228.70'),(5252,'1739555756','13.58.228.70'),(5253,'1739555850','13.58.228.70'),(5254,'1739558093','147.185.132.177'),(5255,'1739568519','205.210.31.23'),(5256,'1739578898','67.222.45.11'),(5257,'1739578898','198.235.24.48'),(5258,'1739601024','67.222.45.11'),(5259,'1739601024','185.247.137.92'),(5260,'1739603013','87.236.176.122'),(5261,'1739706401','67.222.45.11'),(5262,'1739706402','64.226.65.160'),(5263,'1739706402','64.226.65.160'),(5264,'1739706402','64.226.65.160'),(5265,'1739706403','64.226.65.160'),(5266,'1739706403','64.226.65.160'),(5267,'1739706404','64.226.65.160'),(5268,'1739706405','64.226.65.160'),(5269,'1739706405','64.226.65.160'),(5270,'1739706406','64.226.65.160'),(5271,'1739706407','64.226.65.160'),(5272,'1739706407','64.226.65.160'),(5273,'1739706408','64.226.65.160'),(5274,'1739706409','64.226.65.160'),(5275,'1739706410','64.226.65.160'),(5276,'1739706410','64.226.65.160'),(5277,'1739706411','64.226.65.160'),(5278,'1739706411','64.226.65.160'),(5279,'1739706412','64.226.65.160'),(5280,'1739747798','67.222.45.11'),(5281,'1739747799','13.39.48.73'),(5282,'1739747806','13.39.48.73'),(5283,'1739747816','13.39.48.73'),(5284,'1739747822','13.39.48.73'),(5285,'1739747832','13.39.48.73'),(5286,'1739747843','13.39.48.73'),(5287,'1739747853','13.39.48.73'),(5288,'1739747863','13.39.48.73'),(5289,'1739747873','13.39.48.73'),(5290,'1739747882','13.39.48.73'),(5291,'1739747893','13.39.48.73'),(5292,'1739747903','13.39.48.73'),(5293,'1739762009','135.148.100.196'),(5294,'1739787904','67.222.45.11'),(5295,'1739787905','162.142.125.212'),(5296,'1739798923','206.168.34.91'),(5297,'1739802779','45.148.10.249'),(5298,'1739802793','45.148.10.249'),(5299,'1739802793','45.148.10.249'),(5300,'1739802793','45.148.10.249'),(5301,'1739802793','45.148.10.249'),(5302,'1739802793','45.148.10.249'),(5303,'1739802793','45.148.10.249'),(5304,'1739802793','45.148.10.249'),(5305,'1739802793','45.148.10.249'),(5306,'1739802793','45.148.10.249'),(5307,'1739802793','45.148.10.249'),(5308,'1739802793','45.148.10.249'),(5309,'1739802793','45.148.10.249'),(5310,'1739802793','45.148.10.249'),(5311,'1739802793','45.148.10.249'),(5312,'1739802793','45.148.10.249'),(5313,'1739802793','45.148.10.249'),(5314,'1739802793','45.148.10.249'),(5315,'1739802795','45.148.10.249'),(5316,'1739802824','45.148.10.249'),(5317,'1739802824','45.148.10.249'),(5318,'1739802824','45.148.10.249'),(5319,'1739802824','45.148.10.249'),(5320,'1739802824','45.148.10.249'),(5321,'1739802824','45.148.10.249'),(5322,'1739802824','45.148.10.249'),(5323,'1739802824','45.148.10.249'),(5324,'1739802824','45.148.10.249'),(5325,'1739802824','45.148.10.249'),(5326,'1739802824','45.148.10.249'),(5327,'1739802824','45.148.10.249'),(5328,'1739802824','45.148.10.249'),(5329,'1739802825','45.148.10.249'),(5330,'1739802825','45.148.10.249'),(5331,'1739802825','45.148.10.249'),(5332,'1739802825','45.148.10.249'),(5333,'1739802825','45.148.10.249'),(5334,'1739857494','67.222.45.11'),(5335,'1739857494','104.248.171.106'),(5336,'1739857506','104.248.171.106'),(5337,'1739894729','165.227.39.235'),(5338,'1739894729','67.222.45.11'),(5339,'1739894730','165.227.39.235'),(5340,'1739894730','165.227.39.235'),(5341,'1739894730','165.227.39.235'),(5342,'1739894730','165.227.39.235'),(5343,'1739894731','165.227.39.235'),(5344,'1739894731','165.227.39.235'),(5345,'1739894731','165.227.39.235'),(5346,'1739894732','165.227.39.235'),(5347,'1739894732','165.227.39.235'),(5348,'1739894733','165.227.39.235'),(5349,'1739894733','165.227.39.235'),(5350,'1739894734','165.227.39.235'),(5351,'1739894734','165.227.39.235'),(5352,'1739894735','165.227.39.235'),(5353,'1739894735','165.227.39.235'),(5354,'1739894735','165.227.39.235'),(5355,'1739894736','165.227.39.235'),(5356,'1739897415','104.152.52.71'),(5357,'1739905703','192.175.111.248'),(5358,'1739905704','64.15.129.112'),(5359,'1739905706','192.175.111.248'),(5360,'1739905707','64.15.129.121'),(5361,'1739916089','4.227.36.93'),(5362,'1739979962','67.222.45.11'),(5363,'1739979963','57.180.240.215'),(5364,'1740040344','67.222.45.11'),(5365,'1740040344','3.144.183.195'),(5366,'1740040359','3.144.183.195'),(5367,'1740040359','3.144.183.195'),(5368,'1740040359','3.144.183.195'),(5369,'1740040359','3.144.183.195'),(5370,'1740040359','3.144.183.195'),(5371,'1740040359','3.144.183.195'),(5372,'1740040359','3.144.183.195'),(5373,'1740040361','3.144.183.195'),(5374,'1740067635','67.222.45.11'),(5375,'1740067636','139.59.143.102'),(5376,'1740067636','139.59.143.102'),(5377,'1740067637','139.59.143.102'),(5378,'1740067638','139.59.143.102'),(5379,'1740067638','139.59.143.102'),(5380,'1740067639','139.59.143.102'),(5381,'1740067639','139.59.143.102'),(5382,'1740067640','139.59.143.102'),(5383,'1740067641','139.59.143.102'),(5384,'1740067642','139.59.143.102'),(5385,'1740067642','139.59.143.102'),(5386,'1740067643','139.59.143.102'),(5387,'1740067644','139.59.143.102'),(5388,'1740067644','139.59.143.102'),(5389,'1740067645','139.59.143.102'),(5390,'1740067645','139.59.143.102'),(5391,'1740067646','139.59.143.102'),(5392,'1740067647','139.59.143.102'),(5393,'1740222964','67.222.45.11'),(5394,'1740222965','138.246.253.24'),(5395,'1740226805','138.197.191.87'),(5396,'1740226805','138.197.191.87'),(5397,'1740226811','138.197.191.87'),(5398,'1740293060','67.222.45.11'),(5399,'1740293061','199.45.155.96'),(5400,'1740401565','67.222.45.11'),(5401,'1740401566','204.10.194.36'),(5402,'1740401580','204.10.194.36'),(5403,'1740401583','204.10.194.36'),(5404,'1740401588','204.10.194.36'),(5405,'1740401592','204.10.194.36'),(5406,'1740401596','204.10.194.36'),(5407,'1740401602','204.10.194.36'),(5408,'1740401606','204.10.194.36'),(5409,'1740401609','204.10.194.36'),(5410,'1740401612','204.10.194.36'),(5411,'1740417810','67.222.45.11'),(5412,'1740417811','134.209.25.199'),(5413,'1740417811','134.209.25.199'),(5414,'1740417815','134.209.25.199'),(5415,'1740478093','67.222.45.11'),(5416,'1740478094','52.66.240.57'),(5417,'1740543260','67.222.45.11'),(5418,'1740543261','4.227.36.88'),(5419,'1740559360','67.222.45.11'),(5420,'1740559360','34.134.167.127'),(5421,'1740593675','67.222.45.11'),(5422,'1740593675','138.68.86.32'),(5423,'1740593676','138.68.86.32'),(5424,'1740593682','138.68.86.32'),(5425,'1740728715','67.222.45.11'),(5426,'1740728716','138.246.253.24'),(5427,'1740760487','67.222.45.11'),(5428,'1740760488','164.90.228.79'),(5429,'1740760488','164.90.228.79'),(5430,'1740760494','164.90.228.79'),(5431,'1740807412','67.222.45.11'),(5432,'1740807413','45.148.10.80'),(5433,'1740814693','67.222.45.11'),(5434,'1740814693','156.59.172.72'),(5435,'1740927758','67.222.45.11'),(5436,'1740927759','157.230.19.140'),(5437,'1740927759','157.230.19.140'),(5438,'1740927764','157.230.19.140'),(5439,'1741023704','67.222.45.11'),(5440,'1741023705','204.10.194.36'),(5441,'1741023706','204.10.194.36'),(5442,'1741023709','204.10.194.36'),(5443,'1741023712','204.10.194.36'),(5444,'1741023721','204.10.194.36'),(5445,'1741023724','204.10.194.36'),(5446,'1741023725','204.10.194.36'),(5447,'1741023728','204.10.194.36'),(5448,'1741023731','204.10.194.36'),(5449,'1741023733','204.10.194.36'),(5450,'1741057332','67.222.45.11'),(5451,'1741057333','159.89.42.229'),(5452,'1741057336','159.89.42.229'),(5453,'1741096921','67.222.45.11'),(5454,'1741096921','206.81.24.227'),(5455,'1741096922','206.81.24.227'),(5456,'1741096926','206.81.24.227'),(5457,'1741178126','67.222.45.11'),(5458,'1741178127','47.82.10.12'),(5459,'1741189434','47.82.10.93'),(5460,'1741189434','47.82.11.100'),(5461,'1741189435','47.79.123.171'),(5462,'1741189435','47.82.11.117'),(5463,'1741189436','47.79.123.96'),(5464,'1741189436','47.82.11.166'),(5465,'1741189437','47.82.11.166'),(5466,'1741189452','47.82.11.228'),(5467,'1741189480','47.82.11.117'),(5468,'1741189481','47.82.11.232'),(5469,'1741189483','47.82.11.100'),(5470,'1741199584','67.222.45.11'),(5471,'1741199585','47.82.11.103'),(5472,'1741238921','67.222.45.11'),(5473,'1741238922','47.79.6.193'),(5474,'1741274838','67.222.45.11'),(5475,'1741274839','167.99.210.137'),(5476,'1741274842','167.99.210.137'),(5477,'1741274847','167.99.210.137'),(5478,'1741308658','67.222.45.11'),(5479,'1741308659','47.79.7.65'),(5480,'1741319051','138.246.253.24'),(5481,'1741323401','67.222.45.11'),(5482,'1741323402','47.79.5.178'),(5483,'1741356331','67.222.45.11'),(5484,'1741356331','47.82.11.99'),(5485,'1741424427','67.222.45.11'),(5486,'1741424427','45.148.10.166'),(5487,'1741424428','45.148.10.166'),(5488,'1741424429','45.148.10.166'),(5489,'1741424432','45.148.10.166'),(5490,'1741424434','45.148.10.166'),(5491,'1741424435','45.148.10.166'),(5492,'1741443299','164.90.228.79'),(5493,'1741443305','164.90.228.79'),(5494,'1741443310','164.90.228.79'),(5495,'1741499452','67.222.45.11'),(5496,'1741499453','47.82.10.121'),(5497,'1741500070','47.79.3.11'),(5498,'1741502722','86.107.101.32'),(5499,'1741543246','67.222.45.11'),(5500,'1741543247','47.82.11.179'),(5501,'1741549365','47.79.118.217'),(5502,'1741584129','67.222.45.11'),(5503,'1741584130','45.148.10.238'),(5504,'1741590759','67.222.45.11'),(5505,'1741590759','47.79.3.11'),(5506,'1741599877','193.41.206.202'),(5507,'1741599888','193.41.206.202'),(5508,'1741599889','193.41.206.202'),(5509,'1741599890','193.41.206.202'),(5510,'1741599891','193.41.206.202'),(5511,'1741599901','193.41.206.202'),(5512,'1741599902','193.41.206.202'),(5513,'1741599904','193.41.206.202'),(5514,'1741599905','193.41.206.202'),(5515,'1741599913','193.41.206.202'),(5516,'1741599914','193.41.206.202'),(5517,'1741599916','193.41.206.202'),(5518,'1741599928','193.41.206.202'),(5519,'1741599931','193.41.206.202'),(5520,'1741599939','193.41.206.202'),(5521,'1741599939','193.41.206.202'),(5522,'1741599940','193.41.206.202'),(5523,'1741599941','193.41.206.202'),(5524,'1741599943','193.41.206.202'),(5525,'1741599944','193.41.206.202'),(5526,'1741599945','193.41.206.202'),(5527,'1741599946','193.41.206.202'),(5528,'1741599948','193.41.206.202'),(5529,'1741599949','193.41.206.202'),(5530,'1741599971','193.41.206.202'),(5531,'1741599976','193.41.206.202'),(5532,'1741599976','193.41.206.202'),(5533,'1741599977','193.41.206.202'),(5534,'1741599978','193.41.206.202'),(5535,'1741599979','193.41.206.202'),(5536,'1741599980','193.41.206.202'),(5537,'1741599982','193.41.206.202'),(5538,'1741599983','193.41.206.202'),(5539,'1741599986','193.41.206.202'),(5540,'1741599987','193.41.206.202'),(5541,'1741599988','193.41.206.202'),(5542,'1741599990','193.41.206.202'),(5543,'1741599991','193.41.206.202'),(5544,'1741599992','193.41.206.202'),(5545,'1741599994','193.41.206.202'),(5546,'1741599995','193.41.206.202'),(5547,'1741599996','193.41.206.202'),(5548,'1741599998','193.41.206.202'),(5549,'1741599999','193.41.206.202'),(5550,'1741600000','193.41.206.202'),(5551,'1741600001','193.41.206.202'),(5552,'1741600002','193.41.206.202'),(5553,'1741600003','193.41.206.202'),(5554,'1741600008','193.41.206.202'),(5555,'1741600009','193.41.206.202'),(5556,'1741600010','193.41.206.202'),(5557,'1741600012','193.41.206.202'),(5558,'1741600013','193.41.206.202'),(5559,'1741600014','193.41.206.202'),(5560,'1741600019','193.41.206.202'),(5561,'1741600019','47.82.11.237'),(5562,'1741606162','209.97.180.8'),(5563,'1741606163','209.97.180.8'),(5564,'1741606168','209.97.180.8'),(5565,'1741662510','67.222.45.11'),(5566,'1741662510','199.45.154.158'),(5567,'1741692472','67.222.45.11'),(5568,'1741692472','47.82.11.30'),(5569,'1741760542','67.222.45.11'),(5570,'1741760543','114.250.51.110'),(5571,'1741780374','206.81.12.187'),(5572,'1741780376','206.81.12.187'),(5573,'1741780379','206.81.12.187'),(5574,'1741794310','45.148.10.174'),(5575,'1741830827','67.222.45.11'),(5576,'1741830828','167.94.146.58'),(5577,'1741951027','67.222.45.11'),(5578,'1741951028','139.59.132.8'),(5579,'1741951028','139.59.132.8'),(5580,'1741951034','139.59.132.8'),(5581,'1741963523','44.234.145.244'),(5582,'1741969523','67.222.45.11'),(5583,'1741969524','138.246.253.24'),(5584,'1742105356','67.222.45.11'),(5585,'1742105357','145.220.91.19'),(5586,'1742125710','167.99.181.249'),(5587,'1742125712','167.99.181.249'),(5588,'1742125714','167.99.181.249'),(5589,'1742239709','67.222.45.11'),(5590,'1742239710','34.90.66.217'),(5591,'1742243761','47.82.11.124'),(5592,'1742277405','67.222.45.11'),(5593,'1742277406','199.45.154.153'),(5594,'1742287433','147.182.149.75'),(5595,'1742287435','147.182.149.75'),(5596,'1742287437','147.182.149.75'),(5597,'1742299751','143.110.213.112'),(5598,'1742299753','143.110.213.112'),(5599,'1742303633','135.148.100.196'),(5600,'1742367937','67.222.45.11'),(5601,'1742367938','47.82.11.3'),(5602,'1742445184','67.222.45.11'),(5603,'1742445185','138.246.253.24'),(5604,'1742453482','67.222.45.11'),(5605,'1742453482','159.89.12.166'),(5606,'1742501859','67.222.45.11'),(5607,'1742501859','47.82.10.1'),(5608,'1742502074','47.82.11.53'),(5609,'1742502436','47.79.3.239'),(5610,'1742502551','47.82.11.52'),(5611,'1742504096','47.82.11.178'),(5612,'1742504278','47.79.122.209'),(5613,'1742504321','47.79.5.22'),(5614,'1742504470','47.82.11.75'),(5615,'1742504482','47.79.117.252'),(5616,'1742505336','47.79.98.246'),(5617,'1742506831','47.79.122.209'),(5618,'1742558757','67.222.45.11'),(5619,'1742558758','34.205.50.82'),(5620,'1742597201','67.222.45.11'),(5621,'1742597202','198.235.24.12'),(5622,'1742662650','67.222.45.11'),(5623,'1742662651','54.88.179.33'),(5624,'1742662652','35.171.144.152'),(5625,'1742779621','67.222.45.11'),(5626,'1742779621','205.210.31.173'),(5627,'1742796234','67.222.45.11'),(5628,'1742796235','45.148.10.237'),(5629,'1742868533','67.222.45.11'),(5630,'1742868534','198.235.24.255'),(5631,'1742928042','67.222.45.11'),(5632,'1742928043','170.64.180.241'),(5633,'1742928162','45.61.161.124'),(5634,'1742928163','45.61.161.124'),(5635,'1743015182','67.222.45.11'),(5636,'1743015183','45.61.161.124'),(5637,'1743015184','45.61.161.124'),(5638,'1743015185','45.61.161.124'),(5639,'1743015186','45.61.161.124'),(5640,'1743015186','45.61.161.124'),(5641,'1743032362','67.222.45.11'),(5642,'1743032362','138.246.253.24'),(5643,'1743117520','67.222.45.11'),(5644,'1743117520','87.236.176.187'),(5645,'1743136517','67.222.45.11'),(5646,'1743136518','87.236.176.134'),(5647,'1743171945','67.222.45.11'),(5648,'1743171945','207.241.225.134'),(5649,'1743196701','67.222.45.11'),(5650,'1743196701','207.241.225.134'),(5651,'1743202218','141.148.153.213'),(5652,'1743231739','67.222.45.11'),(5653,'1743231740','98.80.216.32'),(5654,'1743243744','146.70.165.45'),(5655,'1743254292','141.148.153.213'),(5656,'1743257882','188.165.87.102'),(5657,'1743258429','91.196.152.43'),(5658,'1743263691','67.222.45.11'),(5659,'1743263692','51.254.49.105'),(5660,'1743264179','51.254.49.106'),(5661,'1743316719','67.222.45.11'),(5662,'1743316719','141.148.153.213'),(5663,'1743321663','45.148.10.98'),(5664,'1743355719','67.222.45.11'),(5665,'1743355720','45.61.161.124'),(5666,'1743355720','45.61.161.124'),(5667,'1743361786','45.148.10.98'),(5668,'1743361828','45.148.10.98'),(5669,'1743381260','67.222.45.11'),(5670,'1743381261','124.220.171.218'),(5671,'1743381279','124.220.171.218'),(5672,'1743448555','67.222.45.11'),(5673,'1743448555','141.148.153.213'),(5674,'1743483196','67.222.45.11'),(5675,'1743483197','209.38.97.223'),(5676,'1743483202','209.38.97.223'),(5677,'1743496913','67.222.45.11'),(5678,'1743496913','207.244.235.136'),(5679,'1743496913','207.244.235.136'),(5680,'1743496913','207.244.235.136'),(5681,'1743496913','207.244.235.136'),(5682,'1743496914','207.244.235.136'),(5683,'1743496914','207.244.235.136'),(5684,'1743496914','207.244.235.136'),(5685,'1743496914','207.244.235.136'),(5686,'1743496914','207.244.235.136'),(5687,'1743496915','207.244.235.136'),(5688,'1743501209','154.83.103.14'),(5689,'1743501209','154.83.103.14'),(5690,'1743501210','154.83.103.14'),(5691,'1743501210','154.83.103.14'),(5692,'1743501211','154.83.103.14'),(5693,'1743501211','154.83.103.14'),(5694,'1743501211','154.83.103.14'),(5695,'1743501212','154.83.103.14'),(5696,'1743501222','154.83.103.14'),(5697,'1743501223','154.83.103.14'),(5698,'1743501223','154.83.103.14'),(5699,'1743501223','154.83.103.14'),(5700,'1743501224','154.83.103.14'),(5701,'1743501224','154.83.103.14'),(5702,'1743501224','154.83.103.14'),(5703,'1743501225','154.83.103.14'),(5704,'1743501230','154.83.103.14'),(5705,'1743501234','154.83.103.14'),(5706,'1743501234','154.83.103.14'),(5707,'1743501235','154.83.103.14'),(5708,'1743501240','154.83.103.14'),(5709,'1743501240','154.83.103.14'),(5710,'1743501240','154.83.103.14'),(5711,'1743501241','154.83.103.14'),(5712,'1743501241','154.83.103.14'),(5713,'1743501241','154.83.103.14'),(5714,'1743501246','154.83.103.14'),(5715,'1743501246','154.83.103.14'),(5716,'1743501246','154.83.103.14'),(5717,'1743501247','154.83.103.14'),(5718,'1743501247','154.83.103.14'),(5719,'1743501247','154.83.103.14'),(5720,'1743501247','154.83.103.14'),(5721,'1743501248','154.83.103.14'),(5722,'1743501252','154.83.103.14'),(5723,'1743501252','154.83.103.14'),(5724,'1743501253','154.83.103.14'),(5725,'1743501253','154.83.103.14'),(5726,'1743501253','154.83.103.14'),(5727,'1743501254','154.83.103.14'),(5728,'1743501254','154.83.103.14'),(5729,'1743501254','154.83.103.14'),(5730,'1743501254','154.83.103.14'),(5731,'1743501255','154.83.103.14'),(5732,'1743501255','154.83.103.14'),(5733,'1743501255','154.83.103.14'),(5734,'1743501256','154.83.103.14'),(5735,'1743501256','154.83.103.14'),(5736,'1743501256','154.83.103.14'),(5737,'1743501257','154.83.103.14'),(5738,'1743501257','154.83.103.14'),(5739,'1743501265','154.83.103.14'),(5740,'1743501265','154.83.103.14'),(5741,'1743501266','154.83.103.14'),(5742,'1743501266','154.83.103.14'),(5743,'1743501267','154.83.103.14'),(5744,'1743501267','154.83.103.14'),(5745,'1743501267','154.83.103.14'),(5746,'1743501268','154.83.103.14'),(5747,'1743501268','154.83.103.14'),(5748,'1743501269','154.83.103.14'),(5749,'1743501269','154.83.103.14'),(5750,'1743501269','154.83.103.14'),(5751,'1743619629','67.222.45.11'),(5752,'1743619630','34.162.252.185'),(5753,'1743619630','34.162.252.185'),(5754,'1743619630','34.162.252.185'),(5755,'1743619630','34.162.252.185'),(5756,'1743619631','34.162.252.185'),(5757,'1743619631','34.162.252.185'),(5758,'1743621952','34.162.120.181'),(5759,'1743621952','34.162.120.181'),(5760,'1743621953','34.162.120.181'),(5761,'1743621958','34.162.120.181'),(5762,'1743621958','34.162.120.181'),(5763,'1743621958','34.162.120.181'),(5764,'1743633980','34.162.175.95'),(5765,'1743633981','34.162.175.95'),(5766,'1743633981','34.162.175.95'),(5767,'1743643702','67.222.45.11'),(5768,'1743643703','138.246.253.24'),(5769,'1743654357','34.162.190.104'),(5770,'1743654357','67.222.45.11'),(5771,'1743654357','34.162.190.104'),(5772,'1743654358','34.162.190.104'),(5773,'1743654358','34.162.190.104'),(5774,'1743654358','34.162.190.104'),(5775,'1743654358','34.162.190.104'),(5776,'1743673887','67.222.45.11'),(5777,'1743673887','34.162.93.200'),(5778,'1743673887','34.162.93.200'),(5779,'1743673887','34.162.93.200'),(5780,'1743673958','34.162.93.200'),(5781,'1743673958','34.162.93.200'),(5782,'1743673958','34.162.93.200'),(5783,'1743682427','34.162.17.147'),(5784,'1743682427','34.162.17.147'),(5785,'1743682427','34.162.17.147'),(5786,'1743682526','34.162.17.147'),(5787,'1743682526','34.162.17.147'),(5788,'1743682527','34.162.17.147'),(5789,'1743693660','3.88.181.15'),(5790,'1743694468','34.162.19.222'),(5791,'1743694468','34.162.19.222'),(5792,'1743694469','34.162.19.222'),(5793,'1743694507','34.162.19.222'),(5794,'1743694508','34.162.19.222'),(5795,'1743694508','34.162.19.222'),(5796,'1743699957','67.222.45.11'),(5797,'1743699958','34.162.11.27'),(5798,'1743699959','34.162.11.27'),(5799,'1743699959','34.162.11.27'),(5800,'1743699992','34.162.11.27'),(5801,'1743699993','34.162.11.27'),(5802,'1743699993','34.162.11.27'),(5803,'1743707282','34.162.204.174'),(5804,'1743707283','34.162.204.174'),(5805,'1743707283','34.162.204.174'),(5806,'1743707306','34.162.204.174'),(5807,'1743707306','34.162.204.174'),(5808,'1743707306','34.162.204.174'),(5809,'1743717888','180.163.220.126'),(5810,'1743717906','180.163.220.95'),(5811,'1743717915','180.163.220.50'),(5812,'1743717917','180.163.220.51'),(5813,'1743717935','180.163.220.99'),(5814,'1743717939','180.163.220.99'),(5815,'1743717973','180.163.220.95'),(5816,'1743733183','67.222.45.11'),(5817,'1743733183','199.45.154.129'),(5818,'1743811575','67.222.45.11'),(5819,'1743811576','206.168.34.68'),(5820,'1743836076','67.222.45.11'),(5821,'1743836077','198.235.24.49'),(5822,'1743849084','34.239.147.53'),(5823,'1743903057','67.222.45.11'),(5824,'1743903057','146.190.242.161'),(5825,'1743903058','146.190.242.161'),(5826,'1743903060','146.190.242.161'),(5827,'1743939379','67.222.45.11'),(5828,'1743939380','145.220.91.19'),(5829,'1743940082','3.236.88.178'),(5830,'1743941317','198.235.24.11'),(5831,'1743966974','67.222.45.11'),(5832,'1743966975','159.65.173.76'),(5833,'1743974006','93.123.109.7'),(5834,'1744012589','67.222.45.11'),(5835,'1744012590','207.244.235.136'),(5836,'1744012590','207.244.235.136'),(5837,'1744012591','207.244.235.136'),(5838,'1744012591','207.244.235.136'),(5839,'1744012591','207.244.235.136'),(5840,'1744012591','207.244.235.136'),(5841,'1744012592','207.244.235.136'),(5842,'1744012592','207.244.235.136'),(5843,'1744012592','207.244.235.136'),(5844,'1744012593','207.244.235.136'),(5845,'1744050200','67.222.45.11'),(5846,'1744050201','103.102.230.20'),(5847,'1744097688','67.222.45.11'),(5848,'1744097689','34.162.102.64'),(5849,'1744097691','34.162.102.64'),(5850,'1744097691','34.162.102.64'),(5851,'1744097692','34.162.102.64'),(5852,'1744097693','34.162.102.64'),(5853,'1744097693','34.162.102.64'),(5854,'1744097702','34.162.102.64'),(5855,'1744097703','34.162.102.64'),(5856,'1744097703','34.162.102.64'),(5857,'1744097704','34.162.102.64'),(5858,'1744097705','34.162.102.64'),(5859,'1744097705','34.162.102.64'),(5860,'1744098643','34.162.192.98'),(5861,'1744098645','34.162.192.98'),(5862,'1744098645','34.162.192.98'),(5863,'1744098646','34.162.192.98'),(5864,'1744098647','34.162.192.98'),(5865,'1744098647','34.162.192.98'),(5866,'1744098656','34.162.192.98'),(5867,'1744098656','34.162.192.98'),(5868,'1744098657','34.162.192.98'),(5869,'1744098658','34.162.192.98'),(5870,'1744098659','34.162.192.98'),(5871,'1744098659','34.162.192.98'),(5872,'1744127778','67.222.45.11'),(5873,'1744127779','34.162.36.144'),(5874,'1744127781','34.162.36.144'),(5875,'1744127781','34.162.36.144'),(5876,'1744127782','34.162.36.144'),(5877,'1744127783','34.162.36.144'),(5878,'1744127784','34.162.36.144'),(5879,'1744143420','143.198.1.162'),(5880,'1744151428','35.94.38.255'),(5881,'1744181459','67.222.45.11'),(5882,'1744181460','34.162.129.186'),(5883,'1744181461','34.162.129.186'),(5884,'1744181461','34.162.129.186'),(5885,'1744181461','34.162.129.186'),(5886,'1744181462','34.162.129.186'),(5887,'1744181462','34.162.129.186'),(5888,'1744181550','34.162.129.186'),(5889,'1744181550','34.162.129.186'),(5890,'1744181550','34.162.129.186'),(5891,'1744181550','34.162.129.186'),(5892,'1744181551','34.162.129.186'),(5893,'1744181551','34.162.129.186'),(5894,'1744217697','67.222.45.11'),(5895,'1744217698','34.162.63.199'),(5896,'1744217698','34.162.63.199'),(5897,'1744217698','34.162.63.199'),(5898,'1744217699','34.162.63.199'),(5899,'1744217699','34.162.63.199'),(5900,'1744217699','34.162.63.199'),(5901,'1744217814','34.162.63.199'),(5902,'1744217814','34.162.63.199'),(5903,'1744217814','34.162.63.199'),(5904,'1744217815','34.162.63.199'),(5905,'1744217815','34.162.63.199'),(5906,'1744217815','34.162.63.199'),(5907,'1744222679','34.162.42.37'),(5908,'1744222679','34.162.42.37'),(5909,'1744222680','34.162.42.37'),(5910,'1744222680','34.162.42.37'),(5911,'1744222680','34.162.42.37'),(5912,'1744222680','34.162.42.37'),(5913,'1744222869','34.162.42.37'),(5914,'1744222870','34.162.42.37'),(5915,'1744222870','34.162.42.37'),(5916,'1744222871','34.162.42.37'),(5917,'1744222871','34.162.42.37'),(5918,'1744222871','34.162.42.37'),(5919,'1744248294','67.222.45.11'),(5920,'1744248295','207.154.197.113'),(5921,'1744248295','207.154.197.113'),(5922,'1744248300','207.154.197.113'),(5923,'1744255053','34.162.115.247'),(5924,'1744255054','34.162.115.247'),(5925,'1744255054','34.162.115.247'),(5926,'1744255054','34.162.115.247'),(5927,'1744255054','34.162.115.247'),(5928,'1744255055','34.162.115.247'),(5929,'1744255186','34.162.115.247'),(5930,'1744255187','34.162.115.247'),(5931,'1744255187','34.162.115.247'),(5932,'1744255188','34.162.115.247'),(5933,'1744255188','34.162.115.247'),(5934,'1744255188','34.162.115.247'),(5935,'1744259897','67.222.45.11'),(5936,'1744259898','34.162.3.164'),(5937,'1744259898','34.162.3.164'),(5938,'1744259899','34.162.3.164'),(5939,'1744259899','34.162.3.164'),(5940,'1744259899','34.162.3.164'),(5941,'1744259900','34.162.3.164'),(5942,'1744259967','34.162.3.164'),(5943,'1744259967','34.162.3.164'),(5944,'1744259967','34.162.3.164'),(5945,'1744259968','34.162.3.164'),(5946,'1744259968','34.162.3.164'),(5947,'1744259968','34.162.3.164'),(5948,'1744265462','67.222.45.11'),(5949,'1744265462','138.246.253.24'),(5950,'1744289124','34.162.251.48'),(5951,'1744289125','34.162.251.48'),(5952,'1744289125','34.162.251.48'),(5953,'1744289126','34.162.251.48'),(5954,'1744289126','34.162.251.48'),(5955,'1744289127','34.162.251.48'),(5956,'1744289303','34.162.251.48'),(5957,'1744289304','34.162.251.48'),(5958,'1744289304','34.162.251.48'),(5959,'1744289304','34.162.251.48'),(5960,'1744289305','34.162.251.48'),(5961,'1744289305','34.162.251.48'),(5962,'1744302623','67.222.45.11'),(5963,'1744302623','34.162.144.32'),(5964,'1744302624','34.162.144.32'),(5965,'1744302624','34.162.144.32'),(5966,'1744302624','34.162.144.32'),(5967,'1744302625','34.162.144.32'),(5968,'1744302625','34.162.144.32'),(5969,'1744302824','34.162.144.32'),(5970,'1744302824','34.162.144.32'),(5971,'1744302824','34.162.144.32'),(5972,'1744302825','34.162.144.32'),(5973,'1744302825','34.162.144.32'),(5974,'1744302825','34.162.144.32'),(5975,'1744390356','67.222.45.11'),(5976,'1744390356','217.156.123.106'),(5977,'1744402250','34.162.246.193'),(5978,'1744402250','34.162.246.193'),(5979,'1744402251','34.162.246.193'),(5980,'1744402251','34.162.246.193'),(5981,'1744402251','34.162.246.193'),(5982,'1744402251','34.162.246.193'),(5983,'1744402488','34.162.246.193'),(5984,'1744402488','34.162.246.193'),(5985,'1744402488','34.162.246.193'),(5986,'1744402489','34.162.246.193'),(5987,'1744402489','34.162.246.193'),(5988,'1744402489','34.162.246.193'),(5989,'1744417826','67.222.45.11'),(5990,'1744417827','34.162.199.39'),(5991,'1744417827','34.162.199.39'),(5992,'1744417827','34.162.199.39'),(5993,'1744417828','34.162.199.39'),(5994,'1744417828','34.162.199.39'),(5995,'1744417828','34.162.199.39'),(5996,'1744420337','217.156.123.106'),(5997,'1744426006','159.89.174.87'),(5998,'1744426007','159.89.174.87'),(5999,'1744426015','159.89.174.87'),(6000,'1744516655','67.222.45.11'),(6001,'1744516655','142.132.184.193'),(6002,'1744519127','198.235.24.49'),(6003,'1744593707','67.222.45.11'),(6004,'1744593708','188.166.108.93'),(6005,'1744593708','188.166.108.93'),(6006,'1744593714','188.166.108.93'),(6007,'1744599185','3.238.147.168'),(6008,'1744599187','3.238.147.168'),(6009,'1744613547','67.222.45.11'),(6010,'1744613548','198.235.24.180'),(6011,'1744630878','179.43.149.114'),(6012,'1744630894','179.43.149.114'),(6013,'1744630894','179.43.149.114'),(6014,'1744630894','179.43.149.114'),(6015,'1744630894','179.43.149.114'),(6016,'1744630894','179.43.149.114'),(6017,'1744630894','179.43.149.114'),(6018,'1744630896','179.43.149.114'),(6019,'1744630896','179.43.149.114'),(6020,'1744630939','179.43.149.114'),(6021,'1744630939','179.43.149.114'),(6022,'1744630939','179.43.149.114'),(6023,'1744630941','179.43.149.114'),(6024,'1744630941','179.43.149.114'),(6025,'1744630941','179.43.149.114'),(6026,'1744630941','179.43.149.114'),(6027,'1744630941','179.43.149.114'),(6028,'1744630982','179.43.149.114'),(6029,'1744630982','179.43.149.114'),(6030,'1744630982','179.43.149.114'),(6031,'1744630982','179.43.149.114'),(6032,'1744630982','179.43.149.114'),(6033,'1744630982','179.43.149.114'),(6034,'1744630982','179.43.149.114'),(6035,'1744630984','179.43.149.114'),(6036,'1744631027','179.43.149.114'),(6037,'1744631027','179.43.149.114'),(6038,'1744631027','179.43.149.114'),(6039,'1744631027','179.43.149.114'),(6040,'1744631027','179.43.149.114'),(6041,'1744631027','179.43.149.114'),(6042,'1744631029','179.43.149.114'),(6043,'1744631031','179.43.149.114'),(6044,'1744662718','67.222.45.11'),(6045,'1744662719','196.251.88.108'),(6046,'1744666101','115.231.78.8'),(6047,'1744666106','115.231.78.8'),(6048,'1744666108','115.231.78.8'),(6049,'1744666121','115.231.78.8'),(6050,'1744695472','67.222.45.11'),(6051,'1744695473','161.35.68.193'),(6052,'1744695477','161.35.68.193'),(6053,'1744764411','67.222.45.11'),(6054,'1744764411','206.81.24.227'),(6055,'1744764412','206.81.24.227'),(6056,'1744764416','206.81.24.227'),(6057,'1744844726','67.222.45.11'),(6058,'1744844726','34.244.247.18'),(6059,'1744844739','34.244.247.18'),(6060,'1744844739','34.244.247.18'),(6061,'1744844739','34.244.247.18'),(6062,'1744844739','34.244.247.18'),(6063,'1744844739','34.244.247.18'),(6064,'1744844739','34.244.247.18'),(6065,'1744844741','34.244.247.18'),(6066,'1744844743','34.244.247.18'),(6067,'1744873969','67.222.45.11'),(6068,'1744873970','135.148.100.196'),(6069,'1744937209','67.222.45.11'),(6070,'1744937209','142.93.143.8'),(6071,'1744937210','142.93.143.8'),(6072,'1744937214','142.93.143.8'),(6073,'1744954509','67.222.45.11'),(6074,'1744954509','124.236.100.56'),(6075,'1744992942','67.222.45.11'),(6076,'1744992943','138.246.253.24'),(6077,'1745015482','18.224.137.3'),(6078,'1745112499','67.222.45.11'),(6079,'1745112499','46.101.111.185'),(6080,'1745112500','46.101.111.185'),(6081,'1745112505','46.101.111.185'),(6082,'1745337557','67.222.45.11'),(6083,'1745337558','34.141.147.241'),(6084,'1745395776','67.222.45.11'),(6085,'1745395777','54.196.105.191'),(6086,'1745425368','67.222.45.11'),(6087,'1745425368','217.156.123.106'),(6088,'1745425587','217.156.123.106'),(6089,'1745425587','217.156.123.106'),(6090,'1745425587','217.156.123.106'),(6091,'1745425587','217.156.123.106'),(6092,'1745425587','217.156.123.106'),(6093,'1745425587','217.156.123.106'),(6094,'1745425587','217.156.123.106'),(6095,'1745425587','217.156.123.106'),(6096,'1745528337','67.222.45.11'),(6097,'1745528337','198.235.24.52'),(6098,'1745556393','67.222.45.11'),(6099,'1745556394','199.45.155.79'),(6100,'1745581898','67.222.45.11'),(6101,'1745581898','34.28.108.192'),(6102,'1745589818','138.246.253.24'),(6103,'1745606619','67.222.45.11'),(6104,'1745606620','198.235.24.41'),(6105,'1745642078','67.222.45.11'),(6106,'1745642079','142.132.184.193'),(6107,'1745727463','67.222.45.11'),(6108,'1745727464','205.210.31.177'),(6109,'1745821522','67.222.45.11'),(6110,'1745821523','185.247.137.95'),(6111,'1745836523','185.247.137.63'),(6112,'1745892333','67.222.45.11'),(6113,'1745892334','170.39.218.52'),(6114,'1745892335','170.39.218.52'),(6115,'1745892335','170.39.218.52'),(6116,'1745892336','170.39.218.52'),(6117,'1745892337','170.39.218.52'),(6118,'1745892338','170.39.218.52'),(6119,'1745892339','170.39.218.52'),(6120,'1745892340','170.39.218.52'),(6121,'1745892341','170.39.218.52'),(6122,'1745892344','170.39.218.52'),(6123,'1745897360','167.71.2.227'),(6124,'1745928036','67.222.45.11'),(6125,'1745928036','47.254.76.138'),(6126,'1746047296','67.222.45.11'),(6127,'1746047297','104.255.153.194'),(6128,'1746047297','104.255.153.194'),(6129,'1746126258','67.222.45.11'),(6130,'1746126259','138.246.253.24'),(6131,'1746257173','67.222.45.11'),(6132,'1746257173','154.83.103.201'),(6133,'1746322594','67.222.45.11'),(6134,'1746322595','13.201.52.161'),(6135,'1746529113','67.222.45.11'),(6136,'1746529113','45.92.229.78'),(6137,'1746529124','45.8.19.13'),(6138,'1746529166','45.8.19.6'),(6139,'1746529167','45.8.19.6'),(6140,'1746529168','45.8.19.6'),(6141,'1746529169','45.8.19.6'),(6142,'1746556161','67.222.45.11'),(6143,'1746556161','87.251.78.131'),(6144,'1746626312','67.222.45.11'),(6145,'1746626312','154.83.103.205'),(6146,'1746626313','154.83.103.205'),(6147,'1746685464','67.222.45.11'),(6148,'1746685465','54.173.10.72'),(6149,'1746685496','54.173.10.72'),(6150,'1746685496','54.173.10.72'),(6151,'1746685496','54.173.10.72'),(6152,'1746685496','54.173.10.72'),(6153,'1746685496','54.173.10.72'),(6154,'1746685496','54.173.10.72'),(6155,'1746685496','54.173.10.72'),(6156,'1746685496','54.173.10.72'),(6157,'1746723239','67.222.45.11'),(6158,'1746723240','138.246.253.24'),(6159,'1746734386','154.83.103.205'),(6160,'1746815899','154.83.103.108'),(6161,'1746815899','154.83.103.108'),(6162,'1746815900','154.83.103.108'),(6163,'1746815900','154.83.103.108'),(6164,'1746815901','154.83.103.108'),(6165,'1746815901','154.83.103.108'),(6166,'1746815902','154.83.103.108'),(6167,'1746815902','154.83.103.108'),(6168,'1746815903','154.83.103.108'),(6169,'1746815903','154.83.103.108'),(6170,'1746815904','154.83.103.108'),(6171,'1746815904','154.83.103.108'),(6172,'1746815905','154.83.103.108'),(6173,'1746815906','154.83.103.108'),(6174,'1746815906','154.83.103.108'),(6175,'1746815907','154.83.103.108'),(6176,'1746815908','154.83.103.108'),(6177,'1746815909','154.83.103.108'),(6178,'1746815909','154.83.103.108'),(6179,'1746815909','154.83.103.108'),(6180,'1746815910','154.83.103.108'),(6181,'1746815910','154.83.103.108'),(6182,'1746815911','154.83.103.108'),(6183,'1746815911','154.83.103.108'),(6184,'1746815911','154.83.103.108'),(6185,'1746815912','154.83.103.108'),(6186,'1746815912','154.83.103.108'),(6187,'1746815912','154.83.103.108'),(6188,'1746815912','154.83.103.108'),(6189,'1746815913','154.83.103.108'),(6190,'1746815913','154.83.103.108'),(6191,'1746815913','154.83.103.108'),(6192,'1746815914','154.83.103.108'),(6193,'1746815914','154.83.103.108'),(6194,'1746815914','154.83.103.108'),(6195,'1746815914','154.83.103.108'),(6196,'1746815915','154.83.103.108'),(6197,'1746815915','154.83.103.108'),(6198,'1746815915','154.83.103.108'),(6199,'1746815916','154.83.103.108'),(6200,'1746815916','154.83.103.108'),(6201,'1746815916','154.83.103.108'),(6202,'1746815916','154.83.103.108'),(6203,'1746815916','154.83.103.108'),(6204,'1746815917','154.83.103.108'),(6205,'1746815917','154.83.103.108'),(6206,'1746815917','154.83.103.108'),(6207,'1746815917','154.83.103.108'),(6208,'1746815918','154.83.103.108'),(6209,'1746815918','154.83.103.108'),(6210,'1746815918','154.83.103.108'),(6211,'1746815918','154.83.103.108'),(6212,'1746815919','154.83.103.108'),(6213,'1746815920','154.83.103.108'),(6214,'1746815920','154.83.103.108'),(6215,'1746815920','154.83.103.108'),(6216,'1746815922','154.83.103.108'),(6217,'1746823897','67.222.45.11'),(6218,'1746823898','34.145.49.195'),(6219,'1746888317','67.222.45.11'),(6220,'1746888318','3.92.63.19'),(6221,'1747003321','67.222.45.11'),(6222,'1747003322','3.80.152.186'),(6223,'1747003325','3.80.152.186'),(6224,'1747068397','67.222.45.11'),(6225,'1747068398','45.144.212.129'),(6226,'1747103187','67.222.45.11'),(6227,'1747103187','44.213.121.41'),(6228,'1747110252','67.222.45.11'),(6229,'1747110253','165.227.238.210'),(6230,'1747110257','165.227.238.210'),(6231,'1747138927','67.222.45.11'),(6232,'1747138927','170.39.218.60'),(6233,'1747156940','67.222.45.11'),(6234,'1747156940','35.87.204.157'),(6235,'1747175875','135.148.137.109'),(6236,'1747261365','67.222.45.11'),(6237,'1747261366','8.218.212.177'),(6238,'1747261581','138.246.253.24'),(6239,'1747285735','67.222.45.11'),(6240,'1747285735','154.83.103.204'),(6241,'1747340254','67.222.45.11'),(6242,'1747340254','216.81.248.13'),(6243,'1747340267','216.81.248.13'),(6244,'1747340281','216.81.248.13'),(6245,'1747340306','216.81.248.13'),(6246,'1747340306','216.81.248.13'),(6247,'1747340306','216.81.248.13'),(6248,'1747340306','216.81.248.13'),(6249,'1747340306','216.81.248.13'),(6250,'1747340306','216.81.248.13'),(6251,'1747340308','216.81.248.13'),(6252,'1747340308','216.81.248.13'),(6253,'1747393019','67.222.45.11'),(6254,'1747393020','170.39.218.60'),(6255,'1747486634','67.222.45.11'),(6256,'1747486635','135.148.100.196'),(6257,'1747541520','67.222.45.11'),(6258,'1747541521','179.43.149.114'),(6259,'1747693211','67.222.45.11'),(6260,'1747693212','205.210.31.91'),(6261,'1747699706','67.222.45.11'),(6262,'1747699707','34.148.22.32'),(6263,'1747711524','4.227.36.33'),(6264,'1747714825','67.222.45.11'),(6265,'1747714826','4.227.36.33'),(6266,'1747764174','67.222.45.11'),(6267,'1747764174','165.22.38.208'),(6268,'1747878958','67.222.45.11'),(6269,'1747878959','138.246.253.24'),(6270,'1747931875','67.222.45.11'),(6271,'1747931876','34.141.252.55'),(6272,'1748004858','67.222.45.11'),(6273,'1748004859','205.210.31.37'),(6274,'1748050046','67.222.45.11'),(6275,'1748050047','198.235.24.168'),(6276,'1748062501','67.222.45.11'),(6277,'1748062502','170.39.218.60'),(6278,'1748066154','67.222.45.11'),(6279,'1748066154','199.45.154.122'),(6280,'1748125190','67.222.45.11'),(6281,'1748125190','198.235.24.13'),(6282,'1748135928','67.222.45.11'),(6283,'1748135929','170.39.218.60'),(6284,'1748140100','170.39.218.60'),(6285,'1748144976','67.222.45.11'),(6286,'1748144976','170.39.218.60'),(6287,'1748210304','67.222.45.11'),(6288,'1748210305','170.39.218.60'),(6289,'1748346308','67.222.45.11'),(6290,'1748346309','67.207.94.120'),(6291,'1748346311','67.207.94.120'),(6292,'1748357503','170.39.218.60'),(6293,'1748357944','170.9.239.89'),(6294,'1748405023','67.222.45.11'),(6295,'1748405024','45.148.10.80'),(6296,'1748423026','207.154.212.47'),(6297,'1748423026','45.38.44.252'),(6298,'1748423026','67.222.45.11'),(6299,'1748423026','207.154.212.47'),(6300,'1748423031','207.154.212.47'),(6301,'1748423622','146.70.185.32'),(6302,'1748427210','45.38.44.252'),(6303,'1748427210','45.38.44.252'),(6304,'1748430585','170.39.218.60'),(6305,'1748446382','157.180.29.204'),(6306,'1748464084','67.222.45.11'),(6307,'1748464085','46.101.54.83'),(6308,'1748471944','171.244.43.14'),(6309,'1748487664','67.222.45.11'),(6310,'1748487665','145.79.2.200'),(6311,'1748490189','86.104.252.57'),(6312,'1748507770','67.222.45.11'),(6313,'1748507771','115.231.78.8'),(6314,'1748507772','115.231.78.8'),(6315,'1748507775','115.231.78.8'),(6316,'1748507787','115.231.78.8'),(6317,'1748507788','115.231.78.8'),(6318,'1748511347','49.113.92.207'),(6319,'1748511349','101.67.138.115'),(6320,'1748511364','183.160.195.89'),(6321,'1748511458','45.83.220.220'),(6322,'1748552798','67.222.45.11'),(6323,'1748552799','170.39.218.60'),(6324,'1748574848','3.84.249.101'),(6325,'1748575987','67.222.45.11'),(6326,'1748575987','138.246.253.24'),(6327,'1748578017','67.222.45.11'),(6328,'1748578017','170.39.218.60'),(6329,'1748629092','67.222.45.11'),(6330,'1748629093','178.128.194.43'),(6331,'1748635071','91.231.89.37'),(6332,'1748635860','91.196.152.163'),(6333,'1748659194','67.222.45.11'),(6334,'1748659195','129.146.124.161'),(6335,'1748659195','129.146.124.161'),(6336,'1748659196','129.146.124.161'),(6337,'1748659196','129.146.124.161'),(6338,'1748659196','129.146.124.161'),(6339,'1748659196','129.146.124.161'),(6340,'1748659197','129.146.124.161'),(6341,'1748659197','129.146.124.161'),(6342,'1748659197','129.146.124.161'),(6343,'1748659197','129.146.124.161'),(6344,'1748659197','129.146.124.161'),(6345,'1748659198','129.146.124.161'),(6346,'1748659198','129.146.124.161'),(6347,'1748659198','129.146.124.161'),(6348,'1748659198','129.146.124.161'),(6349,'1748659199','129.146.124.161'),(6350,'1748659199','129.146.124.161'),(6351,'1748659199','129.146.124.161'),(6352,'1748659199','129.146.124.161'),(6353,'1748659199','129.146.124.161'),(6354,'1748659200','129.146.124.161'),(6355,'1748659200','129.146.124.161'),(6356,'1748659200','129.146.124.161'),(6357,'1748659201','129.146.124.161'),(6358,'1748659201','129.146.124.161'),(6359,'1748659201','129.146.124.161'),(6360,'1748659201','129.146.124.161'),(6361,'1748659202','129.146.124.161'),(6362,'1748659202','129.146.124.161'),(6363,'1748659202','129.146.124.161'),(6364,'1748659202','129.146.124.161'),(6365,'1748659202','129.146.124.161'),(6366,'1748659203','129.146.124.161'),(6367,'1748659203','129.146.124.161'),(6368,'1748659203','129.146.124.161'),(6369,'1748659203','129.146.124.161'),(6370,'1748659204','129.146.124.161'),(6371,'1748659204','129.146.124.161'),(6372,'1748659205','129.146.124.161'),(6373,'1748659205','129.146.124.161'),(6374,'1748659205','129.146.124.161'),(6375,'1748659205','129.146.124.161'),(6376,'1748659206','129.146.124.161'),(6377,'1748659206','129.146.124.161'),(6378,'1748659206','129.146.124.161'),(6379,'1748659206','129.146.124.161'),(6380,'1748659207','129.146.124.161'),(6381,'1748659207','129.146.124.161'),(6382,'1748659207','129.146.124.161'),(6383,'1748659207','129.146.124.161'),(6384,'1748659208','129.146.124.161'),(6385,'1748659208','129.146.124.161'),(6386,'1748659208','129.146.124.161'),(6387,'1748659208','129.146.124.161'),(6388,'1748659209','129.146.124.161'),(6389,'1748659209','129.146.124.161'),(6390,'1748659209','129.146.124.161'),(6391,'1748659209','129.146.124.161'),(6392,'1748659210','129.146.124.161'),(6393,'1748659210','129.146.124.161'),(6394,'1748659210','129.146.124.161'),(6395,'1748659210','129.146.124.161'),(6396,'1748659211','129.146.124.161'),(6397,'1748659211','129.146.124.161'),(6398,'1748659211','129.146.124.161'),(6399,'1748659211','129.146.124.161'),(6400,'1748659211','129.146.124.161'),(6401,'1748659212','129.146.124.161'),(6402,'1748659212','129.146.124.161'),(6403,'1748659212','129.146.124.161'),(6404,'1748659212','129.146.124.161'),(6405,'1748659213','129.146.124.161'),(6406,'1748659213','129.146.124.161'),(6407,'1748659213','129.146.124.161'),(6408,'1748659214','129.146.124.161'),(6409,'1748659214','129.146.124.161'),(6410,'1748659214','129.146.124.161'),(6411,'1748659214','129.146.124.161'),(6412,'1748659215','129.146.124.161'),(6413,'1748659215','129.146.124.161'),(6414,'1748659215','129.146.124.161'),(6415,'1748659215','129.146.124.161'),(6416,'1748659215','129.146.124.161'),(6417,'1748659216','129.146.124.161'),(6418,'1748659216','129.146.124.161'),(6419,'1748659216','129.146.124.161'),(6420,'1748659216','129.146.124.161'),(6421,'1748659216','129.146.124.161'),(6422,'1748659217','129.146.124.161'),(6423,'1748659217','129.146.124.161'),(6424,'1748659217','129.146.124.161'),(6425,'1748659217','129.146.124.161'),(6426,'1748659218','129.146.124.161'),(6427,'1748659218','129.146.124.161'),(6428,'1748659218','129.146.124.161'),(6429,'1748659218','129.146.124.161'),(6430,'1748659218','129.146.124.161'),(6431,'1748659219','129.146.124.161'),(6432,'1748659219','129.146.124.161'),(6433,'1748659219','129.146.124.161'),(6434,'1748659219','129.146.124.161'),(6435,'1748659219','129.146.124.161'),(6436,'1748659220','129.146.124.161'),(6437,'1748659220','129.146.124.161'),(6438,'1748659220','129.146.124.161'),(6439,'1748659220','129.146.124.161'),(6440,'1748659221','129.146.124.161'),(6441,'1748659221','129.146.124.161'),(6442,'1748659221','129.146.124.161'),(6443,'1748659221','129.146.124.161'),(6444,'1748659221','129.146.124.161'),(6445,'1748659222','129.146.124.161'),(6446,'1748659223','129.146.124.161'),(6447,'1748659223','129.146.124.161'),(6448,'1748659223','129.146.124.161'),(6449,'1748659223','129.146.124.161'),(6450,'1748659227','129.146.124.161'),(6451,'1748659227','129.146.124.161'),(6452,'1748659227','129.146.124.161'),(6453,'1748659227','129.146.124.161'),(6454,'1748659228','129.146.124.161'),(6455,'1748659228','129.146.124.161'),(6456,'1748659228','129.146.124.161'),(6457,'1748659228','129.146.124.161'),(6458,'1748659229','129.146.124.161'),(6459,'1748659229','129.146.124.161'),(6460,'1748659229','129.146.124.161'),(6461,'1748659229','129.146.124.161'),(6462,'1748659230','129.146.124.161'),(6463,'1748659230','129.146.124.161'),(6464,'1748659230','129.146.124.161'),(6465,'1748659230','129.146.124.161'),(6466,'1748659230','129.146.124.161'),(6467,'1748659231','129.146.124.161'),(6468,'1748659231','129.146.124.161'),(6469,'1748659231','129.146.124.161'),(6470,'1748659231','129.146.124.161'),(6471,'1748659232','129.146.124.161'),(6472,'1748659232','129.146.124.161'),(6473,'1748659232','129.146.124.161'),(6474,'1748659232','129.146.124.161'),(6475,'1748659233','129.146.124.161'),(6476,'1748659233','129.146.124.161'),(6477,'1748659233','129.146.124.161'),(6478,'1748659233','129.146.124.161'),(6479,'1748659234','129.146.124.161'),(6480,'1748659234','129.146.124.161'),(6481,'1748659235','129.146.124.161'),(6482,'1748659235','129.146.124.161'),(6483,'1748659235','129.146.124.161'),(6484,'1748659235','129.146.124.161'),(6485,'1748659235','129.146.124.161'),(6486,'1748659236','129.146.124.161'),(6487,'1748659236','129.146.124.161'),(6488,'1748659236','129.146.124.161'),(6489,'1748659236','129.146.124.161'),(6490,'1748659237','129.146.124.161'),(6491,'1748659237','129.146.124.161'),(6492,'1748659237','129.146.124.161'),(6493,'1748659237','129.146.124.161'),(6494,'1748659238','129.146.124.161'),(6495,'1748659238','129.146.124.161'),(6496,'1748659238','129.146.124.161'),(6497,'1748659238','129.146.124.161'),(6498,'1748659239','129.146.124.161'),(6499,'1748659239','129.146.124.161'),(6500,'1748659239','129.146.124.161'),(6501,'1748659239','129.146.124.161'),(6502,'1748659240','129.146.124.161'),(6503,'1748659240','129.146.124.161'),(6504,'1748659240','129.146.124.161'),(6505,'1748659240','129.146.124.161'),(6506,'1748715047','67.222.45.11'),(6507,'1748715048','91.231.89.19'),(6508,'1748715048','91.231.89.23'),(6509,'1748715134','91.231.89.103'),(6510,'1748715135','91.231.89.19'),(6511,'1748715162','91.231.89.23'),(6512,'1748715165','91.231.89.17'),(6513,'1748715282','91.231.89.21'),(6514,'1748715285','91.231.89.17'),(6515,'1748715340','91.231.89.100'),(6516,'1748715401','91.231.89.101'),(6517,'1748715404','91.231.89.97'),(6518,'1748715432','91.231.89.100'),(6519,'1748715461','91.231.89.102'),(6520,'1748715486','91.231.89.101'),(6521,'1748715518','91.231.89.98'),(6522,'1748715523','91.231.89.102'),(6523,'1748715546','91.231.89.98'),(6524,'1748715573','91.231.89.99'),(6525,'1748715609','91.231.89.21'),(6526,'1748806122','67.222.45.11'),(6527,'1748806123','139.59.56.222'),(6528,'1748818853','67.222.45.11'),(6529,'1748818854','35.233.174.0'),(6530,'1748822533','91.231.89.98'),(6531,'1748822590','91.231.89.19'),(6532,'1748822707','91.231.89.22'),(6533,'1748822741','91.231.89.23'),(6534,'1748822764','91.231.89.20'),(6535,'1748822766','91.231.89.19'),(6536,'1748822768','91.231.89.17'),(6537,'1748822853','91.231.89.103'),(6538,'1748822877','91.231.89.21'),(6539,'1748823000','91.231.89.101'),(6540,'1748823139','91.231.89.100'),(6541,'1748823139','91.231.89.96'),(6542,'1748823177','91.231.89.101'),(6543,'1748823246','91.231.89.97'),(6544,'1748823359','91.231.89.103'),(6545,'1748823392','91.231.89.18'),(6546,'1748823416','91.231.89.21'),(6547,'1748823446','91.231.89.22'),(6548,'1748823543','91.231.89.100'),(6549,'1748823564','91.231.89.19'),(6550,'1748823696','91.231.89.20'),(6551,'1748823710','91.231.89.22'),(6552,'1748823748','91.231.89.98'),(6553,'1748823777','91.231.89.96'),(6554,'1748823778','91.231.89.16'),(6555,'1748823903','91.231.89.19'),(6556,'1748823994','91.231.89.20'),(6557,'1748824085','91.231.89.99'),(6558,'1748824174','91.231.89.100'),(6559,'1748824230','91.231.89.96'),(6560,'1748824285','91.231.89.23'),(6561,'1748824366','91.231.89.96'),(6562,'1748824484','91.231.89.17'),(6563,'1748824524','91.231.89.16'),(6564,'1748857870','67.222.45.11'),(6565,'1748857871','141.148.153.213'),(6566,'1748859858','141.148.153.213'),(6567,'1748862115','141.148.153.213'),(6568,'1748862117','141.148.153.213'),(6569,'1748930851','67.222.45.11'),(6570,'1748930851','198.235.24.101'),(6571,'1749052334','67.222.45.11'),(6572,'1749052335','13.57.215.215'),(6573,'1749065352','34.169.92.156'),(6574,'1749085383','67.222.45.11'),(6575,'1749085383','13.57.215.215'),(6576,'1749093675','13.57.215.215'),(6577,'1749102062','67.222.45.11'),(6578,'1749102063','13.57.215.215'),(6579,'1749110559','67.222.45.11'),(6580,'1749110559','13.57.215.215'),(6581,'1749119050','13.57.215.215'),(6582,'1749122910','141.148.153.213'),(6583,'1749122912','141.148.153.213'),(6584,'1749127552','13.57.215.215'),(6585,'1749136080','13.57.215.215'),(6586,'1749144563','67.222.45.11'),(6587,'1749144564','13.57.215.215'),(6588,'1749144877','138.246.253.24'),(6589,'1749153069','13.57.215.215'),(6590,'1749161590','13.57.215.215'),(6591,'1749170102','67.222.45.11'),(6592,'1749170102','13.57.215.215'),(6593,'1749175372','67.222.45.11'),(6594,'1749175372','198.235.24.120'),(6595,'1749178593','67.222.45.11'),(6596,'1749178593','13.57.215.215'),(6597,'1749179416','91.238.162.8'),(6598,'1749187098','67.222.45.11'),(6599,'1749187099','13.57.215.215'),(6600,'1749190406','67.222.45.11'),(6601,'1749190406','147.185.132.111'),(6602,'1749195577','13.57.215.215'),(6603,'1749204132','67.222.45.11'),(6604,'1749204132','13.57.215.215'),(6605,'1749238353','67.222.45.11'),(6606,'1749238354','205.210.31.31'),(6607,'1749244131','67.222.45.11'),(6608,'1749244131','34.44.57.0'),(6609,'1749267092','67.222.45.11'),(6610,'1749267093','4.227.36.66'),(6611,'1749267094','20.171.207.225'),(6612,'1749267094','67.222.45.11'),(6613,'1749267095','67.222.45.11'),(6614,'1749267095','67.222.45.11'),(6615,'1749267095','67.222.45.11'),(6616,'1749267302','67.222.45.11'),(6617,'1749267435','20.171.207.225'),(6618,'1749267750','20.171.207.225'),(6619,'1749290299','67.222.45.11'),(6620,'1749290300','87.236.176.184'),(6621,'1749322150','67.222.45.11'),(6622,'1749322151','205.210.31.165'),(6623,'1749338598','67.222.45.11'),(6624,'1749338599','3.88.55.155'),(6625,'1749356314','67.222.45.11'),(6626,'1749356315','87.236.176.216'),(6627,'1749481644','67.222.45.11'),(6628,'1749481645','194.164.107.4'),(6629,'1749487048','67.222.45.11'),(6630,'1749487049','15.204.43.172'),(6631,'1749538679','67.222.45.11'),(6632,'1749538680','67.207.85.17'),(6633,'1749538686','67.207.85.17'),(6634,'1749567868','67.222.45.11'),(6635,'1749567868','4.227.36.14'),(6636,'1749567869','20.171.207.21'),(6637,'1749591295','67.222.45.11'),(6638,'1749591296','147.185.132.249'),(6639,'1749601396','67.222.45.11'),(6640,'1749601397','205.210.31.201'),(6641,'1749624137','67.222.45.11'),(6642,'1749624138','3.140.217.139'),(6643,'1749654060','67.222.45.11'),(6644,'1749654060','123.6.49.41'),(6645,'1749654084','123.6.49.38'),(6646,'1749654088','123.6.49.10'),(6647,'1749654104','123.6.49.9'),(6648,'1749654576','123.6.49.4'),(6649,'1749654586','123.6.49.6'),(6650,'1749654590','123.6.49.41'),(6651,'1749654757','185.177.72.144'),(6652,'1749654757','185.177.72.144'),(6653,'1749654758','185.177.72.144'),(6654,'1749654758','185.177.72.144'),(6655,'1749654759','185.177.72.144'),(6656,'1749654759','185.177.72.144'),(6657,'1749654759','185.177.72.144'),(6658,'1749654760','185.177.72.144'),(6659,'1749654760','185.177.72.144'),(6660,'1749654760','185.177.72.144'),(6661,'1749654760','185.177.72.144'),(6662,'1749654761','185.177.72.144'),(6663,'1749654761','185.177.72.144'),(6664,'1749654761','185.177.72.144'),(6665,'1749682185','67.222.45.11'),(6666,'1749682185','35.87.215.140'),(6667,'1749693598','67.222.45.11'),(6668,'1749693598','138.246.253.24'),(6669,'1749707434','67.222.45.11'),(6670,'1749707435','78.142.63.50'),(6671,'1749746714','67.222.45.11'),(6672,'1749746715','103.106.104.116'),(6673,'1749796591','67.222.45.11'),(6674,'1749796592','192.185.2.217'),(6675,'1749813426','67.222.45.11'),(6676,'1749813426','198.235.24.139'),(6677,'1749825817','67.222.45.11'),(6678,'1749825817','185.177.72.210'),(6679,'1749825817','185.177.72.210'),(6680,'1749825818','185.177.72.210'),(6681,'1749825818','185.177.72.210'),(6682,'1749825819','185.177.72.210'),(6683,'1749825819','185.177.72.210'),(6684,'1749825819','185.177.72.210'),(6685,'1749825820','185.177.72.210'),(6686,'1749825820','185.177.72.210'),(6687,'1749825820','185.177.72.210'),(6688,'1749825821','185.177.72.210'),(6689,'1749825821','185.177.72.210'),(6690,'1749825821','185.177.72.210'),(6691,'1749825822','185.177.72.210'),(6692,'1749827447','198.235.24.129'),(6693,'1749837915','67.222.45.11'),(6694,'1749837916','34.105.18.161'),(6695,'1749876501','67.222.45.11'),(6696,'1749876501','198.235.24.43'),(6697,'1749876504','67.222.45.11'),(6698,'1749876504','67.222.45.11'),(6699,'1749876504','67.222.45.11'),(6700,'1749876504','67.222.45.11'),(6701,'1750009980','67.222.45.11'),(6702,'1750009981','205.210.31.11'),(6703,'1750067820','67.222.45.11'),(6704,'1750067821','93.123.109.81'),(6705,'1750067822','93.123.109.81'),(6706,'1750067822','93.123.109.81'),(6707,'1750067823','93.123.109.81'),(6708,'1750067824','93.123.109.81'),(6709,'1750067824','93.123.109.81'),(6710,'1750067825','93.123.109.81'),(6711,'1750067825','93.123.109.81'),(6712,'1750067826','93.123.109.81'),(6713,'1750067828','93.123.109.81'),(6714,'1750129548','67.222.45.11'),(6715,'1750129549','47.82.60.155'),(6716,'1750129553','47.82.60.155'),(6717,'1750129556','47.82.60.155'),(6718,'1750133589','67.222.45.11'),(6719,'1750133590','47.82.60.167'),(6720,'1750133592','47.82.60.167'),(6721,'1750133593','47.82.60.167'),(6722,'1750143408','67.222.45.11'),(6723,'1750143408','47.82.60.186'),(6724,'1750143410','47.82.60.186'),(6725,'1750143411','47.82.60.186'),(6726,'1750187514','67.222.45.11'),(6727,'1750187515','35.204.18.251'),(6728,'1750188655','51.210.60.82'),(6729,'1750188658','4.227.36.42'),(6730,'1750188659','20.171.207.173'),(6731,'1750189480','67.222.45.11'),(6732,'1750189480','18.135.133.250'),(6733,'1750191044','104.168.248.149'),(6734,'1750192638','67.222.45.11'),(6735,'1750192638','88.198.53.41'),(6736,'1750193434','51.210.60.82'),(6737,'1750197427','67.222.45.11'),(6738,'1750197427','185.25.117.32'),(6739,'1750198246','194.163.189.40'),(6740,'1750199074','5.135.124.144'),(6741,'1750199912','67.222.45.11'),(6742,'1750199912','41.72.148.36'),(6743,'1750202422','67.222.45.11'),(6744,'1750202423','85.10.195.23'),(6745,'1750203271','185.87.64.191'),(6746,'1750204135','67.222.45.11'),(6747,'1750204135','152.53.23.6'),(6748,'1750205001','62.113.202.180'),(6749,'1750206736','42.96.17.195'),(6750,'1750207584','67.222.45.11'),(6751,'1750207584','44.201.33.152'),(6752,'1750209298','116.203.77.141'),(6753,'1750212804','67.222.45.11'),(6754,'1750212804','49.13.149.223'),(6755,'1750213698','94.191.24.214'),(6756,'1750218124','67.222.45.11'),(6757,'1750218124','103.82.32.100'),(6758,'1750219012','67.222.45.11'),(6759,'1750219012','20.52.16.104'),(6760,'1750220719','65.21.51.11'),(6761,'1750222409','67.222.45.11'),(6762,'1750222409','46.8.78.132'),(6763,'1750239369','67.222.45.11'),(6764,'1750239369','205.210.31.14'),(6765,'1750246579','67.222.45.11'),(6766,'1750246579','47.82.60.110'),(6767,'1750246580','47.82.60.110'),(6768,'1750246580','47.82.60.110'),(6769,'1750248778','205.210.31.78'),(6770,'1750289836','67.222.45.11'),(6771,'1750289837','47.82.61.69'),(6772,'1750289838','47.82.61.69'),(6773,'1750289839','47.82.61.69'),(6774,'1750353014','47.82.60.78'),(6775,'1750353015','67.222.45.11'),(6776,'1750382823','67.222.45.11'),(6777,'1750382823','138.246.253.24'),(6778,'1750406026','205.210.31.236'),(6779,'1750414874','67.222.45.11'),(6780,'1750414875','199.45.154.116'),(6781,'1750414906','199.45.154.116'),(6782,'1750420393','67.222.45.11'),(6783,'1750420393','167.94.138.180'),(6784,'1750420460','167.94.138.180'),(6785,'1750524842','67.222.45.11'),(6786,'1750524843','205.210.31.23'),(6787,'1750524846','67.222.45.11'),(6788,'1750524846','67.222.45.11'),(6789,'1750524846','67.222.45.11'),(6790,'1750524846','67.222.45.11'),(6791,'1750753694','67.222.45.11'),(6792,'1750753694','137.184.85.90'),(6793,'1750753696','137.184.85.90'),(6794,'1750786560','67.222.45.11'),(6795,'1750786561','101.55.81.36'),(6796,'1750787151','101.55.81.36'),(6797,'1750787204','101.55.81.36'),(6798,'1750787470','101.55.81.36'),(6799,'1750787579','101.55.81.36'),(6800,'1750787681','101.55.81.36'),(6801,'1750787882','101.55.81.36'),(6802,'1750787929','101.55.81.36'),(6803,'1750788109','101.55.81.36'),(6804,'1750788318','101.55.81.36'),(6805,'1750788479','101.55.81.36'),(6806,'1750788581','101.55.81.36'),(6807,'1750788768','101.55.81.36'),(6808,'1750789054','101.55.81.36'),(6809,'1750789309','101.55.81.36'),(6810,'1750789568','101.55.81.36'),(6811,'1750789617','101.55.81.36'),(6812,'1750789756','101.55.81.36'),(6813,'1750789912','101.55.81.36'),(6814,'1750790071','101.55.81.36'),(6815,'1750790664','67.222.45.11'),(6816,'1750790664','101.55.81.36'),(6817,'1750804217','67.222.45.11'),(6818,'1750804217','176.126.103.148'),(6819,'1750835698','67.222.45.11'),(6820,'1750835699','205.210.31.11'),(6821,'1750843281','67.222.45.11'),(6822,'1750843281','205.210.31.217'),(6823,'1751006344','47.82.60.9'),(6824,'1751006345','67.222.45.11'),(6825,'1751011261','138.246.253.24'),(6826,'1751011261','67.222.45.11'),(6827,'1751029754','205.210.31.21'),(6828,'1751029755','67.222.45.11'),(6829,'1751037132','205.210.31.151'),(6830,'1751037132','67.222.45.11'),(6831,'1751116161','195.178.110.161'),(6832,'1751116161','67.222.45.11'),(6833,'1751116166','67.222.45.11'),(6834,'1751116166','67.222.45.11'),(6835,'1751116167','67.222.45.11'),(6836,'1751116167','67.222.45.11'),(6837,'1751116167','67.222.45.11'),(6838,'1751138391','198.235.24.36'),(6839,'1751138392','67.222.45.11'),(6840,'1751147929','195.178.110.161'),(6841,'1751147929','67.222.45.11'),(6842,'1751235445','52.43.210.125'),(6843,'1751235446','67.222.45.11'),(6844,'1751236890','198.235.24.132'),(6845,'1751236891','67.222.45.11'),(6846,'1751390398','195.178.110.161'),(6847,'1751390399','67.222.45.11'),(6848,'1751422725','147.185.132.46'),(6849,'1751422725','67.222.45.11'),(6850,'1751435766','195.178.110.161'),(6851,'1751435766','67.222.45.11'),(6852,'1751436966','147.185.132.141'),(6853,'1751454565','27.115.124.40'),(6854,'1751454565','67.222.45.11'),(6855,'1751454572','27.115.124.97'),(6856,'1751454573','27.115.124.68'),(6857,'1751454580','27.115.124.33'),(6858,'1751500440','138.246.253.24'),(6859,'1751500441','67.222.45.11'),(6860,'1751556533','143.198.191.145'),(6861,'1751556533','67.222.45.11'),(6862,'1751560939','34.162.87.4'),(6863,'1751560941','67.222.45.11'),(6864,'1751560942','34.162.87.4'),(6865,'1751561137','34.162.165.185'),(6866,'1751561139','34.162.165.185'),(6867,'1751565901','34.162.51.109'),(6868,'1751565902','67.222.45.11'),(6869,'1751565903','34.162.51.109'),(6870,'1751568453','34.162.94.5'),(6871,'1751568454','67.222.45.11'),(6872,'1751568455','34.162.94.5'),(6873,'1751570378','34.162.67.247'),(6874,'1751570379','34.162.67.247'),(6875,'1751571329','205.210.31.67'),(6876,'1751571329','67.222.45.11'),(6877,'1751572449','34.162.37.152'),(6878,'1751572449','34.162.37.152'),(6879,'1751572669','34.162.128.241'),(6880,'1751572671','34.162.128.241'),(6881,'1751575866','34.162.161.254'),(6882,'1751575867','67.222.45.11'),(6883,'1751575868','34.162.161.254'),(6884,'1751578855','34.162.58.99'),(6885,'1751578855','67.222.45.11'),(6886,'1751578857','34.162.58.99'),(6887,'1751581193','34.162.236.120'),(6888,'1751581194','34.162.236.120'),(6889,'1751582846','34.162.156.234'),(6890,'1751582846','67.222.45.11'),(6891,'1751582848','34.162.156.234'),(6892,'1751588499','205.210.31.76'),(6893,'1751588499','67.222.45.11'),(6894,'1751589743','34.162.72.176'),(6895,'1751589744','67.222.45.11'),(6896,'1751589745','34.162.72.176'),(6897,'1751590953','34.162.69.221'),(6898,'1751590954','34.162.69.221'),(6899,'1751593098','34.162.10.19'),(6900,'1751593098','67.222.45.11'),(6901,'1751593100','34.162.10.19'),(6902,'1751596984','47.82.60.18'),(6903,'1751596984','67.222.45.11'),(6904,'1751599418','34.162.209.76'),(6905,'1751607788','34.162.67.90'),(6906,'1751607788','67.222.45.11'),(6907,'1751607789','34.162.67.90'),(6908,'1751613446','34.162.79.88'),(6909,'1751613446','67.222.45.11'),(6910,'1751613447','34.162.79.88'),(6911,'1751635459','34.162.27.173'),(6912,'1751635460','67.222.45.11'),(6913,'1751635461','34.162.27.173'),(6914,'1751635548','34.162.72.176'),(6915,'1751635549','34.162.72.176'),(6916,'1751637987','34.162.134.44'),(6917,'1751637987','67.222.45.11'),(6918,'1751637988','34.162.134.44'),(6919,'1751646319','212.47.64.13'),(6920,'1751646319','67.222.45.11'),(6921,'1751651872','34.30.136.49'),(6922,'1751651872','67.222.45.11'),(6923,'1751665717','34.162.249.193'),(6924,'1751665717','67.222.45.11'),(6925,'1751665718','34.162.249.193'),(6926,'1751671949','34.162.172.120'),(6927,'1751671949','67.222.45.11'),(6928,'1751671950','34.162.172.120'),(6929,'1751683086','34.162.33.156'),(6930,'1751683086','67.222.45.11'),(6931,'1751683087','34.162.33.156'),(6932,'1751683090','67.222.45.11'),(6933,'1751683090','67.222.45.11'),(6934,'1751683090','67.222.45.11'),(6935,'1751683091','67.222.45.11'),(6936,'1751683091','67.222.45.11'),(6937,'1751696210','34.162.159.170'),(6938,'1751696211','67.222.45.11'),(6939,'1751703974','205.210.31.132'),(6940,'1751703974','67.222.45.11'),(6941,'1751717601','34.162.190.11'),(6942,'1751717601','67.222.45.11'),(6943,'1751717602','34.162.190.11'),(6944,'1751749438','34.162.148.146'),(6945,'1751749439','67.222.45.11'),(6946,'1751749440','34.162.148.146'),(6947,'1751753448','34.162.156.234'),(6948,'1751753448','67.222.45.11'),(6949,'1751753449','34.162.156.234'),(6950,'1751757739','34.162.141.202'),(6951,'1751757739','67.222.45.11'),(6952,'1751757740','34.162.141.202'),(6953,'1751759734','34.162.94.5'),(6954,'1751759734','67.222.45.11'),(6955,'1751759735','34.162.94.5'),(6956,'1751770623','205.210.31.13'),(6957,'1751770623','67.222.45.11'),(6958,'1751780583','34.162.98.41'),(6959,'1751780583','67.222.45.11'),(6960,'1751780584','34.162.98.41'),(6961,'1751972792','165.22.83.152'),(6962,'1751972792','67.222.45.11'),(6963,'1752004643','35.94.90.114'),(6964,'1752004643','67.222.45.11'),(6965,'1752065621','185.177.72.205'),(6966,'1752065621','67.222.45.11'),(6967,'1752065624','185.177.72.205'),(6968,'1752065625','185.177.72.205'),(6969,'1752065627','185.177.72.205'),(6970,'1752065628','185.177.72.205'),(6971,'1752065630','185.177.72.205'),(6972,'1752065632','185.177.72.205'),(6973,'1752065632','185.177.72.205'),(6974,'1752065635','185.177.72.205'),(6975,'1752065636','185.177.72.205'),(6976,'1752065637','185.177.72.205'),(6977,'1752065638','185.177.72.205'),(6978,'1752065638','185.177.72.205'),(6979,'1752065638','185.177.72.205'),(6980,'1752065639','185.177.72.205'),(6981,'1752065640','185.177.72.205'),(6982,'1752065641','185.177.72.205'),(6983,'1752065641','185.177.72.205'),(6984,'1752065644','185.177.72.205'),(6985,'1752065645','185.177.72.205'),(6986,'1752065647','185.177.72.205'),(6987,'1752065648','185.177.72.205'),(6988,'1752065649','185.177.72.205'),(6989,'1752065651','185.177.72.205'),(6990,'1752065653','185.177.72.205'),(6991,'1752065654','185.177.72.205'),(6992,'1752065654','185.177.72.205'),(6993,'1752065655','185.177.72.205'),(6994,'1752065656','185.177.72.205'),(6995,'1752065658','185.177.72.205'),(6996,'1752065658','185.177.72.205'),(6997,'1752065659','185.177.72.205'),(6998,'1752065660','185.177.72.205'),(6999,'1752065660','185.177.72.205'),(7000,'1752065660','185.177.72.205'),(7001,'1752065661','185.177.72.205'),(7002,'1752065661','185.177.72.205'),(7003,'1752065662','185.177.72.205'),(7004,'1752065663','185.177.72.205'),(7005,'1752065663','185.177.72.205'),(7006,'1752065664','185.177.72.205'),(7007,'1752065665','185.177.72.205'),(7008,'1752065665','185.177.72.205'),(7009,'1752065666','185.177.72.205'),(7010,'1752065666','185.177.72.205'),(7011,'1752065667','185.177.72.205'),(7012,'1752065668','185.177.72.205'),(7013,'1752065668','185.177.72.205'),(7014,'1752065668','185.177.72.205'),(7015,'1752065670','185.177.72.205'),(7016,'1752065671','185.177.72.205'),(7017,'1752065672','185.177.72.205'),(7018,'1752065672','185.177.72.205'),(7019,'1752065673','185.177.72.205'),(7020,'1752065674','185.177.72.205'),(7021,'1752065675','185.177.72.205'),(7022,'1752065677','185.177.72.205'),(7023,'1752065679','185.177.72.205'),(7024,'1752065679','185.177.72.205'),(7025,'1752065679','185.177.72.205'),(7026,'1752065680','185.177.72.205'),(7027,'1752065680','185.177.72.205'),(7028,'1752065681','185.177.72.205'),(7029,'1752065682','185.177.72.205'),(7030,'1752065683','185.177.72.205'),(7031,'1752065683','185.177.72.205'),(7032,'1752065685','185.177.72.205'),(7033,'1752065685','185.177.72.205'),(7034,'1752065686','185.177.72.205'),(7035,'1752065687','185.177.72.205'),(7036,'1752065688','185.177.72.205'),(7037,'1752065688','185.177.72.205'),(7038,'1752065688','185.177.72.205'),(7039,'1752065690','185.177.72.205'),(7040,'1752065690','185.177.72.205'),(7041,'1752065691','185.177.72.205'),(7042,'1752065692','185.177.72.205'),(7043,'1752065693','185.177.72.205'),(7044,'1752065693','185.177.72.205'),(7045,'1752065694','185.177.72.205'),(7046,'1752065694','185.177.72.205'),(7047,'1752065696','185.177.72.205'),(7048,'1752065696','185.177.72.205'),(7049,'1752065698','185.177.72.205'),(7050,'1752065699','185.177.72.205'),(7051,'1752065699','185.177.72.205'),(7052,'1752065701','185.177.72.205'),(7053,'1752065701','185.177.72.205'),(7054,'1752065702','185.177.72.205'),(7055,'1752065704','185.177.72.205'),(7056,'1752065704','185.177.72.205'),(7057,'1752065705','185.177.72.205'),(7058,'1752065705','185.177.72.205'),(7059,'1752065705','185.177.72.205'),(7060,'1752065706','185.177.72.205'),(7061,'1752065706','185.177.72.205'),(7062,'1752065707','185.177.72.205'),(7063,'1752065707','185.177.72.205'),(7064,'1752065707','185.177.72.205'),(7065,'1752065708','185.177.72.205'),(7066,'1752065708','185.177.72.205'),(7067,'1752065709','185.177.72.205'),(7068,'1752065709','185.177.72.205'),(7069,'1752065710','185.177.72.205'),(7070,'1752065710','185.177.72.205'),(7071,'1752065712','185.177.72.205'),(7072,'1752065712','185.177.72.205'),(7073,'1752065713','185.177.72.205'),(7074,'1752065714','185.177.72.205'),(7075,'1752065714','185.177.72.205'),(7076,'1752065715','185.177.72.205'),(7077,'1752065715','185.177.72.205'),(7078,'1752107244','101.198.0.150'),(7079,'1752107244','67.222.45.11'),(7080,'1752107246','101.198.0.157'),(7081,'1752107247','101.198.0.157'),(7082,'1752107483','180.163.220.51'),(7083,'1752107485','180.163.220.51'),(7084,'1752107486','180.163.220.101'),(7085,'1752169247','185.192.69.31'),(7086,'1752169247','67.222.45.11'),(7087,'1752169285','185.192.69.20'),(7088,'1752169288','185.192.69.20'),(7089,'1752169291','185.192.69.20'),(7090,'1752169293','185.192.69.20'),(7091,'1752169302','185.192.69.3'),(7092,'1752169305','185.192.69.3'),(7093,'1752185847','138.246.253.24'),(7094,'1752185847','67.222.45.11'),(7095,'1752193520','47.82.60.7'),(7096,'1752193520','67.222.45.11'),(7097,'1752253548','170.39.218.50'),(7098,'1752253548','67.222.45.11'),(7099,'1752337180','34.215.88.194'),(7100,'1752337180','67.222.45.11'),(7101,'1752337183','67.222.45.11'),(7102,'1752337184','67.222.45.11'),(7103,'1752337184','67.222.45.11'),(7104,'1752337184','67.222.45.11'),(7105,'1752337184','67.222.45.11'),(7106,'1752337204','34.215.88.194'),(7107,'1752337204','34.215.88.194'),(7108,'1752337204','34.215.88.194'),(7109,'1752337204','34.215.88.194'),(7110,'1752337204','34.215.88.194'),(7111,'1752337206','34.215.88.194'),(7112,'1752337208','34.215.88.194'),(7113,'1752604408','34.44.221.4'),(7114,'1752604408','67.222.45.11'),(7115,'1752735530','87.236.176.51'),(7116,'1752735530','67.222.45.11'),(7117,'1752758321','87.236.176.249'),(7118,'1752758321','67.222.45.11'),(7119,'1752793263','47.79.243.225'),(7120,'1752793263','67.222.45.11'),(7121,'1752907347','138.246.253.24'),(7122,'1752987960','45.148.10.80'),(7123,'1752987960','67.222.45.11'),(7124,'1752987966','67.222.45.11'),(7125,'1752987966','67.222.45.11'),(7126,'1752987966','67.222.45.11'),(7127,'1752987967','67.222.45.11'),(7128,'1752987967','67.222.45.11'),(7129,'1752988073','45.148.10.80'),(7130,'1752988073','45.148.10.80'),(7131,'1752988073','45.148.10.80'),(7132,'1752988073','45.148.10.80'),(7133,'1752988074','45.148.10.80'),(7134,'1752988074','45.148.10.80'),(7135,'1753083813','3.21.128.60'),(7136,'1753083813','67.222.45.11'),(7137,'1753083814','3.21.128.60'),(7138,'1753083815','3.21.128.60'),(7139,'1753083816','3.21.128.60'),(7140,'1753127357','180.163.220.97'),(7141,'1753127357','67.222.45.11'),(7142,'1753127372','180.163.220.52'),(7143,'1753127481','180.163.220.42'),(7144,'1753127495','180.163.220.97'),(7145,'1753127497','180.163.220.62'),(7146,'1753127507','180.163.220.42'),(7147,'1753170430','135.148.100.196'),(7148,'1753170430','67.222.45.11'),(7149,'1753173107','143.198.53.251'),(7150,'1753180415','205.210.31.101'),(7151,'1753180415','67.222.45.11'),(7152,'1753197210','205.210.31.205'),(7153,'1753197210','67.222.45.11'),(7154,'1753197629','198.235.24.136'),(7155,'1753199121','147.185.132.16'),(7156,'1753199121','67.222.45.11'),(7157,'1753318452','138.246.253.24'),(7158,'1753366222','213.136.84.241'),(7159,'1753402849','47.82.11.45'),(7160,'1753402849','67.222.45.11'),(7161,'1753444825','86.106.74.248'),(7162,'1753444826','67.222.45.11'),(7163,'1753448446','147.185.132.96'),(7164,'1753448446','67.222.45.11'),(7165,'1753468435','147.185.132.22'),(7166,'1753468436','67.222.45.11'),(7167,'1753468442','198.235.24.70'),(7168,'1753469163','147.185.132.49'),(7169,'1753469163','147.185.132.49'),(7170,'1753469163','67.222.45.11'),(7171,'1753473325','205.210.31.138'),(7172,'1753473325','67.222.45.11'),(7173,'1753692820','206.189.225.181'),(7174,'1753692820','67.222.45.11'),(7175,'1753692822','206.189.225.181'),(7176,'1753692824','67.222.45.11'),(7177,'1753692824','67.222.45.11'),(7178,'1753692824','67.222.45.11'),(7179,'1753692824','206.189.225.181'),(7180,'1753692825','67.222.45.11'),(7181,'1753692825','67.222.45.11'),(7182,'1753692828','93.123.109.64'),(7183,'1753692841','205.169.39.58'),(7184,'1753692848','167.235.250.30'),(7185,'1753695416','93.123.109.64'),(7186,'1753695416','67.222.45.11'),(7187,'1753695420','93.123.109.64'),(7188,'1753695434','93.123.109.64'),(7189,'1753695476','159.223.19.225'),(7190,'1753695476','159.223.19.225'),(7191,'1753695476','159.223.19.225'),(7192,'1753695477','159.223.19.225'),(7193,'1753695477','159.223.19.225'),(7194,'1753695477','159.223.19.225'),(7195,'1753695478','159.223.19.225'),(7196,'1753695478','159.223.19.225'),(7197,'1753695478','159.223.19.225'),(7198,'1753695478','159.223.19.225'),(7199,'1753695479','159.223.19.225'),(7200,'1753695480','159.223.19.225'),(7201,'1753695519','93.123.109.64'),(7202,'1753695523','93.123.109.64'),(7203,'1753695572','93.123.109.64'),(7204,'1753695902','93.123.109.64'),(7205,'1753696591','93.123.109.64'),(7206,'1753699059','93.123.109.64'),(7207,'1753699059','67.222.45.11'),(7208,'1753714873','172.86.108.163'),(7209,'1753714874','67.222.45.11'),(7210,'1753726076','205.210.31.136'),(7211,'1753726076','67.222.45.11'),(7212,'1753727745','34.31.204.245'),(7213,'1753727745','67.222.45.11'),(7214,'1753736956','61.167.255.196'),(7215,'1753736956','67.222.45.11'),(7216,'1753736958','171.120.156.93'),(7217,'1753736970','61.167.255.18'),(7218,'1753760783','213.209.143.116'),(7219,'1753760783','67.222.45.11'),(7220,'1753766448','205.210.31.94'),(7221,'1753766448','67.222.45.11'),(7222,'1753767895','185.177.72.24'),(7223,'1753767895','67.222.45.11'),(7224,'1753768009','185.177.72.24'),(7225,'1753771622','185.177.72.24'),(7226,'1753771622','67.222.45.11'),(7227,'1753780528','196.251.88.64'),(7228,'1753780529','67.222.45.11'),(7229,'1753780558','196.251.88.64'),(7230,'1753780558','196.251.88.64'),(7231,'1753780558','196.251.88.64'),(7232,'1753780558','196.251.88.64'),(7233,'1753780558','196.251.88.64'),(7234,'1753780558','196.251.88.64'),(7235,'1753780558','196.251.88.64'),(7236,'1753780589','196.251.88.64'),(7237,'1753780589','196.251.88.64'),(7238,'1753780590','196.251.88.64'),(7239,'1753780590','196.251.88.64'),(7240,'1753780590','196.251.88.64'),(7241,'1753780590','196.251.88.64'),(7242,'1753780590','196.251.88.64'),(7243,'1753780798','196.251.88.64'),(7244,'1753780825','196.251.88.64'),(7245,'1753780825','196.251.88.64'),(7246,'1753780825','196.251.88.64'),(7247,'1753780826','196.251.88.64'),(7248,'1753780826','196.251.88.64'),(7249,'1753780826','196.251.88.64'),(7250,'1753780826','196.251.88.64'),(7251,'1753780852','196.251.88.64'),(7252,'1753780852','196.251.88.64'),(7253,'1753780852','196.251.88.64'),(7254,'1753780852','196.251.88.64'),(7255,'1753780852','196.251.88.64'),(7256,'1753780852','196.251.88.64'),(7257,'1753780852','196.251.88.64'),(7258,'1753784289','198.235.24.225'),(7259,'1753784289','67.222.45.11'),(7260,'1753785507','147.185.132.84'),(7261,'1753785507','67.222.45.11'),(7262,'1753786624','147.185.132.222'),(7263,'1753787091','147.185.132.64'),(7264,'1753787883','196.251.88.64'),(7265,'1753787912','196.251.88.64'),(7266,'1753787912','196.251.88.64'),(7267,'1753787913','196.251.88.64'),(7268,'1753787913','196.251.88.64'),(7269,'1753787913','196.251.88.64'),(7270,'1753787913','196.251.88.64'),(7271,'1753787913','196.251.88.64'),(7272,'1753787935','196.251.88.64'),(7273,'1753787935','196.251.88.64'),(7274,'1753787936','196.251.88.64'),(7275,'1753787936','196.251.88.64'),(7276,'1753787936','196.251.88.64'),(7277,'1753787936','196.251.88.64'),(7278,'1753787937','196.251.88.64'),(7279,'1753788114','196.251.88.64'),(7280,'1753788150','196.251.88.64'),(7281,'1753788150','196.251.88.64'),(7282,'1753788150','196.251.88.64'),(7283,'1753788150','196.251.88.64'),(7284,'1753788150','196.251.88.64'),(7285,'1753788150','196.251.88.64'),(7286,'1753788150','196.251.88.64'),(7287,'1753788180','196.251.88.64'),(7288,'1753788180','196.251.88.64'),(7289,'1753788180','196.251.88.64'),(7290,'1753788181','196.251.88.64'),(7291,'1753788183','196.251.88.64'),(7292,'1753788183','196.251.88.64'),(7293,'1753788183','196.251.88.64'),(7294,'1753800846','196.251.88.59'),(7295,'1753800846','67.222.45.11'),(7296,'1753800867','196.251.88.59'),(7297,'1753800867','196.251.88.59'),(7298,'1753800869','196.251.88.59'),(7299,'1753800869','196.251.88.59'),(7300,'1753800870','196.251.88.59'),(7301,'1753800870','196.251.88.59'),(7302,'1753800871','196.251.88.59'),(7303,'1753800913','196.251.88.59'),(7304,'1753800913','196.251.88.59'),(7305,'1753800913','196.251.88.59'),(7306,'1753800913','196.251.88.59'),(7307,'1753800913','196.251.88.59'),(7308,'1753800913','196.251.88.59'),(7309,'1753800913','196.251.88.59'),(7310,'1753804131','35.223.72.240'),(7311,'1753804131','67.222.45.11'),(7312,'1753804919','185.177.72.236'),(7313,'1753804919','185.177.72.236'),(7314,'1753804920','185.177.72.236'),(7315,'1753804921','185.177.72.236'),(7316,'1753804921','185.177.72.236'),(7317,'1753804923','185.177.72.236'),(7318,'1753804924','185.177.72.236'),(7319,'1753804926','185.177.72.236'),(7320,'1753804928','185.177.72.236'),(7321,'1753804928','185.177.72.236'),(7322,'1753804931','185.177.72.236'),(7323,'1753804931','185.177.72.236'),(7324,'1753804933','185.177.72.236'),(7325,'1753804933','185.177.72.236'),(7326,'1753804934','185.177.72.236'),(7327,'1753804934','185.177.72.236'),(7328,'1753804935','185.177.72.236'),(7329,'1753804936','185.177.72.236'),(7330,'1753804936','185.177.72.236'),(7331,'1753804937','185.177.72.236'),(7332,'1753804939','185.177.72.236'),(7333,'1753804940','185.177.72.236'),(7334,'1753804942','185.177.72.236'),(7335,'1753804943','185.177.72.236'),(7336,'1753804944','185.177.72.236'),(7337,'1753804946','185.177.72.236'),(7338,'1753804948','185.177.72.236'),(7339,'1753804949','185.177.72.236'),(7340,'1753804949','185.177.72.236'),(7341,'1753804949','185.177.72.236'),(7342,'1753804950','185.177.72.236'),(7343,'1753804952','185.177.72.236'),(7344,'1753804952','185.177.72.236'),(7345,'1753804952','185.177.72.236'),(7346,'1753804953','185.177.72.236'),(7347,'1753804954','185.177.72.236'),(7348,'1753804954','185.177.72.236'),(7349,'1753804955','185.177.72.236'),(7350,'1753804955','185.177.72.236'),(7351,'1753804956','185.177.72.236'),(7352,'1753804957','185.177.72.236'),(7353,'1753804957','185.177.72.236'),(7354,'1753804958','185.177.72.236'),(7355,'1753804958','185.177.72.236'),(7356,'1753804959','185.177.72.236'),(7357,'1753804960','185.177.72.236'),(7358,'1753804960','185.177.72.236'),(7359,'1753804961','185.177.72.236'),(7360,'1753804961','185.177.72.236'),(7361,'1753804962','185.177.72.236'),(7362,'1753804962','185.177.72.236'),(7363,'1753804964','185.177.72.236'),(7364,'1753804965','185.177.72.236'),(7365,'1753804965','185.177.72.236'),(7366,'1753804966','185.177.72.236'),(7367,'1753804966','185.177.72.236'),(7368,'1753804968','185.177.72.236'),(7369,'1753804969','185.177.72.236'),(7370,'1753804970','185.177.72.236'),(7371,'1753804972','185.177.72.236'),(7372,'1753804972','185.177.72.236'),(7373,'1753804973','185.177.72.236'),(7374,'1753804973','185.177.72.236'),(7375,'1753804974','185.177.72.236'),(7376,'1753804974','185.177.72.236'),(7377,'1753804975','185.177.72.236'),(7378,'1753804976','185.177.72.236'),(7379,'1753804976','185.177.72.236'),(7380,'1753804977','185.177.72.236'),(7381,'1753804978','185.177.72.236'),(7382,'1753804978','185.177.72.236'),(7383,'1753804979','185.177.72.236'),(7384,'1753804980','185.177.72.236'),(7385,'1753804980','185.177.72.236'),(7386,'1753804980','185.177.72.236'),(7387,'1753804981','185.177.72.236'),(7388,'1753804982','185.177.72.236'),(7389,'1753804982','185.177.72.236'),(7390,'1753804983','185.177.72.236'),(7391,'1753804984','185.177.72.236'),(7392,'1753804985','185.177.72.236'),(7393,'1753804985','185.177.72.236'),(7394,'1753804986','185.177.72.236'),(7395,'1753804987','185.177.72.236'),(7396,'1753804987','185.177.72.236'),(7397,'1753804989','185.177.72.236'),(7398,'1753804990','185.177.72.236'),(7399,'1753804990','185.177.72.236'),(7400,'1753804992','185.177.72.236'),(7401,'1753804992','185.177.72.236'),(7402,'1753804993','185.177.72.236'),(7403,'1753804994','185.177.72.236'),(7404,'1753804995','185.177.72.236'),(7405,'1753804995','185.177.72.236'),(7406,'1753804995','185.177.72.236'),(7407,'1753804995','185.177.72.236'),(7408,'1753804996','185.177.72.236'),(7409,'1753804996','185.177.72.236'),(7410,'1753804997','185.177.72.236'),(7411,'1753804997','185.177.72.236'),(7412,'1753804997','185.177.72.236'),(7413,'1753804998','185.177.72.236'),(7414,'1753804998','185.177.72.236'),(7415,'1753804999','185.177.72.236'),(7416,'1753804999','185.177.72.236'),(7417,'1753804999','185.177.72.236'),(7418,'1753805000','185.177.72.236'),(7419,'1753805001','185.177.72.236'),(7420,'1753805002','185.177.72.236'),(7421,'1753805003','185.177.72.236'),(7422,'1753805004','185.177.72.236'),(7423,'1753805004','185.177.72.236'),(7424,'1753805004','185.177.72.236'),(7425,'1753805005','185.177.72.236'),(7426,'1753807305','198.55.98.182'),(7427,'1753807305','67.222.45.11'),(7428,'1753822013','161.35.152.49'),(7429,'1753822013','67.222.45.11'),(7430,'1753895702','146.70.185.32'),(7431,'1753895702','67.222.45.11'),(7432,'1753895750','35.233.154.113'),(7433,'1753923424','91.231.89.39'),(7434,'1753923425','67.222.45.11'),(7435,'1753923746','91.196.152.46'),(7436,'1753924863','185.177.72.24'),(7437,'1753926877','51.254.49.100'),(7438,'1753926877','67.222.45.11'),(7439,'1753929785','93.123.109.64'),(7440,'1753929785','67.222.45.11'),(7441,'1753930764','51.254.49.111'),(7442,'1753941479','35.94.177.95'),(7443,'1753941480','67.222.45.11'),(7444,'1753941497','35.94.177.95'),(7445,'1753941497','35.94.177.95'),(7446,'1753941498','35.94.177.95'),(7447,'1753941498','35.94.177.95'),(7448,'1753941498','35.94.177.95'),(7449,'1753941500','35.94.177.95'),(7450,'1753941502','35.94.177.95'),(7451,'1753979228','34.81.151.209'),(7452,'1753979228','67.222.45.11'),(7453,'1753986952','47.82.11.67'),(7454,'1753986953','67.222.45.11'),(7455,'1753989097','198.55.98.68'),(7456,'1753989135','198.55.98.68'),(7457,'1753989135','198.55.98.68'),(7458,'1753989135','198.55.98.68'),(7459,'1753989135','198.55.98.68'),(7460,'1753989136','198.55.98.68'),(7461,'1753993987','24.144.100.151'),(7462,'1753993987','67.222.45.11'),(7463,'1754016966','213.209.143.116'),(7464,'1754016966','67.222.45.11'),(7465,'1754018616','195.178.110.157'),(7466,'1754045933','138.246.253.24'),(7467,'1754045933','67.222.45.11'),(7468,'1754050185','198.55.98.182'),(7469,'1754050185','67.222.45.11'),(7470,'1754058729','185.177.72.23'),(7471,'1754058729','67.222.45.11'),(7472,'1754058731','185.177.72.23'),(7473,'1754064446','185.177.72.30'),(7474,'1754064447','67.222.45.11'),(7475,'1754064448','185.177.72.30'),(7476,'1754065958','185.177.72.111'),(7477,'1754065958','185.177.72.111'),(7478,'1754065959','185.177.72.111'),(7479,'1754065959','185.177.72.111'),(7480,'1754065959','185.177.72.111'),(7481,'1754065960','185.177.72.111'),(7482,'1754065961','185.177.72.111'),(7483,'1754065962','185.177.72.111'),(7484,'1754065962','185.177.72.111'),(7485,'1754065962','185.177.72.111'),(7486,'1754065963','185.177.72.111'),(7487,'1754065964','185.177.72.111'),(7488,'1754065964','185.177.72.111'),(7489,'1754065965','185.177.72.111'),(7490,'1754065965','185.177.72.111'),(7491,'1754065965','185.177.72.111'),(7492,'1754065966','185.177.72.111'),(7493,'1754065966','185.177.72.111'),(7494,'1754065966','185.177.72.111'),(7495,'1754065972','185.177.72.111'),(7496,'1754065973','185.177.72.111'),(7497,'1754065973','185.177.72.111'),(7498,'1754065973','185.177.72.111'),(7499,'1754065974','185.177.72.111'),(7500,'1754065974','185.177.72.111'),(7501,'1754065974','185.177.72.111'),(7502,'1754065975','185.177.72.111'),(7503,'1754065975','185.177.72.111'),(7504,'1754065975','185.177.72.111'),(7505,'1754065976','185.177.72.111'),(7506,'1754065976','185.177.72.111'),(7507,'1754065976','185.177.72.111'),(7508,'1754065977','185.177.72.111'),(7509,'1754065977','185.177.72.111'),(7510,'1754065978','185.177.72.111'),(7511,'1754065978','185.177.72.111'),(7512,'1754065978','185.177.72.111'),(7513,'1754065979','185.177.72.111'),(7514,'1754065979','185.177.72.111'),(7515,'1754065979','185.177.72.111'),(7516,'1754065980','185.177.72.111'),(7517,'1754065980','185.177.72.111'),(7518,'1754065981','185.177.72.111'),(7519,'1754065981','185.177.72.111'),(7520,'1754065982','185.177.72.111'),(7521,'1754065982','185.177.72.111'),(7522,'1754065983','185.177.72.111'),(7523,'1754065984','185.177.72.111'),(7524,'1754065984','185.177.72.111'),(7525,'1754065984','185.177.72.111'),(7526,'1754065985','185.177.72.111'),(7527,'1754065985','185.177.72.111'),(7528,'1754065985','185.177.72.111'),(7529,'1754065986','185.177.72.111'),(7530,'1754065986','185.177.72.111'),(7531,'1754065986','185.177.72.111'),(7532,'1754065986','185.177.72.111'),(7533,'1754065987','185.177.72.111'),(7534,'1754065987','185.177.72.111'),(7535,'1754065987','185.177.72.111'),(7536,'1754065988','185.177.72.111'),(7537,'1754065988','185.177.72.111'),(7538,'1754065988','185.177.72.111'),(7539,'1754065989','185.177.72.111'),(7540,'1754065989','185.177.72.111'),(7541,'1754065989','185.177.72.111'),(7542,'1754065990','185.177.72.111'),(7543,'1754065990','185.177.72.111'),(7544,'1754065990','185.177.72.111'),(7545,'1754065991','185.177.72.111'),(7546,'1754065991','185.177.72.111'),(7547,'1754065991','185.177.72.111'),(7548,'1754065992','185.177.72.111'),(7549,'1754065992','185.177.72.111'),(7550,'1754065992','185.177.72.111'),(7551,'1754065993','185.177.72.111'),(7552,'1754065993','185.177.72.111'),(7553,'1754065993','185.177.72.111'),(7554,'1754067618','34.31.29.28'),(7555,'1754067618','67.222.45.11'),(7556,'1754077088','34.9.235.169'),(7557,'1754077088','67.222.45.11'),(7558,'1754084583','34.31.29.28'),(7559,'1754084584','67.222.45.11'),(7560,'1754098288','196.251.88.59'),(7561,'1754098288','67.222.45.11'),(7562,'1754098292','196.251.88.59'),(7563,'1754098292','67.222.45.11'),(7564,'1754098293','67.222.45.11'),(7565,'1754098293','67.222.45.11'),(7566,'1754098293','67.222.45.11'),(7567,'1754098293','67.222.45.11'),(7568,'1754098368','196.251.88.59'),(7569,'1754115630','196.251.88.64'),(7570,'1754115631','67.222.45.11'),(7571,'1754115662','196.251.88.64'),(7572,'1754115662','196.251.88.64'),(7573,'1754115662','196.251.88.64'),(7574,'1754115662','196.251.88.64'),(7575,'1754115663','196.251.88.64'),(7576,'1754115663','196.251.88.64'),(7577,'1754115664','196.251.88.64'),(7578,'1754115692','196.251.88.64'),(7579,'1754115692','196.251.88.64'),(7580,'1754115692','196.251.88.64'),(7581,'1754115692','196.251.88.64'),(7582,'1754115692','196.251.88.64'),(7583,'1754115692','196.251.88.64'),(7584,'1754115692','196.251.88.64'),(7585,'1754119929','196.251.88.64'),(7586,'1754119929','67.222.45.11'),(7587,'1754119951','196.251.88.64'),(7588,'1754119951','196.251.88.64'),(7589,'1754119951','196.251.88.64'),(7590,'1754119951','196.251.88.64'),(7591,'1754119952','196.251.88.64'),(7592,'1754119952','196.251.88.64'),(7593,'1754119953','196.251.88.64'),(7594,'1754119981','196.251.88.64'),(7595,'1754119981','196.251.88.64'),(7596,'1754119982','196.251.88.64'),(7597,'1754119982','196.251.88.64'),(7598,'1754119982','196.251.88.64'),(7599,'1754119982','196.251.88.64'),(7600,'1754119982','196.251.88.64'),(7601,'1754124117','196.251.88.64'),(7602,'1754124117','67.222.45.11'),(7603,'1754124137','196.251.88.64'),(7604,'1754124137','196.251.88.64'),(7605,'1754124138','196.251.88.64'),(7606,'1754124138','196.251.88.64'),(7607,'1754124138','196.251.88.64'),(7608,'1754124138','196.251.88.64'),(7609,'1754124139','196.251.88.64'),(7610,'1754124165','196.251.88.64'),(7611,'1754124166','196.251.88.64'),(7612,'1754124166','196.251.88.64'),(7613,'1754124166','196.251.88.64'),(7614,'1754124166','196.251.88.64'),(7615,'1754124166','196.251.88.64'),(7616,'1754124168','196.251.88.64'),(7617,'1754158094','185.177.72.201'),(7618,'1754158094','67.222.45.11'),(7619,'1754311126','159.223.63.24'),(7620,'1754311126','67.222.45.11'),(7621,'1754311127','159.223.63.24'),(7622,'1754373775','185.177.72.202'),(7623,'1754373775','67.222.45.11'),(7624,'1754373775','185.177.72.202'),(7625,'1754378583','104.131.189.100'),(7626,'1754378584','67.222.45.11'),(7627,'1754388860','205.210.31.106'),(7628,'1754388860','67.222.45.11'),(7629,'1754395773','205.210.31.60'),(7630,'1754395773','67.222.45.11'),(7631,'1754432138','185.177.72.106'),(7632,'1754432139','67.222.45.11'),(7633,'1754432139','185.177.72.106'),(7634,'1754432140','185.177.72.106'),(7635,'1754432140','185.177.72.106'),(7636,'1754432140','185.177.72.106'),(7637,'1754432141','185.177.72.106'),(7638,'1754432141','185.177.72.106'),(7639,'1754432141','185.177.72.106'),(7640,'1754432142','185.177.72.106'),(7641,'1754432142','185.177.72.106'),(7642,'1754432143','185.177.72.106'),(7643,'1754432143','185.177.72.106'),(7644,'1754432144','185.177.72.106'),(7645,'1754432145','185.177.72.106'),(7646,'1754432145','185.177.72.106'),(7647,'1754432145','185.177.72.106'),(7648,'1754432146','185.177.72.106'),(7649,'1754432146','185.177.72.106'),(7650,'1754432146','185.177.72.106'),(7651,'1754432147','185.177.72.106'),(7652,'1754432153','185.177.72.106'),(7653,'1754432154','185.177.72.106'),(7654,'1754432154','185.177.72.106'),(7655,'1754432154','185.177.72.106'),(7656,'1754432155','185.177.72.106'),(7657,'1754432155','185.177.72.106'),(7658,'1754432155','185.177.72.106'),(7659,'1754432156','185.177.72.106'),(7660,'1754432156','185.177.72.106'),(7661,'1754432156','185.177.72.106'),(7662,'1754432157','185.177.72.106'),(7663,'1754432157','185.177.72.106'),(7664,'1754432157','185.177.72.106'),(7665,'1754432158','185.177.72.106'),(7666,'1754432158','185.177.72.106'),(7667,'1754432159','185.177.72.106'),(7668,'1754432159','185.177.72.106'),(7669,'1754432159','185.177.72.106'),(7670,'1754432160','185.177.72.106'),(7671,'1754432160','185.177.72.106'),(7672,'1754432160','185.177.72.106'),(7673,'1754432161','185.177.72.106'),(7674,'1754432161','185.177.72.106'),(7675,'1754432162','185.177.72.106'),(7676,'1754432163','185.177.72.106'),(7677,'1754432163','185.177.72.106'),(7678,'1754432163','185.177.72.106'),(7679,'1754432164','185.177.72.106'),(7680,'1754432165','185.177.72.106'),(7681,'1754432165','185.177.72.106'),(7682,'1754432165','185.177.72.106'),(7683,'1754432166','185.177.72.106'),(7684,'1754432166','185.177.72.106'),(7685,'1754432166','185.177.72.106'),(7686,'1754432166','185.177.72.106'),(7687,'1754432167','185.177.72.106'),(7688,'1754432167','185.177.72.106'),(7689,'1754432167','185.177.72.106'),(7690,'1754432168','185.177.72.106'),(7691,'1754432168','185.177.72.106'),(7692,'1754432168','185.177.72.106'),(7693,'1754432169','185.177.72.106'),(7694,'1754432169','185.177.72.106'),(7695,'1754432169','185.177.72.106'),(7696,'1754432170','185.177.72.106'),(7697,'1754432170','185.177.72.106'),(7698,'1754432170','185.177.72.106'),(7699,'1754432171','185.177.72.106'),(7700,'1754432171','185.177.72.106'),(7701,'1754432171','185.177.72.106'),(7702,'1754432171','185.177.72.106'),(7703,'1754432172','185.177.72.106'),(7704,'1754432172','185.177.72.106'),(7705,'1754432173','185.177.72.106'),(7706,'1754432173','185.177.72.106'),(7707,'1754432173','185.177.72.106'),(7708,'1754432173','185.177.72.106'),(7709,'1754432174','185.177.72.106'),(7710,'1754432174','185.177.72.106'),(7711,'1754477083','185.177.72.205'),(7712,'1754477084','67.222.45.11'),(7713,'1754568748','81.29.134.51'),(7714,'1754568748','67.222.45.11'),(7715,'1754570783','162.142.125.221'),(7716,'1754570783','67.222.45.11'),(7717,'1754570832','162.142.125.221'),(7718,'1754588144','47.82.11.113'),(7719,'1754588144','67.222.45.11'),(7720,'1754592029','185.177.72.144'),(7721,'1754592029','67.222.45.11'),(7722,'1754592031','185.177.72.144'),(7723,'1754592031','185.177.72.144'),(7724,'1754592032','185.177.72.144'),(7725,'1754592032','185.177.72.144'),(7726,'1754592033','185.177.72.144'),(7727,'1754592033','185.177.72.144'),(7728,'1754592034','185.177.72.144'),(7729,'1754592034','185.177.72.144'),(7730,'1754592034','185.177.72.144'),(7731,'1754592035','185.177.72.144'),(7732,'1754592035','185.177.72.144'),(7733,'1754592035','185.177.72.144'),(7734,'1754592036','185.177.72.144'),(7735,'1754592036','185.177.72.144'),(7736,'1754592037','185.177.72.144'),(7737,'1754592037','185.177.72.144'),(7738,'1754592037','185.177.72.144'),(7739,'1754592038','185.177.72.144'),(7740,'1754592038','185.177.72.144'),(7741,'1754592038','185.177.72.144'),(7742,'1754592039','185.177.72.144'),(7743,'1754592039','185.177.72.144'),(7744,'1754592039','185.177.72.144'),(7745,'1754592040','185.177.72.144'),(7746,'1754592040','185.177.72.144'),(7747,'1754592041','185.177.72.144'),(7748,'1754592041','185.177.72.144'),(7749,'1754592042','185.177.72.144'),(7750,'1754592042','185.177.72.144'),(7751,'1754592042','185.177.72.144'),(7752,'1754592043','185.177.72.144'),(7753,'1754592043','185.177.72.144'),(7754,'1754592043','185.177.72.144'),(7755,'1754592044','185.177.72.144'),(7756,'1754592044','185.177.72.144'),(7757,'1754592045','185.177.72.144'),(7758,'1754592045','185.177.72.144'),(7759,'1754592046','185.177.72.144'),(7760,'1754592046','185.177.72.144'),(7761,'1754592048','185.177.72.144'),(7762,'1754592048','185.177.72.144'),(7763,'1754592049','185.177.72.144'),(7764,'1754592049','185.177.72.144'),(7765,'1754592049','185.177.72.144'),(7766,'1754592050','185.177.72.144'),(7767,'1754592050','185.177.72.144'),(7768,'1754592051','185.177.72.144'),(7769,'1754592051','185.177.72.144'),(7770,'1754592052','185.177.72.144'),(7771,'1754592052','185.177.72.144'),(7772,'1754592052','185.177.72.144'),(7773,'1754592058','185.177.72.144'),(7774,'1754592058','185.177.72.144'),(7775,'1754592059','185.177.72.144'),(7776,'1754592060','185.177.72.144'),(7777,'1754592060','185.177.72.144'),(7778,'1754592061','185.177.72.144'),(7779,'1754592061','185.177.72.144'),(7780,'1754592061','185.177.72.144'),(7781,'1754592062','185.177.72.144'),(7782,'1754592062','185.177.72.144'),(7783,'1754592063','185.177.72.144'),(7784,'1754592063','185.177.72.144'),(7785,'1754592064','185.177.72.144'),(7786,'1754592064','185.177.72.144'),(7787,'1754592065','185.177.72.144'),(7788,'1754592065','185.177.72.144'),(7789,'1754592065','185.177.72.144'),(7790,'1754592066','185.177.72.144'),(7791,'1754592066','185.177.72.144'),(7792,'1754592066','185.177.72.144'),(7793,'1754592067','185.177.72.144'),(7794,'1754592067','185.177.72.144'),(7795,'1754592067','185.177.72.144'),(7796,'1754592068','185.177.72.144'),(7797,'1754592069','185.177.72.144'),(7798,'1754592069','185.177.72.144'),(7799,'1754592071','185.177.72.144'),(7800,'1754592072','185.177.72.144'),(7801,'1754592072','185.177.72.144'),(7802,'1754592073','185.177.72.144'),(7803,'1754592073','185.177.72.144'),(7804,'1754592073','185.177.72.144'),(7805,'1754592073','185.177.72.144'),(7806,'1754592074','185.177.72.144'),(7807,'1754592074','185.177.72.144'),(7808,'1754592075','185.177.72.144'),(7809,'1754592075','185.177.72.144'),(7810,'1754592076','185.177.72.144'),(7811,'1754592077','185.177.72.144'),(7812,'1754592078','185.177.72.144'),(7813,'1754592078','185.177.72.144'),(7814,'1754592079','185.177.72.144'),(7815,'1754592080','185.177.72.144'),(7816,'1754592080','185.177.72.144'),(7817,'1754592086','185.177.72.144'),(7818,'1754592087','185.177.72.144'),(7819,'1754592088','185.177.72.144'),(7820,'1754592088','185.177.72.144'),(7821,'1754592089','185.177.72.144'),(7822,'1754592089','185.177.72.144'),(7823,'1754592090','185.177.72.144'),(7824,'1754592091','185.177.72.144'),(7825,'1754592091','185.177.72.144'),(7826,'1754592092','185.177.72.144'),(7827,'1754592092','185.177.72.144'),(7828,'1754592093','185.177.72.144'),(7829,'1754592093','185.177.72.144'),(7830,'1754592094','185.177.72.144'),(7831,'1754592094','185.177.72.144'),(7832,'1754592095','185.177.72.144'),(7833,'1754592096','185.177.72.144'),(7834,'1754592096','185.177.72.144'),(7835,'1754592096','185.177.72.144'),(7836,'1754592097','185.177.72.144'),(7837,'1754592097','185.177.72.144'),(7838,'1754592099','185.177.72.144'),(7839,'1754592099','185.177.72.144'),(7840,'1754592100','185.177.72.144'),(7841,'1754592101','185.177.72.144'),(7842,'1754592101','185.177.72.144'),(7843,'1754592107','185.177.72.144'),(7844,'1754592108','185.177.72.144'),(7845,'1754592108','185.177.72.144'),(7846,'1754592108','185.177.72.144'),(7847,'1754592109','185.177.72.144'),(7848,'1754592109','185.177.72.144'),(7849,'1754592109','185.177.72.144'),(7850,'1754592110','185.177.72.144'),(7851,'1754592110','185.177.72.144'),(7852,'1754592110','185.177.72.144'),(7853,'1754592111','185.177.72.144'),(7854,'1754592111','185.177.72.144'),(7855,'1754592111','185.177.72.144'),(7856,'1754592112','185.177.72.144'),(7857,'1754592112','185.177.72.144'),(7858,'1754592113','185.177.72.144'),(7859,'1754592114','185.177.72.144'),(7860,'1754592115','185.177.72.144'),(7861,'1754592115','185.177.72.144'),(7862,'1754592115','185.177.72.144'),(7863,'1754592116','185.177.72.144'),(7864,'1754592116','185.177.72.144'),(7865,'1754592117','185.177.72.144'),(7866,'1754592117','185.177.72.144'),(7867,'1754592118','185.177.72.144'),(7868,'1754592118','185.177.72.144'),(7869,'1754592119','185.177.72.144'),(7870,'1754592119','185.177.72.144'),(7871,'1754592119','185.177.72.144'),(7872,'1754592120','185.177.72.144'),(7873,'1754592121','185.177.72.144'),(7874,'1754592122','185.177.72.144'),(7875,'1754592122','185.177.72.144'),(7876,'1754592123','185.177.72.144'),(7877,'1754592123','185.177.72.144'),(7878,'1754592124','185.177.72.144'),(7879,'1754592125','185.177.72.144'),(7880,'1754592126','185.177.72.144'),(7881,'1754592126','185.177.72.144'),(7882,'1754592127','185.177.72.144'),(7883,'1754592127','185.177.72.144'),(7884,'1754592128','185.177.72.144'),(7885,'1754592128','185.177.72.144'),(7886,'1754592128','185.177.72.144'),(7887,'1754592129','185.177.72.144'),(7888,'1754592129','185.177.72.144'),(7889,'1754592130','185.177.72.144'),(7890,'1754592130','185.177.72.144'),(7891,'1754592130','185.177.72.144'),(7892,'1754592131','185.177.72.144'),(7893,'1754592132','185.177.72.144'),(7894,'1754592139','185.177.72.144'),(7895,'1754592141','185.177.72.144'),(7896,'1754592141','185.177.72.144'),(7897,'1754592142','185.177.72.144'),(7898,'1754592142','185.177.72.144'),(7899,'1754592143','185.177.72.144'),(7900,'1754592143','185.177.72.144'),(7901,'1754592143','185.177.72.144'),(7902,'1754592144','185.177.72.144'),(7903,'1754592144','185.177.72.144'),(7904,'1754592145','185.177.72.144'),(7905,'1754592145','185.177.72.144'),(7906,'1754592145','185.177.72.144'),(7907,'1754592146','185.177.72.144'),(7908,'1754592146','185.177.72.144'),(7909,'1754592147','185.177.72.144'),(7910,'1754592147','185.177.72.144'),(7911,'1754592147','185.177.72.144'),(7912,'1754592148','185.177.72.144'),(7913,'1754592148','185.177.72.144'),(7914,'1754592149','185.177.72.144'),(7915,'1754592150','185.177.72.144'),(7916,'1754592150','185.177.72.144'),(7917,'1754592150','185.177.72.144'),(7918,'1754592151','185.177.72.144'),(7919,'1754592151','185.177.72.144'),(7920,'1754592152','185.177.72.144'),(7921,'1754592152','185.177.72.144'),(7922,'1754592156','185.177.72.144'),(7923,'1754592157','185.177.72.144'),(7924,'1754592157','185.177.72.144'),(7925,'1754592158','185.177.72.144'),(7926,'1754592158','185.177.72.144'),(7927,'1754592158','185.177.72.144'),(7928,'1754592159','185.177.72.144'),(7929,'1754592160','185.177.72.144'),(7930,'1754592161','185.177.72.144'),(7931,'1754592161','185.177.72.144'),(7932,'1754592162','185.177.72.144'),(7933,'1754592162','185.177.72.144'),(7934,'1754592162','185.177.72.144'),(7935,'1754592163','185.177.72.144'),(7936,'1754592163','185.177.72.144'),(7937,'1754592164','185.177.72.144'),(7938,'1754592164','185.177.72.144'),(7939,'1754592166','185.177.72.144'),(7940,'1754592167','185.177.72.144'),(7941,'1754592167','185.177.72.144'),(7942,'1754592168','185.177.72.144'),(7943,'1754592168','185.177.72.144'),(7944,'1754592169','185.177.72.144'),(7945,'1754592170','185.177.72.144'),(7946,'1754592170','185.177.72.144'),(7947,'1754592170','185.177.72.144'),(7948,'1754592171','185.177.72.144'),(7949,'1754592177','185.177.72.144'),(7950,'1754592178','185.177.72.144'),(7951,'1754592179','185.177.72.144'),(7952,'1754592179','185.177.72.144'),(7953,'1754592180','185.177.72.144'),(7954,'1754592180','185.177.72.144'),(7955,'1754592180','185.177.72.144'),(7956,'1754592181','185.177.72.144'),(7957,'1754592181','185.177.72.144'),(7958,'1754592182','185.177.72.144'),(7959,'1754592182','185.177.72.144'),(7960,'1754592182','185.177.72.144'),(7961,'1754592183','185.177.72.144'),(7962,'1754592183','185.177.72.144'),(7963,'1754592183','185.177.72.144'),(7964,'1754592184','185.177.72.144'),(7965,'1754592184','185.177.72.144'),(7966,'1754592185','185.177.72.144'),(7967,'1754592185','185.177.72.144'),(7968,'1754592187','185.177.72.144'),(7969,'1754592195','185.177.72.144'),(7970,'1754592204','185.177.72.144'),(7971,'1754592205','185.177.72.144'),(7972,'1754592205','185.177.72.144'),(7973,'1754592206','185.177.72.144'),(7974,'1754592208','185.177.72.144'),(7975,'1754592208','185.177.72.144'),(7976,'1754592209','185.177.72.144'),(7977,'1754592209','185.177.72.144'),(7978,'1754592210','185.177.72.144'),(7979,'1754592211','185.177.72.144'),(7980,'1754592211','185.177.72.144'),(7981,'1754592212','185.177.72.144'),(7982,'1754592213','185.177.72.144'),(7983,'1754592213','185.177.72.144'),(7984,'1754592214','185.177.72.144'),(7985,'1754592214','185.177.72.144'),(7986,'1754592215','185.177.72.144'),(7987,'1754592216','185.177.72.144'),(7988,'1754592216','185.177.72.144'),(7989,'1754592217','185.177.72.144'),(7990,'1754592222','185.177.72.144'),(7991,'1754592224','185.177.72.144'),(7992,'1754592224','185.177.72.144'),(7993,'1754592225','185.177.72.144'),(7994,'1754592225','185.177.72.144'),(7995,'1754592225','185.177.72.144'),(7996,'1754592226','185.177.72.144'),(7997,'1754592226','185.177.72.144'),(7998,'1754592226','185.177.72.144'),(7999,'1754592227','185.177.72.144'),(8000,'1754592227','185.177.72.144'),(8001,'1754592228','185.177.72.144'),(8002,'1754592228','185.177.72.144'),(8003,'1754592229','185.177.72.144'),(8004,'1754592229','185.177.72.144'),(8005,'1754592229','185.177.72.144'),(8006,'1754592230','185.177.72.144'),(8007,'1754592230','185.177.72.144'),(8008,'1754592230','185.177.72.144'),(8009,'1754592231','185.177.72.144'),(8010,'1754592231','185.177.72.144'),(8011,'1754592231','185.177.72.144'),(8012,'1754592232','185.177.72.144'),(8013,'1754592232','185.177.72.144'),(8014,'1754592233','185.177.72.144'),(8015,'1754592233','185.177.72.144'),(8016,'1754592233','185.177.72.144'),(8017,'1754592234','185.177.72.144'),(8018,'1754592234','185.177.72.144'),(8019,'1754592234','185.177.72.144'),(8020,'1754592234','185.177.72.144'),(8021,'1754592235','185.177.72.144'),(8022,'1754592235','185.177.72.144'),(8023,'1754592235','185.177.72.144'),(8024,'1754592236','185.177.72.144'),(8025,'1754592236','185.177.72.144'),(8026,'1754592237','185.177.72.144'),(8027,'1754592237','185.177.72.144'),(8028,'1754592237','185.177.72.144'),(8029,'1754592238','185.177.72.144'),(8030,'1754592238','185.177.72.144'),(8031,'1754592238','185.177.72.144'),(8032,'1754592239','185.177.72.144'),(8033,'1754592239','185.177.72.144'),(8034,'1754592239','185.177.72.144'),(8035,'1754592240','185.177.72.144'),(8036,'1754592240','185.177.72.144'),(8037,'1754592240','185.177.72.144'),(8038,'1754592241','185.177.72.144'),(8039,'1754592241','185.177.72.144'),(8040,'1754592241','185.177.72.144'),(8041,'1754592242','185.177.72.144'),(8042,'1754592242','185.177.72.144'),(8043,'1754592242','185.177.72.144'),(8044,'1754592243','185.177.72.144'),(8045,'1754592243','185.177.72.144'),(8046,'1754592244','185.177.72.144'),(8047,'1754592244','185.177.72.144'),(8048,'1754592244','185.177.72.144'),(8049,'1754592245','185.177.72.144'),(8050,'1754592245','185.177.72.144'),(8051,'1754592246','185.177.72.144'),(8052,'1754592246','185.177.72.144'),(8053,'1754592246','185.177.72.144'),(8054,'1754592247','185.177.72.144'),(8055,'1754592247','185.177.72.144'),(8056,'1754592247','185.177.72.144'),(8057,'1754592248','185.177.72.144'),(8058,'1754592248','185.177.72.144'),(8059,'1754592248','185.177.72.144'),(8060,'1754592249','185.177.72.144'),(8061,'1754592249','185.177.72.144'),(8062,'1754592249','185.177.72.144'),(8063,'1754592250','185.177.72.144'),(8064,'1754592250','185.177.72.144'),(8065,'1754592250','185.177.72.144'),(8066,'1754592250','185.177.72.144'),(8067,'1754592251','185.177.72.144'),(8068,'1754592251','185.177.72.144'),(8069,'1754592252','185.177.72.144'),(8070,'1754592252','185.177.72.144'),(8071,'1754592252','185.177.72.144'),(8072,'1754592253','185.177.72.144'),(8073,'1754592253','185.177.72.144'),(8074,'1754592254','185.177.72.144'),(8075,'1754592254','185.177.72.144'),(8076,'1754592255','185.177.72.144'),(8077,'1754592255','185.177.72.144'),(8078,'1754592256','185.177.72.144'),(8079,'1754592256','185.177.72.144'),(8080,'1754592256','185.177.72.144'),(8081,'1754592257','185.177.72.144'),(8082,'1754592258','185.177.72.144'),(8083,'1754592258','185.177.72.144'),(8084,'1754592259','185.177.72.144'),(8085,'1754592260','185.177.72.144'),(8086,'1754592260','185.177.72.144'),(8087,'1754592261','185.177.72.144'),(8088,'1754592261','185.177.72.144'),(8089,'1754592262','185.177.72.144'),(8090,'1754592262','185.177.72.144'),(8091,'1754592263','185.177.72.144'),(8092,'1754592263','185.177.72.144'),(8093,'1754592263','185.177.72.144'),(8094,'1754592264','185.177.72.144'),(8095,'1754592264','185.177.72.144'),(8096,'1754592265','185.177.72.144'),(8097,'1754592267','185.177.72.144'),(8098,'1754592268','185.177.72.144'),(8099,'1754592269','185.177.72.144'),(8100,'1754592269','185.177.72.144'),(8101,'1754592269','185.177.72.144'),(8102,'1754592270','185.177.72.144'),(8103,'1754592270','185.177.72.144'),(8104,'1754592271','185.177.72.144'),(8105,'1754592271','185.177.72.144'),(8106,'1754592271','185.177.72.144'),(8107,'1754592272','185.177.72.144'),(8108,'1754592272','185.177.72.144'),(8109,'1754592273','185.177.72.144'),(8110,'1754592273','185.177.72.144'),(8111,'1754592274','185.177.72.144'),(8112,'1754592274','185.177.72.144'),(8113,'1754592274','185.177.72.144'),(8114,'1754592274','185.177.72.144'),(8115,'1754592275','185.177.72.144'),(8116,'1754592276','185.177.72.144'),(8117,'1754592276','185.177.72.144'),(8118,'1754592277','185.177.72.144'),(8119,'1754592278','185.177.72.144'),(8120,'1754592278','185.177.72.144'),(8121,'1754592279','185.177.72.144'),(8122,'1754592279','185.177.72.144'),(8123,'1754592280','185.177.72.144'),(8124,'1754592280','185.177.72.144'),(8125,'1754592281','185.177.72.144'),(8126,'1754592281','185.177.72.144'),(8127,'1754592281','185.177.72.144'),(8128,'1754592282','185.177.72.144'),(8129,'1754592282','185.177.72.144'),(8130,'1754592283','185.177.72.144'),(8131,'1754592283','185.177.72.144'),(8132,'1754592283','185.177.72.144'),(8133,'1754592284','185.177.72.144'),(8134,'1754592284','185.177.72.144'),(8135,'1754592284','185.177.72.144'),(8136,'1754592285','185.177.72.144'),(8137,'1754592285','185.177.72.144'),(8138,'1754592285','185.177.72.144'),(8139,'1754592286','185.177.72.144'),(8140,'1754592287','185.177.72.144'),(8141,'1754592287','185.177.72.144'),(8142,'1754592287','185.177.72.144'),(8143,'1754592288','185.177.72.144'),(8144,'1754592288','185.177.72.144'),(8145,'1754592288','185.177.72.144'),(8146,'1754592289','185.177.72.144'),(8147,'1754592289','185.177.72.144'),(8148,'1754592289','185.177.72.144'),(8149,'1754592290','185.177.72.144'),(8150,'1754592290','185.177.72.144'),(8151,'1754592290','185.177.72.144'),(8152,'1754592291','185.177.72.144'),(8153,'1754592291','185.177.72.144'),(8154,'1754592292','185.177.72.144'),(8155,'1754592292','185.177.72.144'),(8156,'1754592292','185.177.72.144'),(8157,'1754592293','185.177.72.144'),(8158,'1754592293','185.177.72.144'),(8159,'1754592293','185.177.72.144'),(8160,'1754592294','185.177.72.144'),(8161,'1754592294','185.177.72.144'),(8162,'1754592294','185.177.72.144'),(8163,'1754592295','185.177.72.144'),(8164,'1754592295','185.177.72.144'),(8165,'1754592296','185.177.72.144'),(8166,'1754592296','185.177.72.144'),(8167,'1754592297','185.177.72.144'),(8168,'1754592297','185.177.72.144'),(8169,'1754592297','185.177.72.144'),(8170,'1754592297','185.177.72.144'),(8171,'1754592298','185.177.72.144'),(8172,'1754592298','185.177.72.144'),(8173,'1754592299','185.177.72.144'),(8174,'1754592299','185.177.72.144'),(8175,'1754592299','185.177.72.144'),(8176,'1754592300','185.177.72.144'),(8177,'1754592300','185.177.72.144'),(8178,'1754592300','185.177.72.144'),(8179,'1754592301','185.177.72.144'),(8180,'1754592301','185.177.72.144'),(8181,'1754592301','185.177.72.144'),(8182,'1754592302','185.177.72.144'),(8183,'1754592302','185.177.72.144'),(8184,'1754592303','185.177.72.144'),(8185,'1754592303','185.177.72.144'),(8186,'1754592304','185.177.72.144'),(8187,'1754592304','185.177.72.144'),(8188,'1754592304','185.177.72.144'),(8189,'1754592305','185.177.72.144'),(8190,'1754592305','185.177.72.144'),(8191,'1754592305','185.177.72.144'),(8192,'1754592306','185.177.72.144'),(8193,'1754592306','185.177.72.144'),(8194,'1754592306','185.177.72.144'),(8195,'1754592307','185.177.72.144'),(8196,'1754592307','185.177.72.144'),(8197,'1754592307','185.177.72.144'),(8198,'1754592308','185.177.72.144'),(8199,'1754592308','185.177.72.144'),(8200,'1754592308','185.177.72.144'),(8201,'1754592309','185.177.72.144'),(8202,'1754592309','185.177.72.144'),(8203,'1754592309','185.177.72.144'),(8204,'1754592309','185.177.72.144'),(8205,'1754592310','185.177.72.144'),(8206,'1754592310','185.177.72.144'),(8207,'1754592310','185.177.72.144'),(8208,'1754592311','185.177.72.144'),(8209,'1754592311','185.177.72.144'),(8210,'1754592312','185.177.72.144'),(8211,'1754592312','185.177.72.144'),(8212,'1754592313','185.177.72.144'),(8213,'1754592313','185.177.72.144'),(8214,'1754592314','185.177.72.144'),(8215,'1754592315','185.177.72.144'),(8216,'1754592316','185.177.72.144'),(8217,'1754592316','185.177.72.144'),(8218,'1754592317','185.177.72.144'),(8219,'1754592317','185.177.72.144'),(8220,'1754592318','185.177.72.144'),(8221,'1754592319','185.177.72.144'),(8222,'1754592320','185.177.72.144'),(8223,'1754592320','185.177.72.144'),(8224,'1754592321','185.177.72.144'),(8225,'1754592321','185.177.72.144'),(8226,'1754592322','185.177.72.144'),(8227,'1754592323','185.177.72.144'),(8228,'1754592323','185.177.72.144'),(8229,'1754592324','185.177.72.144'),(8230,'1754592325','185.177.72.144'),(8231,'1754592326','185.177.72.144'),(8232,'1754592327','185.177.72.144'),(8233,'1754592328','185.177.72.144'),(8234,'1754592329','185.177.72.144'),(8235,'1754592329','185.177.72.144'),(8236,'1754592330','185.177.72.144'),(8237,'1754592330','185.177.72.144'),(8238,'1754592331','185.177.72.144'),(8239,'1754592332','185.177.72.144'),(8240,'1754592332','185.177.72.144'),(8241,'1754592333','185.177.72.144'),(8242,'1754592334','185.177.72.144'),(8243,'1754592334','185.177.72.144'),(8244,'1754592334','185.177.72.144'),(8245,'1754592335','185.177.72.144'),(8246,'1754592335','185.177.72.144'),(8247,'1754592336','185.177.72.144'),(8248,'1754592336','185.177.72.144'),(8249,'1754592337','185.177.72.144'),(8250,'1754592338','185.177.72.144'),(8251,'1754592338','185.177.72.144'),(8252,'1754592339','185.177.72.144'),(8253,'1754592339','185.177.72.144'),(8254,'1754592340','185.177.72.144'),(8255,'1754592340','185.177.72.144'),(8256,'1754592342','185.177.72.144'),(8257,'1754592343','185.177.72.144'),(8258,'1754592344','185.177.72.144'),(8259,'1754592344','185.177.72.144'),(8260,'1754592344','185.177.72.144'),(8261,'1754592346','185.177.72.144'),(8262,'1754592347','185.177.72.144'),(8263,'1754592347','185.177.72.144'),(8264,'1754592348','185.177.72.144'),(8265,'1754592348','185.177.72.144'),(8266,'1754592349','185.177.72.144'),(8267,'1754592350','185.177.72.144'),(8268,'1754592350','185.177.72.144'),(8269,'1754592351','185.177.72.144'),(8270,'1754592352','185.177.72.144'),(8271,'1754592352','185.177.72.144'),(8272,'1754592353','185.177.72.144'),(8273,'1754592353','185.177.72.144'),(8274,'1754592354','185.177.72.144'),(8275,'1754592356','185.177.72.144'),(8276,'1754592357','185.177.72.144'),(8277,'1754592357','185.177.72.144'),(8278,'1754592358','185.177.72.144'),(8279,'1754592358','185.177.72.144'),(8280,'1754592359','185.177.72.144'),(8281,'1754592359','185.177.72.144'),(8282,'1754592360','185.177.72.144'),(8283,'1754592361','185.177.72.144'),(8284,'1754592362','185.177.72.144'),(8285,'1754592363','185.177.72.144'),(8286,'1754592363','185.177.72.144'),(8287,'1754592364','185.177.72.144'),(8288,'1754592365','185.177.72.144'),(8289,'1754592365','185.177.72.144'),(8290,'1754592366','185.177.72.144'),(8291,'1754592367','185.177.72.144'),(8292,'1754592368','185.177.72.144'),(8293,'1754592369','185.177.72.144'),(8294,'1754592370','185.177.72.144'),(8295,'1754592371','185.177.72.144'),(8296,'1754592372','185.177.72.144'),(8297,'1754592373','185.177.72.144'),(8298,'1754592373','185.177.72.144'),(8299,'1754592374','185.177.72.144'),(8300,'1754592375','185.177.72.144'),(8301,'1754592376','185.177.72.144'),(8302,'1754592377','185.177.72.144'),(8303,'1754592378','185.177.72.144'),(8304,'1754592379','185.177.72.144'),(8305,'1754592380','185.177.72.144'),(8306,'1754592380','185.177.72.144'),(8307,'1754592381','185.177.72.144'),(8308,'1754592381','185.177.72.144'),(8309,'1754592382','185.177.72.144'),(8310,'1754592384','185.177.72.144'),(8311,'1754592385','185.177.72.144'),(8312,'1754592385','185.177.72.144'),(8313,'1754592386','185.177.72.144'),(8314,'1754592387','185.177.72.144'),(8315,'1754592388','185.177.72.144'),(8316,'1754592388','185.177.72.144'),(8317,'1754592389','185.177.72.144'),(8318,'1754592389','185.177.72.144'),(8319,'1754592390','185.177.72.144'),(8320,'1754592391','185.177.72.144'),(8321,'1754592392','185.177.72.144'),(8322,'1754592393','185.177.72.144'),(8323,'1754592395','185.177.72.144'),(8324,'1754592396','185.177.72.144'),(8325,'1754592397','185.177.72.144'),(8326,'1754592398','185.177.72.144'),(8327,'1754592400','185.177.72.144'),(8328,'1754592401','185.177.72.144'),(8329,'1754592403','185.177.72.144'),(8330,'1754592403','185.177.72.144'),(8331,'1754592405','185.177.72.144'),(8332,'1754592406','185.177.72.144'),(8333,'1754592406','185.177.72.144'),(8334,'1754592409','185.177.72.144'),(8335,'1754592410','185.177.72.144'),(8336,'1754592410','185.177.72.144'),(8337,'1754592411','185.177.72.144'),(8338,'1754592413','185.177.72.144'),(8339,'1754592413','185.177.72.144'),(8340,'1754592414','185.177.72.144'),(8341,'1754592415','185.177.72.144'),(8342,'1754592415','185.177.72.144'),(8343,'1754592416','185.177.72.144'),(8344,'1754592418','185.177.72.144'),(8345,'1754592418','185.177.72.144'),(8346,'1754592420','185.177.72.144'),(8347,'1754592421','185.177.72.144'),(8348,'1754592422','185.177.72.144'),(8349,'1754592423','185.177.72.144'),(8350,'1754592423','185.177.72.144'),(8351,'1754592424','185.177.72.144'),(8352,'1754592425','185.177.72.144'),(8353,'1754592427','185.177.72.144'),(8354,'1754592429','185.177.72.144'),(8355,'1754592429','185.177.72.144'),(8356,'1754592430','185.177.72.144'),(8357,'1754592431','185.177.72.144'),(8358,'1754592432','185.177.72.144'),(8359,'1754592432','185.177.72.144'),(8360,'1754592433','185.177.72.144'),(8361,'1754592433','185.177.72.144'),(8362,'1754592434','185.177.72.144'),(8363,'1754592435','185.177.72.144'),(8364,'1754592435','185.177.72.144'),(8365,'1754592436','185.177.72.144'),(8366,'1754592436','185.177.72.144'),(8367,'1754592437','185.177.72.144'),(8368,'1754592437','185.177.72.144'),(8369,'1754592439','185.177.72.144'),(8370,'1754592439','185.177.72.144'),(8371,'1754592440','185.177.72.144'),(8372,'1754592441','185.177.72.144'),(8373,'1754592442','185.177.72.144'),(8374,'1754592442','185.177.72.144'),(8375,'1754592443','185.177.72.144'),(8376,'1754592444','185.177.72.144'),(8377,'1754592444','185.177.72.144'),(8378,'1754592445','185.177.72.144'),(8379,'1754592445','185.177.72.144'),(8380,'1754592446','185.177.72.144'),(8381,'1754592447','185.177.72.144'),(8382,'1754592448','185.177.72.144'),(8383,'1754592448','185.177.72.144'),(8384,'1754592448','185.177.72.144'),(8385,'1754592449','185.177.72.144'),(8386,'1754592449','185.177.72.144'),(8387,'1754592449','185.177.72.144'),(8388,'1754592450','185.177.72.144'),(8389,'1754592450','185.177.72.144'),(8390,'1754592450','185.177.72.144'),(8391,'1754592451','185.177.72.144'),(8392,'1754592451','185.177.72.144'),(8393,'1754592452','185.177.72.144'),(8394,'1754592452','185.177.72.144'),(8395,'1754592453','185.177.72.144'),(8396,'1754592454','185.177.72.144'),(8397,'1754592455','185.177.72.144'),(8398,'1754592456','185.177.72.144'),(8399,'1754592457','185.177.72.144'),(8400,'1754592457','185.177.72.144'),(8401,'1754592458','185.177.72.144'),(8402,'1754592458','185.177.72.144'),(8403,'1754592459','185.177.72.144'),(8404,'1754592459','185.177.72.144'),(8405,'1754592460','185.177.72.144'),(8406,'1754592461','185.177.72.144'),(8407,'1754592462','185.177.72.144'),(8408,'1754592462','185.177.72.144'),(8409,'1754592463','185.177.72.144'),(8410,'1754592463','185.177.72.144'),(8411,'1754592464','185.177.72.144'),(8412,'1754592465','185.177.72.144'),(8413,'1754592466','185.177.72.144'),(8414,'1754592466','185.177.72.144'),(8415,'1754592467','185.177.72.144'),(8416,'1754592467','185.177.72.144'),(8417,'1754592468','185.177.72.144'),(8418,'1754592468','185.177.72.144'),(8419,'1754592469','185.177.72.144'),(8420,'1754592469','185.177.72.144'),(8421,'1754592469','185.177.72.144'),(8422,'1754592469','185.177.72.144'),(8423,'1754592470','185.177.72.144'),(8424,'1754592470','185.177.72.144'),(8425,'1754592470','185.177.72.144'),(8426,'1754592471','185.177.72.144'),(8427,'1754592472','185.177.72.144'),(8428,'1754592473','185.177.72.144'),(8429,'1754592474','185.177.72.144'),(8430,'1754592475','185.177.72.144'),(8431,'1754592476','185.177.72.144'),(8432,'1754592476','185.177.72.144'),(8433,'1754592477','185.177.72.144'),(8434,'1754592478','185.177.72.144'),(8435,'1754592479','185.177.72.144'),(8436,'1754592479','185.177.72.144'),(8437,'1754592480','185.177.72.144'),(8438,'1754592481','185.177.72.144'),(8439,'1754592482','185.177.72.144'),(8440,'1754592483','185.177.72.144'),(8441,'1754592483','185.177.72.144'),(8442,'1754592484','185.177.72.144'),(8443,'1754592484','185.177.72.144'),(8444,'1754592485','185.177.72.144'),(8445,'1754592485','185.177.72.144'),(8446,'1754592487','185.177.72.144'),(8447,'1754592487','185.177.72.144'),(8448,'1754592487','185.177.72.144'),(8449,'1754592488','185.177.72.144'),(8450,'1754592488','185.177.72.144'),(8451,'1754592489','185.177.72.144'),(8452,'1754592490','185.177.72.144'),(8453,'1754592490','185.177.72.144'),(8454,'1754592491','185.177.72.144'),(8455,'1754592492','185.177.72.144'),(8456,'1754592492','185.177.72.144'),(8457,'1754592493','185.177.72.144'),(8458,'1754592493','185.177.72.144'),(8459,'1754592495','185.177.72.144'),(8460,'1754592495','185.177.72.144'),(8461,'1754592496','185.177.72.144'),(8462,'1754592497','185.177.72.144'),(8463,'1754592498','185.177.72.144'),(8464,'1754592499','185.177.72.144'),(8465,'1754592500','185.177.72.144'),(8466,'1754592500','185.177.72.144'),(8467,'1754592501','185.177.72.144'),(8468,'1754592501','185.177.72.144'),(8469,'1754592503','185.177.72.144'),(8470,'1754592503','185.177.72.144'),(8471,'1754592504','185.177.72.144'),(8472,'1754592504','185.177.72.144'),(8473,'1754592505','185.177.72.144'),(8474,'1754592506','185.177.72.144'),(8475,'1754592507','185.177.72.144'),(8476,'1754592507','185.177.72.144'),(8477,'1754592507','185.177.72.144'),(8478,'1754592508','185.177.72.144'),(8479,'1754592509','185.177.72.144'),(8480,'1754592509','185.177.72.144'),(8481,'1754592509','185.177.72.144'),(8482,'1754592510','185.177.72.144'),(8483,'1754592511','185.177.72.144'),(8484,'1754592512','185.177.72.144'),(8485,'1754592513','185.177.72.144'),(8486,'1754592513','185.177.72.144'),(8487,'1754592514','185.177.72.144'),(8488,'1754592514','185.177.72.144'),(8489,'1754592515','185.177.72.144'),(8490,'1754592516','185.177.72.144'),(8491,'1754592516','185.177.72.144'),(8492,'1754592517','185.177.72.144'),(8493,'1754592517','185.177.72.144'),(8494,'1754592517','185.177.72.144'),(8495,'1754592518','185.177.72.144'),(8496,'1754592518','185.177.72.144'),(8497,'1754592519','185.177.72.144'),(8498,'1754592519','185.177.72.144'),(8499,'1754592521','185.177.72.144'),(8500,'1754592522','185.177.72.144'),(8501,'1754592522','185.177.72.144'),(8502,'1754592523','185.177.72.144'),(8503,'1754592523','185.177.72.144'),(8504,'1754592524','185.177.72.144'),(8505,'1754592524','185.177.72.144'),(8506,'1754592524','185.177.72.144'),(8507,'1754592525','185.177.72.144'),(8508,'1754592526','185.177.72.144'),(8509,'1754592526','185.177.72.144'),(8510,'1754592527','185.177.72.144'),(8511,'1754592528','185.177.72.144'),(8512,'1754592529','185.177.72.144'),(8513,'1754592529','185.177.72.144'),(8514,'1754592530','185.177.72.144'),(8515,'1754592531','185.177.72.144'),(8516,'1754592532','185.177.72.144'),(8517,'1754592532','185.177.72.144'),(8518,'1754592533','185.177.72.144'),(8519,'1754592534','185.177.72.144'),(8520,'1754592535','185.177.72.144'),(8521,'1754592536','185.177.72.144'),(8522,'1754592536','185.177.72.144'),(8523,'1754592537','185.177.72.144'),(8524,'1754592538','185.177.72.144'),(8525,'1754592539','185.177.72.144'),(8526,'1754592539','185.177.72.144'),(8527,'1754592540','185.177.72.144'),(8528,'1754592540','185.177.72.144'),(8529,'1754592541','185.177.72.144'),(8530,'1754592542','185.177.72.144'),(8531,'1754592542','185.177.72.144'),(8532,'1754592542','185.177.72.144'),(8533,'1754592543','185.177.72.144'),(8534,'1754592543','185.177.72.144'),(8535,'1754592544','185.177.72.144'),(8536,'1754592544','185.177.72.144'),(8537,'1754592544','185.177.72.144'),(8538,'1754592545','185.177.72.144'),(8539,'1754592545','185.177.72.144'),(8540,'1754592545','185.177.72.144'),(8541,'1754592546','185.177.72.144'),(8542,'1754592546','185.177.72.144'),(8543,'1754592546','185.177.72.144'),(8544,'1754592547','185.177.72.144'),(8545,'1754592547','185.177.72.144'),(8546,'1754592547','185.177.72.144'),(8547,'1754592548','185.177.72.144'),(8548,'1754592548','185.177.72.144'),(8549,'1754592548','185.177.72.144'),(8550,'1754592549','185.177.72.144'),(8551,'1754592549','185.177.72.144'),(8552,'1754592550','185.177.72.144'),(8553,'1754592550','185.177.72.144'),(8554,'1754592550','185.177.72.144'),(8555,'1754592550','185.177.72.144'),(8556,'1754592551','185.177.72.144'),(8557,'1754592551','185.177.72.144'),(8558,'1754592551','185.177.72.144'),(8559,'1754592552','185.177.72.144'),(8560,'1754592552','185.177.72.144'),(8561,'1754592552','185.177.72.144'),(8562,'1754592553','185.177.72.144'),(8563,'1754592553','185.177.72.144'),(8564,'1754592553','185.177.72.144'),(8565,'1754592553','185.177.72.144'),(8566,'1754592554','185.177.72.144'),(8567,'1754592554','185.177.72.144'),(8568,'1754592554','185.177.72.144'),(8569,'1754592555','185.177.72.144'),(8570,'1754592555','185.177.72.144'),(8571,'1754592555','185.177.72.144'),(8572,'1754592556','185.177.72.144'),(8573,'1754592556','185.177.72.144'),(8574,'1754592556','185.177.72.144'),(8575,'1754592556','185.177.72.144'),(8576,'1754592557','185.177.72.144'),(8577,'1754592557','185.177.72.144'),(8578,'1754592557','185.177.72.144'),(8579,'1754592558','185.177.72.144'),(8580,'1754592558','185.177.72.144'),(8581,'1754592558','185.177.72.144'),(8582,'1754592559','185.177.72.144'),(8583,'1754592559','185.177.72.144'),(8584,'1754592559','185.177.72.144'),(8585,'1754592559','185.177.72.144'),(8586,'1754592560','185.177.72.144'),(8587,'1754592560','185.177.72.144'),(8588,'1754592560','185.177.72.144'),(8589,'1754592561','185.177.72.144'),(8590,'1754592561','185.177.72.144'),(8591,'1754592561','185.177.72.144'),(8592,'1754592562','185.177.72.144'),(8593,'1754592562','185.177.72.144'),(8594,'1754592562','185.177.72.144'),(8595,'1754592563','185.177.72.144'),(8596,'1754592563','185.177.72.144'),(8597,'1754592563','185.177.72.144'),(8598,'1754592564','185.177.72.144'),(8599,'1754592564','185.177.72.144'),(8600,'1754592564','185.177.72.144'),(8601,'1754592564','185.177.72.144'),(8602,'1754592565','185.177.72.144'),(8603,'1754592565','185.177.72.144'),(8604,'1754592566','185.177.72.144'),(8605,'1754592566','185.177.72.144'),(8606,'1754592567','185.177.72.144'),(8607,'1754592567','185.177.72.144'),(8608,'1754592567','185.177.72.144'),(8609,'1754592567','185.177.72.144'),(8610,'1754592568','185.177.72.144'),(8611,'1754592568','185.177.72.144'),(8612,'1754592568','185.177.72.144'),(8613,'1754592569','185.177.72.144'),(8614,'1754592569','185.177.72.144'),(8615,'1754592569','185.177.72.144'),(8616,'1754592570','185.177.72.144'),(8617,'1754592570','185.177.72.144'),(8618,'1754592570','185.177.72.144'),(8619,'1754592571','185.177.72.144'),(8620,'1754592571','185.177.72.144'),(8621,'1754592571','185.177.72.144'),(8622,'1754592571','185.177.72.144'),(8623,'1754592572','185.177.72.144'),(8624,'1754592572','185.177.72.144'),(8625,'1754592572','185.177.72.144'),(8626,'1754592573','185.177.72.144'),(8627,'1754592573','185.177.72.144'),(8628,'1754592573','185.177.72.144'),(8629,'1754592574','185.177.72.144'),(8630,'1754592574','185.177.72.144'),(8631,'1754592574','185.177.72.144'),(8632,'1754592575','185.177.72.144'),(8633,'1754592575','185.177.72.144'),(8634,'1754592575','185.177.72.144'),(8635,'1754592575','185.177.72.144'),(8636,'1754592576','185.177.72.144'),(8637,'1754592576','185.177.72.144'),(8638,'1754592577','185.177.72.144'),(8639,'1754592577','185.177.72.144'),(8640,'1754592577','185.177.72.144'),(8641,'1754592578','185.177.72.144'),(8642,'1754592578','185.177.72.144'),(8643,'1754592578','185.177.72.144'),(8644,'1754592579','185.177.72.144'),(8645,'1754592579','185.177.72.144'),(8646,'1754592579','185.177.72.144'),(8647,'1754592580','185.177.72.144'),(8648,'1754592580','185.177.72.144'),(8649,'1754592580','185.177.72.144'),(8650,'1754592581','185.177.72.144'),(8651,'1754592581','185.177.72.144'),(8652,'1754592581','185.177.72.144'),(8653,'1754592582','185.177.72.144'),(8654,'1754592582','185.177.72.144'),(8655,'1754592582','185.177.72.144'),(8656,'1754592583','185.177.72.144'),(8657,'1754592583','185.177.72.144'),(8658,'1754592584','185.177.72.144'),(8659,'1754592585','185.177.72.144'),(8660,'1754592585','185.177.72.144'),(8661,'1754592586','185.177.72.144'),(8662,'1754592586','185.177.72.144'),(8663,'1754592586','185.177.72.144'),(8664,'1754592587','185.177.72.144'),(8665,'1754592587','185.177.72.144'),(8666,'1754592587','185.177.72.144'),(8667,'1754592588','185.177.72.144'),(8668,'1754592588','185.177.72.144'),(8669,'1754592588','185.177.72.144'),(8670,'1754592588','185.177.72.144'),(8671,'1754592589','185.177.72.144'),(8672,'1754592589','185.177.72.144'),(8673,'1754592589','185.177.72.144'),(8674,'1754592590','185.177.72.144'),(8675,'1754592590','185.177.72.144'),(8676,'1754592590','185.177.72.144'),(8677,'1754592591','185.177.72.144'),(8678,'1754592591','185.177.72.144'),(8679,'1754592591','185.177.72.144'),(8680,'1754592591','185.177.72.144'),(8681,'1754592592','185.177.72.144'),(8682,'1754592592','185.177.72.144'),(8683,'1754592592','185.177.72.144'),(8684,'1754592593','185.177.72.144'),(8685,'1754592593','185.177.72.144'),(8686,'1754592593','185.177.72.144'),(8687,'1754592594','185.177.72.144'),(8688,'1754592594','185.177.72.144'),(8689,'1754592594','185.177.72.144'),(8690,'1754592594','185.177.72.144'),(8691,'1754592595','185.177.72.144'),(8692,'1754592595','185.177.72.144'),(8693,'1754592595','185.177.72.144'),(8694,'1754592596','185.177.72.144'),(8695,'1754592596','185.177.72.144'),(8696,'1754592596','185.177.72.144'),(8697,'1754592597','185.177.72.144'),(8698,'1754592597','185.177.72.144'),(8699,'1754592597','185.177.72.144'),(8700,'1754592597','185.177.72.144'),(8701,'1754592598','185.177.72.144'),(8702,'1754592598','185.177.72.144'),(8703,'1754592598','185.177.72.144'),(8704,'1754592599','185.177.72.144'),(8705,'1754592599','185.177.72.144'),(8706,'1754592599','185.177.72.144'),(8707,'1754592600','185.177.72.144'),(8708,'1754592600','185.177.72.144'),(8709,'1754592600','185.177.72.144'),(8710,'1754592600','185.177.72.144'),(8711,'1754592601','185.177.72.144'),(8712,'1754592601','185.177.72.144'),(8713,'1754592601','185.177.72.144'),(8714,'1754592602','185.177.72.144'),(8715,'1754592602','185.177.72.144'),(8716,'1754592602','185.177.72.144'),(8717,'1754592603','185.177.72.144'),(8718,'1754592603','185.177.72.144'),(8719,'1754592604','185.177.72.144'),(8720,'1754592604','185.177.72.144'),(8721,'1754592604','185.177.72.144'),(8722,'1754592605','185.177.72.144'),(8723,'1754592605','185.177.72.144'),(8724,'1754592605','185.177.72.144'),(8725,'1754592606','185.177.72.144'),(8726,'1754592606','185.177.72.144'),(8727,'1754592606','185.177.72.144'),(8728,'1754592607','185.177.72.144'),(8729,'1754592607','185.177.72.144'),(8730,'1754592607','185.177.72.144'),(8731,'1754592608','185.177.72.144'),(8732,'1754592608','185.177.72.144'),(8733,'1754592608','185.177.72.144'),(8734,'1754592609','185.177.72.144'),(8735,'1754592609','185.177.72.144'),(8736,'1754592610','185.177.72.144'),(8737,'1754592610','185.177.72.144'),(8738,'1754592610','185.177.72.144'),(8739,'1754592610','185.177.72.144'),(8740,'1754592611','185.177.72.144'),(8741,'1754592611','185.177.72.144'),(8742,'1754592611','185.177.72.144'),(8743,'1754592612','185.177.72.144'),(8744,'1754592612','185.177.72.144'),(8745,'1754592613','185.177.72.144'),(8746,'1754592613','185.177.72.144'),(8747,'1754592613','185.177.72.144'),(8748,'1754592614','185.177.72.144'),(8749,'1754592614','185.177.72.144'),(8750,'1754592615','185.177.72.144'),(8751,'1754592615','185.177.72.144'),(8752,'1754592615','185.177.72.144'),(8753,'1754592616','185.177.72.144'),(8754,'1754592616','185.177.72.144'),(8755,'1754592616','185.177.72.144'),(8756,'1754592617','185.177.72.144'),(8757,'1754592617','185.177.72.144'),(8758,'1754592617','185.177.72.144'),(8759,'1754592618','185.177.72.144'),(8760,'1754592618','185.177.72.144'),(8761,'1754592618','185.177.72.144'),(8762,'1754592619','185.177.72.144'),(8763,'1754592619','185.177.72.144'),(8764,'1754592619','185.177.72.144'),(8765,'1754592619','185.177.72.144'),(8766,'1754592620','185.177.72.144'),(8767,'1754592620','185.177.72.144'),(8768,'1754592620','185.177.72.144'),(8769,'1754592621','185.177.72.144'),(8770,'1754592621','185.177.72.144'),(8771,'1754592621','185.177.72.144'),(8772,'1754592622','185.177.72.144'),(8773,'1754592622','185.177.72.144'),(8774,'1754592622','185.177.72.144'),(8775,'1754592623','185.177.72.144'),(8776,'1754592623','185.177.72.144'),(8777,'1754592623','185.177.72.144'),(8778,'1754592624','185.177.72.144'),(8779,'1754592624','185.177.72.144'),(8780,'1754592624','185.177.72.144'),(8781,'1754592624','185.177.72.144'),(8782,'1754592625','185.177.72.144'),(8783,'1754592625','185.177.72.144'),(8784,'1754592626','185.177.72.144'),(8785,'1754592627','185.177.72.144'),(8786,'1754592627','185.177.72.144'),(8787,'1754592627','185.177.72.144'),(8788,'1754592628','185.177.72.144'),(8789,'1754592628','185.177.72.144'),(8790,'1754592628','185.177.72.144'),(8791,'1754592629','185.177.72.144'),(8792,'1754592629','185.177.72.144'),(8793,'1754592629','185.177.72.144'),(8794,'1754592629','185.177.72.144'),(8795,'1754592630','185.177.72.144'),(8796,'1754592630','185.177.72.144'),(8797,'1754592631','185.177.72.144'),(8798,'1754592631','185.177.72.144'),(8799,'1754592631','185.177.72.144'),(8800,'1754592632','185.177.72.144'),(8801,'1754592632','185.177.72.144'),(8802,'1754592632','185.177.72.144'),(8803,'1754592633','185.177.72.144'),(8804,'1754592633','185.177.72.144'),(8805,'1754592633','185.177.72.144'),(8806,'1754592634','185.177.72.144'),(8807,'1754592634','185.177.72.144'),(8808,'1754592636','185.177.72.144'),(8809,'1754592636','185.177.72.144'),(8810,'1754592637','185.177.72.144'),(8811,'1754592638','185.177.72.144'),(8812,'1754592638','185.177.72.144'),(8813,'1754592638','185.177.72.144'),(8814,'1754592639','185.177.72.144'),(8815,'1754592639','185.177.72.144'),(8816,'1754592639','185.177.72.144'),(8817,'1754592640','185.177.72.144'),(8818,'1754592640','185.177.72.144'),(8819,'1754592640','185.177.72.144'),(8820,'1754592640','185.177.72.144'),(8821,'1754592641','185.177.72.144'),(8822,'1754592641','185.177.72.144'),(8823,'1754592641','185.177.72.144'),(8824,'1754592647','185.177.72.144'),(8825,'1754592648','185.177.72.144'),(8826,'1754592648','185.177.72.144'),(8827,'1754592650','185.177.72.144'),(8828,'1754592650','185.177.72.144'),(8829,'1754592650','185.177.72.144'),(8830,'1754592651','185.177.72.144'),(8831,'1754592651','185.177.72.144'),(8832,'1754592651','185.177.72.144'),(8833,'1754592652','185.177.72.144'),(8834,'1754592652','185.177.72.144'),(8835,'1754592653','185.177.72.144'),(8836,'1754592654','185.177.72.144'),(8837,'1754592654','185.177.72.144'),(8838,'1754592655','185.177.72.144'),(8839,'1754592660','185.177.72.144'),(8840,'1754592666','185.177.72.144'),(8841,'1754592672','185.177.72.144'),(8842,'1754592677','185.177.72.144'),(8843,'1754592683','185.177.72.144'),(8844,'1754592689','185.177.72.144'),(8845,'1754592694','185.177.72.144'),(8846,'1754592700','185.177.72.144'),(8847,'1754592706','185.177.72.144'),(8848,'1754592711','185.177.72.144'),(8849,'1754592717','185.177.72.144'),(8850,'1754592723','185.177.72.144'),(8851,'1754592728','185.177.72.144'),(8852,'1754592734','185.177.72.144'),(8853,'1754592735','185.177.72.144'),(8854,'1754592735','185.177.72.144'),(8855,'1754592735','185.177.72.144'),(8856,'1754592736','185.177.72.144'),(8857,'1754592736','185.177.72.144'),(8858,'1754592736','185.177.72.144'),(8859,'1754592737','185.177.72.144'),(8860,'1754592737','185.177.72.144'),(8861,'1754592737','185.177.72.144'),(8862,'1754592738','185.177.72.144'),(8863,'1754592738','185.177.72.144'),(8864,'1754592738','185.177.72.144'),(8865,'1754592738','185.177.72.144'),(8866,'1754592739','185.177.72.144'),(8867,'1754592739','185.177.72.144'),(8868,'1754592740','185.177.72.144'),(8869,'1754592740','185.177.72.144'),(8870,'1754592740','185.177.72.144'),(8871,'1754592740','185.177.72.144'),(8872,'1754592742','185.177.72.144'),(8873,'1754592742','185.177.72.144'),(8874,'1754592742','185.177.72.144'),(8875,'1754592743','185.177.72.144'),(8876,'1754592743','185.177.72.144'),(8877,'1754592743','185.177.72.144'),(8878,'1754592744','185.177.72.144'),(8879,'1754592744','185.177.72.144'),(8880,'1754592744','185.177.72.144'),(8881,'1754592745','185.177.72.144'),(8882,'1754592745','185.177.72.144'),(8883,'1754592745','185.177.72.144'),(8884,'1754592746','185.177.72.144'),(8885,'1754592746','185.177.72.144'),(8886,'1754592746','185.177.72.144'),(8887,'1754592752','185.177.72.144'),(8888,'1754592757','185.177.72.144'),(8889,'1754592758','185.177.72.144'),(8890,'1754592758','185.177.72.144'),(8891,'1754592759','185.177.72.144'),(8892,'1754592759','185.177.72.144'),(8893,'1754592759','185.177.72.144'),(8894,'1754592760','185.177.72.144'),(8895,'1754592760','185.177.72.144'),(8896,'1754592760','185.177.72.144'),(8897,'1754592761','185.177.72.144'),(8898,'1754592761','185.177.72.144'),(8899,'1754592761','185.177.72.144'),(8900,'1754592762','185.177.72.144'),(8901,'1754592762','185.177.72.144'),(8902,'1754592762','185.177.72.144'),(8903,'1754592763','185.177.72.144'),(8904,'1754592763','185.177.72.144'),(8905,'1754592763','185.177.72.144'),(8906,'1754592764','185.177.72.144'),(8907,'1754592764','185.177.72.144'),(8908,'1754592764','185.177.72.144'),(8909,'1754592765','185.177.72.144'),(8910,'1754592766','185.177.72.144'),(8911,'1754592766','185.177.72.144'),(8912,'1754592767','185.177.72.144'),(8913,'1754592767','185.177.72.144'),(8914,'1754592767','185.177.72.144'),(8915,'1754592768','185.177.72.144'),(8916,'1754592768','185.177.72.144'),(8917,'1754592769','185.177.72.144'),(8918,'1754592769','185.177.72.144'),(8919,'1754592770','185.177.72.144'),(8920,'1754592770','185.177.72.144'),(8921,'1754592770','185.177.72.144'),(8922,'1754592771','185.177.72.144'),(8923,'1754592771','185.177.72.144'),(8924,'1754592771','185.177.72.144'),(8925,'1754592771','185.177.72.144'),(8926,'1754592772','185.177.72.144'),(8927,'1754592772','185.177.72.144'),(8928,'1754592772','185.177.72.144'),(8929,'1754592773','185.177.72.144'),(8930,'1754592773','185.177.72.144'),(8931,'1754592773','185.177.72.144'),(8932,'1754592774','185.177.72.144'),(8933,'1754592774','185.177.72.144'),(8934,'1754592774','185.177.72.144'),(8935,'1754592775','185.177.72.144'),(8936,'1754592775','185.177.72.144'),(8937,'1754592775','185.177.72.144'),(8938,'1754592776','185.177.72.144'),(8939,'1754592776','185.177.72.144'),(8940,'1754592776','185.177.72.144'),(8941,'1754592777','185.177.72.144'),(8942,'1754592777','185.177.72.144'),(8943,'1754592777','185.177.72.144'),(8944,'1754592778','185.177.72.144'),(8945,'1754592778','185.177.72.144'),(8946,'1754592778','185.177.72.144'),(8947,'1754592778','185.177.72.144'),(8948,'1754592779','185.177.72.144'),(8949,'1754592779','185.177.72.144'),(8950,'1754592779','185.177.72.144'),(8951,'1754592780','185.177.72.144'),(8952,'1754592780','185.177.72.144'),(8953,'1754592780','185.177.72.144'),(8954,'1754592781','185.177.72.144'),(8955,'1754592781','185.177.72.144'),(8956,'1754592781','185.177.72.144'),(8957,'1754592782','185.177.72.144'),(8958,'1754592782','185.177.72.144'),(8959,'1754592782','185.177.72.144'),(8960,'1754592783','185.177.72.144'),(8961,'1754592783','185.177.72.144'),(8962,'1754592784','185.177.72.144'),(8963,'1754592784','185.177.72.144'),(8964,'1754592784','185.177.72.144'),(8965,'1754592784','185.177.72.144'),(8966,'1754592785','185.177.72.144'),(8967,'1754592785','185.177.72.144'),(8968,'1754592785','185.177.72.144'),(8969,'1754592786','185.177.72.144'),(8970,'1754592787','185.177.72.144'),(8971,'1754592787','185.177.72.144'),(8972,'1754592788','185.177.72.144'),(8973,'1754592788','185.177.72.144'),(8974,'1754592788','185.177.72.144'),(8975,'1754592789','185.177.72.144'),(8976,'1754592789','185.177.72.144'),(8977,'1754592789','185.177.72.144'),(8978,'1754592789','185.177.72.144'),(8979,'1754592790','185.177.72.144'),(8980,'1754592790','185.177.72.144'),(8981,'1754592790','185.177.72.144'),(8982,'1754592791','185.177.72.144'),(8983,'1754592791','185.177.72.144'),(8984,'1754592791','185.177.72.144'),(8985,'1754592792','185.177.72.144'),(8986,'1754592793','185.177.72.144'),(8987,'1754592793','185.177.72.144'),(8988,'1754592794','185.177.72.144'),(8989,'1754592794','185.177.72.144'),(8990,'1754592795','185.177.72.144'),(8991,'1754592795','185.177.72.144'),(8992,'1754592795','185.177.72.144'),(8993,'1754592796','185.177.72.144'),(8994,'1754592796','185.177.72.144'),(8995,'1754592796','185.177.72.144'),(8996,'1754592797','185.177.72.144'),(8997,'1754592797','185.177.72.144'),(8998,'1754592797','185.177.72.144'),(8999,'1754592798','185.177.72.144'),(9000,'1754592798','185.177.72.144'),(9001,'1754592798','185.177.72.144'),(9002,'1754592799','185.177.72.144'),(9003,'1754592799','185.177.72.144'),(9004,'1754592799','185.177.72.144'),(9005,'1754592799','185.177.72.144'),(9006,'1754592800','185.177.72.144'),(9007,'1754592800','185.177.72.144'),(9008,'1754592800','185.177.72.144'),(9009,'1754592801','185.177.72.144'),(9010,'1754592801','185.177.72.144'),(9011,'1754592801','185.177.72.144'),(9012,'1754592802','185.177.72.144'),(9013,'1754592802','185.177.72.144'),(9014,'1754592802','185.177.72.144'),(9015,'1754592803','185.177.72.144'),(9016,'1754592803','185.177.72.144'),(9017,'1754592803','185.177.72.144'),(9018,'1754592804','185.177.72.144'),(9019,'1754592804','185.177.72.144'),(9020,'1754592804','185.177.72.144'),(9021,'1754592805','185.177.72.144'),(9022,'1754592805','185.177.72.144'),(9023,'1754592805','185.177.72.144'),(9024,'1754592806','185.177.72.144'),(9025,'1754592806','185.177.72.144'),(9026,'1754592806','185.177.72.144'),(9027,'1754592806','185.177.72.144'),(9028,'1754592807','185.177.72.144'),(9029,'1754592807','185.177.72.144'),(9030,'1754592807','185.177.72.144'),(9031,'1754592808','185.177.72.144'),(9032,'1754592808','185.177.72.144'),(9033,'1754592808','185.177.72.144'),(9034,'1754592809','185.177.72.144'),(9035,'1754592809','185.177.72.144'),(9036,'1754592809','185.177.72.144'),(9037,'1754592810','185.177.72.144'),(9038,'1754592810','185.177.72.144'),(9039,'1754592810','185.177.72.144'),(9040,'1754592810','185.177.72.144'),(9041,'1754592811','185.177.72.144'),(9042,'1754592811','185.177.72.144'),(9043,'1754592811','185.177.72.144'),(9044,'1754592812','185.177.72.144'),(9045,'1754592812','185.177.72.144'),(9046,'1754592812','185.177.72.144'),(9047,'1754592813','185.177.72.144'),(9048,'1754592813','185.177.72.144'),(9049,'1754592813','185.177.72.144'),(9050,'1754592814','185.177.72.144'),(9051,'1754592814','185.177.72.144'),(9052,'1754592814','185.177.72.144'),(9053,'1754592815','185.177.72.144'),(9054,'1754592815','185.177.72.144'),(9055,'1754592815','185.177.72.144'),(9056,'1754592816','185.177.72.144'),(9057,'1754592816','185.177.72.144'),(9058,'1754592816','185.177.72.144'),(9059,'1754592817','185.177.72.144'),(9060,'1754592817','185.177.72.144'),(9061,'1754592817','185.177.72.144'),(9062,'1754592818','185.177.72.144'),(9063,'1754592818','185.177.72.144'),(9064,'1754592819','185.177.72.144'),(9065,'1754592819','185.177.72.144'),(9066,'1754592819','185.177.72.144'),(9067,'1754592820','185.177.72.144'),(9068,'1754592820','185.177.72.144'),(9069,'1754592820','185.177.72.144'),(9070,'1754592821','185.177.72.144'),(9071,'1754592821','185.177.72.144'),(9072,'1754592821','185.177.72.144'),(9073,'1754592822','185.177.72.144'),(9074,'1754592822','185.177.72.144'),(9075,'1754592822','185.177.72.144'),(9076,'1754592823','185.177.72.144'),(9077,'1754592823','185.177.72.144'),(9078,'1754592823','185.177.72.144'),(9079,'1754592823','185.177.72.144'),(9080,'1754592824','185.177.72.144'),(9081,'1754592824','185.177.72.144'),(9082,'1754592824','185.177.72.144'),(9083,'1754592825','185.177.72.144'),(9084,'1754592825','185.177.72.144'),(9085,'1754592825','185.177.72.144'),(9086,'1754592826','185.177.72.144'),(9087,'1754592826','185.177.72.144'),(9088,'1754592826','185.177.72.144'),(9089,'1754592827','185.177.72.144'),(9090,'1754592827','185.177.72.144'),(9091,'1754592827','185.177.72.144'),(9092,'1754592827','185.177.72.144'),(9093,'1754592828','185.177.72.144'),(9094,'1754592828','185.177.72.144'),(9095,'1754592828','185.177.72.144'),(9096,'1754592829','185.177.72.144'),(9097,'1754592829','185.177.72.144'),(9098,'1754592829','185.177.72.144'),(9099,'1754592830','185.177.72.144'),(9100,'1754592830','185.177.72.144'),(9101,'1754592830','185.177.72.144'),(9102,'1754592831','185.177.72.144'),(9103,'1754592831','185.177.72.144'),(9104,'1754592831','185.177.72.144'),(9105,'1754592832','185.177.72.144'),(9106,'1754592832','185.177.72.144'),(9107,'1754592832','185.177.72.144'),(9108,'1754592833','185.177.72.144'),(9109,'1754592833','185.177.72.144'),(9110,'1754592833','185.177.72.144'),(9111,'1754592834','185.177.72.144'),(9112,'1754592834','185.177.72.144'),(9113,'1754592834','185.177.72.144'),(9114,'1754592835','185.177.72.144'),(9115,'1754592835','185.177.72.144'),(9116,'1754592835','185.177.72.144'),(9117,'1754592836','185.177.72.144'),(9118,'1754592836','185.177.72.144'),(9119,'1754592836','185.177.72.144'),(9120,'1754592837','185.177.72.144'),(9121,'1754592837','185.177.72.144'),(9122,'1754592837','185.177.72.144'),(9123,'1754592838','185.177.72.144'),(9124,'1754592838','185.177.72.144'),(9125,'1754592838','185.177.72.144'),(9126,'1754592839','185.177.72.144'),(9127,'1754592839','185.177.72.144'),(9128,'1754592839','185.177.72.144'),(9129,'1754592840','185.177.72.144'),(9130,'1754592840','185.177.72.144'),(9131,'1754592840','185.177.72.144'),(9132,'1754592841','185.177.72.144'),(9133,'1754592841','185.177.72.144'),(9134,'1754592841','185.177.72.144'),(9135,'1754592842','185.177.72.144'),(9136,'1754592842','185.177.72.144'),(9137,'1754592842','185.177.72.144'),(9138,'1754592843','185.177.72.144'),(9139,'1754592843','185.177.72.144'),(9140,'1754592844','185.177.72.144'),(9141,'1754592844','185.177.72.144'),(9142,'1754592845','185.177.72.144'),(9143,'1754592845','185.177.72.144'),(9144,'1754592845','185.177.72.144'),(9145,'1754592846','185.177.72.144'),(9146,'1754592846','185.177.72.144'),(9147,'1754592846','185.177.72.144'),(9148,'1754592847','185.177.72.144'),(9149,'1754592847','185.177.72.144'),(9150,'1754592847','185.177.72.144'),(9151,'1754592848','185.177.72.144'),(9152,'1754592848','185.177.72.144'),(9153,'1754592848','185.177.72.144'),(9154,'1754592849','185.177.72.144'),(9155,'1754592849','185.177.72.144'),(9156,'1754592849','185.177.72.144'),(9157,'1754592850','185.177.72.144'),(9158,'1754592851','185.177.72.144'),(9159,'1754592851','185.177.72.144'),(9160,'1754592851','185.177.72.144'),(9161,'1754592852','185.177.72.144'),(9162,'1754592852','185.177.72.144'),(9163,'1754592852','185.177.72.144'),(9164,'1754592853','185.177.72.144'),(9165,'1754592853','185.177.72.144'),(9166,'1754592854','185.177.72.144'),(9167,'1754592854','185.177.72.144'),(9168,'1754592854','185.177.72.144'),(9169,'1754592855','185.177.72.144'),(9170,'1754592855','185.177.72.144'),(9171,'1754592855','185.177.72.144'),(9172,'1754592856','185.177.72.144'),(9173,'1754592856','185.177.72.144'),(9174,'1754592856','185.177.72.144'),(9175,'1754592857','185.177.72.144'),(9176,'1754592857','185.177.72.144'),(9177,'1754592857','185.177.72.144'),(9178,'1754592858','185.177.72.144'),(9179,'1754592858','185.177.72.144'),(9180,'1754592858','185.177.72.144'),(9181,'1754592859','185.177.72.144'),(9182,'1754592859','185.177.72.144'),(9183,'1754592859','185.177.72.144'),(9184,'1754592860','185.177.72.144'),(9185,'1754592863','185.177.72.144'),(9186,'1754592863','185.177.72.144'),(9187,'1754592863','185.177.72.144'),(9188,'1754592864','185.177.72.144'),(9189,'1754592864','185.177.72.144'),(9190,'1754592864','185.177.72.144'),(9191,'1754592865','185.177.72.144'),(9192,'1754592865','185.177.72.144'),(9193,'1754592866','185.177.72.144'),(9194,'1754592867','185.177.72.144'),(9195,'1754592868','185.177.72.144'),(9196,'1754592868','185.177.72.144'),(9197,'1754592868','185.177.72.144'),(9198,'1754592870','185.177.72.144'),(9199,'1754592871','185.177.72.144'),(9200,'1754592871','185.177.72.144'),(9201,'1754592872','185.177.72.144'),(9202,'1754592872','185.177.72.144'),(9203,'1754592872','185.177.72.144'),(9204,'1754592873','185.177.72.144'),(9205,'1754592873','185.177.72.144'),(9206,'1754592874','185.177.72.144'),(9207,'1754592874','185.177.72.144'),(9208,'1754592874','185.177.72.144'),(9209,'1754592875','185.177.72.144'),(9210,'1754592875','185.177.72.144'),(9211,'1754592876','185.177.72.144'),(9212,'1754592877','185.177.72.144'),(9213,'1754592877','185.177.72.144'),(9214,'1754592877','185.177.72.144'),(9215,'1754592878','185.177.72.144'),(9216,'1754592878','185.177.72.144'),(9217,'1754592878','185.177.72.144'),(9218,'1754592879','185.177.72.144'),(9219,'1754592879','185.177.72.144'),(9220,'1754592879','185.177.72.144'),(9221,'1754592880','185.177.72.144'),(9222,'1754592880','185.177.72.144'),(9223,'1754592881','185.177.72.144'),(9224,'1754592881','185.177.72.144'),(9225,'1754592882','185.177.72.144'),(9226,'1754592882','185.177.72.144'),(9227,'1754592882','185.177.72.144'),(9228,'1754592883','185.177.72.144'),(9229,'1754592883','185.177.72.144'),(9230,'1754592884','185.177.72.144'),(9231,'1754592884','185.177.72.144'),(9232,'1754592884','185.177.72.144'),(9233,'1754592885','185.177.72.144'),(9234,'1754592885','185.177.72.144'),(9235,'1754592885','185.177.72.144'),(9236,'1754592886','185.177.72.144'),(9237,'1754592887','185.177.72.144'),(9238,'1754592888','185.177.72.144'),(9239,'1754592888','185.177.72.144'),(9240,'1754592888','185.177.72.144'),(9241,'1754592889','185.177.72.144'),(9242,'1754592889','185.177.72.144'),(9243,'1754592889','185.177.72.144'),(9244,'1754592890','185.177.72.144'),(9245,'1754592890','185.177.72.144'),(9246,'1754592890','185.177.72.144'),(9247,'1754592891','185.177.72.144'),(9248,'1754592891','185.177.72.144'),(9249,'1754592891','185.177.72.144'),(9250,'1754592892','185.177.72.144'),(9251,'1754592892','185.177.72.144'),(9252,'1754592892','185.177.72.144'),(9253,'1754592893','185.177.72.144'),(9254,'1754592893','185.177.72.144'),(9255,'1754592894','185.177.72.144'),(9256,'1754592894','185.177.72.144'),(9257,'1754592894','185.177.72.144'),(9258,'1754592895','185.177.72.144'),(9259,'1754592895','185.177.72.144'),(9260,'1754592895','185.177.72.144'),(9261,'1754592896','185.177.72.144'),(9262,'1754592896','185.177.72.144'),(9263,'1754592896','185.177.72.144'),(9264,'1754592897','185.177.72.144'),(9265,'1754592897','185.177.72.144'),(9266,'1754592897','185.177.72.144'),(9267,'1754592898','185.177.72.144'),(9268,'1754592898','185.177.72.144'),(9269,'1754592898','185.177.72.144'),(9270,'1754592899','185.177.72.144'),(9271,'1754592899','185.177.72.144'),(9272,'1754592900','185.177.72.144'),(9273,'1754592900','185.177.72.144'),(9274,'1754592900','185.177.72.144'),(9275,'1754592901','185.177.72.144'),(9276,'1754592901','185.177.72.144'),(9277,'1754592902','185.177.72.144'),(9278,'1754592902','185.177.72.144'),(9279,'1754592903','185.177.72.144'),(9280,'1754592903','185.177.72.144'),(9281,'1754592904','185.177.72.144'),(9282,'1754592904','185.177.72.144'),(9283,'1754592905','185.177.72.144'),(9284,'1754592905','185.177.72.144'),(9285,'1754592905','185.177.72.144'),(9286,'1754592906','185.177.72.144'),(9287,'1754592906','185.177.72.144'),(9288,'1754592906','185.177.72.144'),(9289,'1754592907','185.177.72.144'),(9290,'1754592907','185.177.72.144'),(9291,'1754592908','185.177.72.144'),(9292,'1754592908','185.177.72.144'),(9293,'1754592908','185.177.72.144'),(9294,'1754592909','185.177.72.144'),(9295,'1754592909','185.177.72.144'),(9296,'1754592909','185.177.72.144'),(9297,'1754592910','185.177.72.144'),(9298,'1754592910','185.177.72.144'),(9299,'1754592910','185.177.72.144'),(9300,'1754592911','185.177.72.144'),(9301,'1754592911','185.177.72.144'),(9302,'1754592911','185.177.72.144'),(9303,'1754592912','185.177.72.144'),(9304,'1754592912','185.177.72.144'),(9305,'1754592912','185.177.72.144'),(9306,'1754592913','185.177.72.144'),(9307,'1754592913','185.177.72.144'),(9308,'1754592913','185.177.72.144'),(9309,'1754592914','185.177.72.144'),(9310,'1754592914','185.177.72.144'),(9311,'1754592915','185.177.72.144'),(9312,'1754592915','185.177.72.144'),(9313,'1754592915','185.177.72.144'),(9314,'1754592916','185.177.72.144'),(9315,'1754592916','185.177.72.144'),(9316,'1754592916','185.177.72.144'),(9317,'1754592917','185.177.72.144'),(9318,'1754592917','185.177.72.144'),(9319,'1754592917','185.177.72.144'),(9320,'1754592918','185.177.72.144'),(9321,'1754592918','185.177.72.144'),(9322,'1754592919','185.177.72.144'),(9323,'1754592919','185.177.72.144'),(9324,'1754592919','185.177.72.144'),(9325,'1754592920','185.177.72.144'),(9326,'1754592920','185.177.72.144'),(9327,'1754592920','185.177.72.144'),(9328,'1754592921','185.177.72.144'),(9329,'1754592921','185.177.72.144'),(9330,'1754592922','185.177.72.144'),(9331,'1754592922','185.177.72.144'),(9332,'1754592922','185.177.72.144'),(9333,'1754592922','185.177.72.144'),(9334,'1754592923','185.177.72.144'),(9335,'1754592923','185.177.72.144'),(9336,'1754592923','185.177.72.144'),(9337,'1754592924','185.177.72.144'),(9338,'1754592924','185.177.72.144'),(9339,'1754592924','185.177.72.144'),(9340,'1754592925','185.177.72.144'),(9341,'1754592925','185.177.72.144'),(9342,'1754592925','185.177.72.144'),(9343,'1754592926','185.177.72.144'),(9344,'1754592926','185.177.72.144'),(9345,'1754592926','185.177.72.144'),(9346,'1754592927','185.177.72.144'),(9347,'1754592927','185.177.72.144'),(9348,'1754592928','185.177.72.144'),(9349,'1754592928','185.177.72.144'),(9350,'1754592928','185.177.72.144'),(9351,'1754592929','185.177.72.144'),(9352,'1754592929','185.177.72.144'),(9353,'1754592929','185.177.72.144'),(9354,'1754592930','185.177.72.144'),(9355,'1754592930','185.177.72.144'),(9356,'1754592930','185.177.72.144'),(9357,'1754592931','185.177.72.144'),(9358,'1754592931','185.177.72.144'),(9359,'1754592931','185.177.72.144'),(9360,'1754592932','185.177.72.144'),(9361,'1754592932','185.177.72.144'),(9362,'1754592932','185.177.72.144'),(9363,'1754592933','185.177.72.144'),(9364,'1754592933','185.177.72.144'),(9365,'1754592934','185.177.72.144'),(9366,'1754592934','185.177.72.144'),(9367,'1754592934','185.177.72.144'),(9368,'1754592935','185.177.72.144'),(9369,'1754592935','185.177.72.144'),(9370,'1754592936','185.177.72.144'),(9371,'1754592936','185.177.72.144'),(9372,'1754592936','185.177.72.144'),(9373,'1754592937','185.177.72.144'),(9374,'1754592937','185.177.72.144'),(9375,'1754592937','185.177.72.144'),(9376,'1754592938','185.177.72.144'),(9377,'1754592938','185.177.72.144'),(9378,'1754592938','185.177.72.144'),(9379,'1754592939','185.177.72.144'),(9380,'1754592939','185.177.72.144'),(9381,'1754592939','185.177.72.144'),(9382,'1754592940','185.177.72.144'),(9383,'1754592940','185.177.72.144'),(9384,'1754592941','185.177.72.144'),(9385,'1754592941','185.177.72.144'),(9386,'1754592941','185.177.72.144'),(9387,'1754592942','185.177.72.144'),(9388,'1754592942','185.177.72.144'),(9389,'1754592943','185.177.72.144'),(9390,'1754592943','185.177.72.144'),(9391,'1754592943','185.177.72.144'),(9392,'1754592944','185.177.72.144'),(9393,'1754592944','185.177.72.144'),(9394,'1754592944','185.177.72.144'),(9395,'1754592945','185.177.72.144'),(9396,'1754592945','185.177.72.144'),(9397,'1754592945','185.177.72.144'),(9398,'1754592946','185.177.72.144'),(9399,'1754592946','185.177.72.144'),(9400,'1754592946','185.177.72.144'),(9401,'1754592947','185.177.72.144'),(9402,'1754592947','185.177.72.144'),(9403,'1754592947','185.177.72.144'),(9404,'1754592948','185.177.72.144'),(9405,'1754592948','185.177.72.144'),(9406,'1754592948','185.177.72.144'),(9407,'1754592949','185.177.72.144'),(9408,'1754592949','185.177.72.144'),(9409,'1754592949','185.177.72.144'),(9410,'1754592950','185.177.72.144'),(9411,'1754592950','185.177.72.144'),(9412,'1754592951','185.177.72.144'),(9413,'1754592951','185.177.72.144'),(9414,'1754592951','185.177.72.144'),(9415,'1754592952','185.177.72.144'),(9416,'1754592952','185.177.72.144'),(9417,'1754592952','185.177.72.144'),(9418,'1754592953','185.177.72.144'),(9419,'1754592953','185.177.72.144'),(9420,'1754592953','185.177.72.144'),(9421,'1754592954','185.177.72.144'),(9422,'1754592954','185.177.72.144'),(9423,'1754592954','185.177.72.144'),(9424,'1754592955','185.177.72.144'),(9425,'1754592955','185.177.72.144'),(9426,'1754592956','185.177.72.144'),(9427,'1754592957','185.177.72.144'),(9428,'1754592958','185.177.72.144'),(9429,'1754592958','185.177.72.144'),(9430,'1754592959','185.177.72.144'),(9431,'1754592959','185.177.72.144'),(9432,'1754592959','185.177.72.144'),(9433,'1754592965','185.177.72.144'),(9434,'1754592966','185.177.72.144'),(9435,'1754592967','185.177.72.144'),(9436,'1754592967','185.177.72.144'),(9437,'1754592967','185.177.72.144'),(9438,'1754592968','185.177.72.144'),(9439,'1754592968','185.177.72.144'),(9440,'1754592968','185.177.72.144'),(9441,'1754592969','185.177.72.144'),(9442,'1754592969','185.177.72.144'),(9443,'1754592969','185.177.72.144'),(9444,'1754592970','185.177.72.144'),(9445,'1754592970','185.177.72.144'),(9446,'1754592971','185.177.72.144'),(9447,'1754592979','185.177.72.144'),(9448,'1754592985','185.177.72.144'),(9449,'1754592991','185.177.72.144'),(9450,'1754592998','185.177.72.144'),(9451,'1754593006','185.177.72.144'),(9452,'1754593012','185.177.72.144'),(9453,'1754593020','185.177.72.144'),(9454,'1754593028','185.177.72.144'),(9455,'1754593036','185.177.72.144'),(9456,'1754593043','185.177.72.144'),(9457,'1754593051','185.177.72.144'),(9458,'1754593059','185.177.72.144'),(9459,'1754593067','185.177.72.144'),(9460,'1754593074','185.177.72.144'),(9461,'1754593082','185.177.72.144'),(9462,'1754593090','185.177.72.144'),(9463,'1754593098','185.177.72.144'),(9464,'1754593111','185.177.72.144'),(9465,'1754593117','185.177.72.144'),(9466,'1754593126','185.177.72.144'),(9467,'1754593132','185.177.72.144'),(9468,'1754593138','185.177.72.144'),(9469,'1754593145','185.177.72.144'),(9470,'1754593152','185.177.72.144'),(9471,'1754593158','185.177.72.144'),(9472,'1754593179','185.177.72.144'),(9473,'1754593187','185.177.72.144'),(9474,'1754593193','185.177.72.144'),(9475,'1754593200','185.177.72.144'),(9476,'1754593207','185.177.72.144'),(9477,'1754593213','185.177.72.144'),(9478,'1754593220','185.177.72.144'),(9479,'1754593226','185.177.72.144'),(9480,'1754593234','185.177.72.144'),(9481,'1754593240','185.177.72.144'),(9482,'1754593246','185.177.72.144'),(9483,'1754593252','185.177.72.144'),(9484,'1754593260','185.177.72.144'),(9485,'1754593266','185.177.72.144'),(9486,'1754593272','185.177.72.144'),(9487,'1754593278','185.177.72.144'),(9488,'1754593285','185.177.72.144'),(9489,'1754593286','185.177.72.144'),(9490,'1754593286','185.177.72.144'),(9491,'1754593287','185.177.72.144'),(9492,'1754593287','185.177.72.144'),(9493,'1754593289','185.177.72.144'),(9494,'1754593290','185.177.72.144'),(9495,'1754593290','185.177.72.144'),(9496,'1754593291','185.177.72.144'),(9497,'1754593291','185.177.72.144'),(9498,'1754593295','185.177.72.144'),(9499,'1754593296','185.177.72.144'),(9500,'1754593296','185.177.72.144'),(9501,'1754593297','185.177.72.144'),(9502,'1754593297','185.177.72.144'),(9503,'1754593299','185.177.72.144'),(9504,'1754593300','185.177.72.144'),(9505,'1754593301','185.177.72.144'),(9506,'1754593301','185.177.72.144'),(9507,'1754593302','185.177.72.144'),(9508,'1754593303','185.177.72.144'),(9509,'1754593304','185.177.72.144'),(9510,'1754593304','185.177.72.144'),(9511,'1754593305','185.177.72.144'),(9512,'1754593305','185.177.72.144'),(9513,'1754593305','185.177.72.144'),(9514,'1754593311','185.177.72.144'),(9515,'1754593317','185.177.72.144'),(9516,'1754593323','185.177.72.144'),(9517,'1754593323','185.177.72.144'),(9518,'1754593324','185.177.72.144'),(9519,'1754593324','185.177.72.144'),(9520,'1754593324','185.177.72.144'),(9521,'1754593325','185.177.72.144'),(9522,'1754593325','185.177.72.144'),(9523,'1754593331','185.177.72.144'),(9524,'1754593336','185.177.72.144'),(9525,'1754593342','185.177.72.144'),(9526,'1754593343','185.177.72.144'),(9527,'1754593343','185.177.72.144'),(9528,'1754593343','185.177.72.144'),(9529,'1754593344','185.177.72.144'),(9530,'1754593344','185.177.72.144'),(9531,'1754593352','185.177.72.144'),(9532,'1754593353','185.177.72.144'),(9533,'1754593353','185.177.72.144'),(9534,'1754593353','185.177.72.144'),(9535,'1754593354','185.177.72.144'),(9536,'1754593355','185.177.72.144'),(9537,'1754593355','185.177.72.144'),(9538,'1754593356','185.177.72.144'),(9539,'1754593356','185.177.72.144'),(9540,'1754593356','185.177.72.144'),(9541,'1754593357','185.177.72.144'),(9542,'1754593357','185.177.72.144'),(9543,'1754593358','185.177.72.144'),(9544,'1754593358','185.177.72.144'),(9545,'1754593359','185.177.72.144'),(9546,'1754593359','185.177.72.144'),(9547,'1754593360','185.177.72.144'),(9548,'1754593360','185.177.72.144'),(9549,'1754593361','185.177.72.144'),(9550,'1754593361','185.177.72.144'),(9551,'1754661935','205.210.31.232'),(9552,'1754661935','67.222.45.11'),(9553,'1754676433','198.235.24.172'),(9554,'1754676433','67.222.45.11'),(9555,'1754680771','138.246.253.24'),(9556,'1754680771','67.222.45.11'),(9557,'1754684351','205.210.31.2'),(9558,'1754684351','67.222.45.11'),(9559,'1754684626','198.235.24.185'),(9560,'1754684738','147.185.132.123'),(9561,'1754684882','205.210.31.225'),(9562,'1754685786','147.185.132.165'),(9563,'1754685786','67.222.45.11'),(9564,'1754693260','198.235.24.139'),(9565,'1754693261','67.222.45.11'),(9566,'1754696814','198.235.24.57'),(9567,'1754696814','67.222.45.11'),(9568,'1754802503','147.185.132.52'),(9569,'1754802503','67.222.45.11'),(9570,'1754802505','67.222.45.11'),(9571,'1754802505','67.222.45.11'),(9572,'1754802505','67.222.45.11'),(9573,'1754802505','67.222.45.11'),(9574,'1754802506','67.222.45.11'),(9575,'1754805692','3.84.178.235'),(9576,'1754805692','67.222.45.11'),(9577,'1754895117','119.29.146.28'),(9578,'1754895117','67.222.45.11'),(9579,'1754934481','45.148.10.80'),(9580,'1754934481','67.222.45.11'),(9581,'1754934577','45.148.10.80'),(9582,'1754934577','45.148.10.80'),(9583,'1754934579','45.148.10.80'),(9584,'1754934579','45.148.10.80'),(9585,'1754934579','45.148.10.80'),(9586,'1754934579','45.148.10.80'),(9587,'1754934581','45.148.10.80'),(9588,'1754944473','81.29.134.51'),(9589,'1754944473','67.222.45.11'),(9590,'1755025279','44.228.128.171'),(9591,'1755025279','67.222.45.11'),(9592,'1755047798','185.177.72.204'),(9593,'1755047798','67.222.45.11'),(9594,'1755105127','185.177.72.55'),(9595,'1755105130','185.177.72.55'),(9596,'1755105130','185.177.72.55'),(9597,'1755105131','185.177.72.55'),(9598,'1755105132','185.177.72.55'),(9599,'1755105133','185.177.72.55'),(9600,'1755105133','185.177.72.55'),(9601,'1755105134','185.177.72.55'),(9602,'1755105135','185.177.72.55'),(9603,'1755105135','185.177.72.55'),(9604,'1755105135','185.177.72.55'),(9605,'1755105136','185.177.72.55'),(9606,'1755105136','185.177.72.55'),(9607,'1755105136','185.177.72.55'),(9608,'1755105137','185.177.72.55'),(9609,'1755105137','185.177.72.55'),(9610,'1755121037','138.246.253.24'),(9611,'1755121037','67.222.45.11'),(9612,'1755187031','195.178.110.161'),(9613,'1755187032','67.222.45.11'),(9614,'1755187902','47.82.11.83'),(9615,'1755246668','82.29.54.47'),(9616,'1755246668','67.222.45.11'),(9617,'1755264600','93.123.109.225'),(9618,'1755264600','67.222.45.11'),(9619,'1755294799','94.130.132.56'),(9620,'1755294799','67.222.45.11'),(9621,'1755362722','198.235.24.46'),(9622,'1755362722','67.222.45.11'),(9623,'1755362726','67.222.45.11'),(9624,'1755362726','67.222.45.11'),(9625,'1755362726','67.222.45.11'),(9626,'1755362727','67.222.45.11'),(9627,'1755362727','67.222.45.11'),(9628,'1755405192','45.76.183.147'),(9629,'1755405192','67.222.45.11'),(9630,'1755460362','141.98.11.169'),(9631,'1755460363','67.222.45.11'),(9632,'1755469993','185.247.137.108'),(9633,'1755469993','67.222.45.11'),(9634,'1755476601','185.247.137.186'),(9635,'1755476602','67.222.45.11'),(9636,'1755509273','205.169.39.53'),(9637,'1755509274','67.222.45.11'),(9638,'1755603677','143.198.41.50'),(9639,'1755603677','67.222.45.11'),(9640,'1755765779','195.178.110.109'),(9641,'1755765779','67.222.45.11'),(9642,'1755765780','195.178.110.109'),(9643,'1755765783','195.178.110.109'),(9644,'1755765784','195.178.110.109'),(9645,'1755765785','195.178.110.109'),(9646,'1755765786','195.178.110.109'),(9647,'1755765789','195.178.110.109'),(9648,'1755800838','195.178.110.109'),(9649,'1755800838','67.222.45.11'),(9650,'1755800839','195.178.110.109'),(9651,'1755800841','195.178.110.109'),(9652,'1755800843','195.178.110.109'),(9653,'1755800844','195.178.110.109'),(9654,'1755800845','195.178.110.109'),(9655,'1755800845','195.178.110.109'),(9656,'1755814743','145.220.91.19'),(9657,'1755814743','67.222.45.11'),(9658,'1755844876','138.246.253.24'),(9659,'1755965047','45.148.10.80'),(9660,'1755965047','67.222.45.11'),(9661,'1755965051','67.222.45.11'),(9662,'1755965051','67.222.45.11'),(9663,'1755965051','67.222.45.11'),(9664,'1755965051','67.222.45.11'),(9665,'1755965052','67.222.45.11'),(9666,'1756048354','178.239.147.98'),(9667,'1756048354','67.222.45.11'),(9668,'1756129373','212.72.142.4'),(9669,'1756129373','67.222.45.11'),(9670,'1756141568','192.185.131.50'),(9671,'1756141569','67.222.45.11'),(9672,'1756144095','108.167.188.245'),(9673,'1756144095','67.222.45.11'),(9674,'1756146931','108.167.189.44'),(9675,'1756146931','67.222.45.11'),(9676,'1756155635','162.144.26.115'),(9677,'1756155635','67.222.45.11'),(9678,'1756156830','2.58.56.237'),(9679,'1756222294','51.81.46.212'),(9680,'1756222295','67.222.45.11'),(9681,'1756240177','35.247.101.43'),(9682,'1756240178','67.222.45.11'),(9683,'1756267973','93.123.109.225'),(9684,'1756267974','67.222.45.11'),(9685,'1756268190','93.123.109.225'),(9686,'1756268190','93.123.109.225'),(9687,'1756268190','93.123.109.225'),(9688,'1756268190','93.123.109.225'),(9689,'1756268190','93.123.109.225'),(9690,'1756268191','93.123.109.225'),(9691,'1756268191','93.123.109.225'),(9692,'1756370186','138.246.253.24'),(9693,'1756377832','145.220.91.19'),(9694,'1756377832','67.222.45.11'),(9695,'1756570523','47.251.13.32'),(9696,'1756570523','67.222.45.11'),(9697,'1756570528','67.222.45.11'),(9698,'1756570528','67.222.45.11'),(9699,'1756570528','67.222.45.11'),(9700,'1756570529','67.222.45.11'),(9701,'1756570529','67.222.45.11'),(9702,'1756570531','47.251.15.21'),(9703,'1756570545','47.254.74.59'),(9704,'1756570581','47.251.11.3'),(9705,'1756570603','47.254.85.182'),(9706,'1756570628','47.254.85.182'),(9707,'1756578228','35.188.176.120'),(9708,'1756578228','67.222.45.11'),(9709,'1756653728','44.204.60.32'),(9710,'1756653728','67.222.45.11'),(9711,'1756672157','71.6.134.234'),(9712,'1756672158','67.222.45.11'),(9713,'1756701272','180.163.220.125'),(9714,'1756701272','67.222.45.11'),(9715,'1756701306','180.163.220.60'),(9716,'1756701306','67.222.45.11'),(9717,'1756701312','180.163.220.47'),(9718,'1756701335','180.163.220.126'),(9719,'1756786640','147.182.230.233'),(9720,'1756786641','67.222.45.11'),(9721,'1756816568','134.195.225.177'),(9722,'1756816568','67.222.45.11'),(9723,'1756920004','34.122.187.71'),(9724,'1756920004','67.222.45.11'),(9725,'1756942305','145.220.91.19'),(9726,'1756942306','67.222.45.11'),(9727,'1756981992','185.241.208.231'),(9728,'1756981992','67.222.45.11'),(9729,'1757019359','134.195.225.177'),(9730,'1757019359','67.222.45.11'),(9731,'1757021014','138.246.253.24'),(9732,'1757084061','147.185.132.93'),(9733,'1757084061','67.222.45.11'),(9734,'1757095934','147.185.132.132'),(9735,'1757095934','67.222.45.11'),(9736,'1757117810','205.210.31.68'),(9737,'1757117810','67.222.45.11'),(9738,'1757118090','198.235.24.123'),(9739,'1757168695','67.220.94.150'),(9740,'1757168696','67.222.45.11'),(9741,'1757168698','67.222.45.11'),(9742,'1757168698','67.222.45.11'),(9743,'1757168699','67.222.45.11'),(9744,'1757168699','67.222.45.11'),(9745,'1757168699','67.222.45.11'),(9746,'1757217591','147.185.132.33'),(9747,'1757217592','67.222.45.11'),(9748,'1757232461','162.142.125.120'),(9749,'1757232485','162.142.125.120'),(9750,'1757417398','185.177.72.24'),(9751,'1757417398','67.222.45.11'),(9752,'1757417399','185.177.72.24'),(9753,'1757417403','185.177.72.24'),(9754,'1757417405','185.177.72.24'),(9755,'1757417407','185.177.72.24'),(9756,'1757468447','205.210.31.242'),(9757,'1757468447','67.222.45.11'),(9758,'1757485042','205.210.31.94'),(9759,'1757485042','67.222.45.11'),(9760,'1757519185','35.94.81.55'),(9761,'1757519186','67.222.45.11'),(9762,'1757553135','147.185.132.37'),(9763,'1757553135','67.222.45.11'),(9764,'1757553144','205.210.31.99'),(9765,'1757553484','198.235.24.54'),(9766,'1757553521','205.210.31.212'),(9767,'1757622199','68.183.146.153'),(9768,'1757622200','67.222.45.11'),(9769,'1757667309','167.94.146.62'),(9770,'1757734983','138.246.253.24'),(9771,'1757734983','67.222.45.11'),(9772,'1757734989','67.222.45.11'),(9773,'1757734989','67.222.45.11'),(9774,'1757734989','67.222.45.11'),(9775,'1757734989','67.222.45.11'),(9776,'1757734990','67.222.45.11'),(9777,'1757739017','115.231.78.12'),(9778,'1757739017','67.222.45.11'),(9779,'1757739036','115.231.78.12'),(9780,'1757739040','115.231.78.12'),(9781,'1757739044','115.231.78.12'),(9782,'1757739046','115.231.78.12'),(9783,'1757739976','112.193.47.251'),(9784,'1757739978','8.220.206.121'),(9785,'1757739979','59.173.134.35'),(9786,'1757764557','62.60.130.211'),(9787,'1757764557','67.222.45.11'),(9788,'1757942050','54.206.54.84'),(9789,'1757942050','67.222.45.11'),(9790,'1757977313','195.178.110.161'),(9791,'1757977313','67.222.45.11'),(9792,'1757977314','195.178.110.161'),(9793,'1757977317','195.178.110.161'),(9794,'1757977318','195.178.110.161'),(9795,'1757977319','195.178.110.161'),(9796,'1757977320','195.178.110.161'),(9797,'1757977321','195.178.110.161'),(9798,'1758010221','161.35.7.123'),(9799,'1758059545','71.6.134.235'),(9800,'1758059545','67.222.45.11'),(9801,'1758067600','3.222.165.167'),(9802,'1758067600','3.222.165.167'),(9803,'1758067600','67.222.45.11'),(9804,'1758067600','67.222.45.11'),(9805,'1758067604','3.222.165.167'),(9806,'1758067604','3.222.165.167'),(9807,'1758072723','34.125.78.134'),(9808,'1758072723','67.222.45.11'),(9809,'1758134520','3.222.165.167'),(9810,'1758134520','3.222.165.167'),(9811,'1758134520','67.222.45.11'),(9812,'1758134520','67.222.45.11'),(9813,'1758175686','3.222.165.167'),(9814,'1758175686','3.222.165.167'),(9815,'1758182893','87.236.176.243'),(9816,'1758182894','67.222.45.11'),(9817,'1758185839','185.247.137.252'),(9818,'1758185839','67.222.45.11'),(9819,'1758186238','3.222.165.167'),(9820,'1758186238','3.222.165.167'),(9821,'1758198471','103.77.207.75'),(9822,'1758198471','67.222.45.11'),(9823,'1758215089','121.237.36.31'),(9824,'1758215239','121.237.36.30'),(9825,'1758215239','67.222.45.11'),(9826,'1758215377','121.237.36.29'),(9827,'1758215436','121.237.36.27'),(9828,'1758215745','121.237.36.31'),(9829,'1758218151','183.134.59.134'),(9830,'1758218151','67.222.45.11'),(9831,'1758218203','183.134.59.134'),(9832,'1758218314','183.134.59.134'),(9833,'1758233911','3.222.165.167'),(9834,'1758233911','3.222.165.167'),(9835,'1758233912','67.222.45.11'),(9836,'1758288285','162.142.125.201'),(9837,'1758288286','67.222.45.11'),(9838,'1758305158','138.246.253.24'),(9839,'1758305158','67.222.45.11'),(9840,'1758331105','13.40.85.16'),(9841,'1758331105','67.222.45.11'),(9842,'1758331109','67.222.45.11'),(9843,'1758331109','67.222.45.11'),(9844,'1758331109','67.222.45.11'),(9845,'1758331110','67.222.45.11'),(9846,'1758331110','67.222.45.11'),(9847,'1758348386','121.237.36.30'),(9848,'1758348387','67.222.45.11'),(9849,'1758348780','121.237.36.29'),(9850,'1758349021','121.237.36.29'),(9851,'1758349040','116.169.111.84'),(9852,'1758461842','205.210.31.33'),(9853,'1758461843','67.222.45.11'),(9854,'1758534080','198.235.24.38'),(9855,'1758534080','67.222.45.11'),(9856,'1758602623','124.236.100.56'),(9857,'1758647783','3.19.217.90'),(9858,'1758647784','67.222.45.11'),(9859,'1758672338','45.148.10.248'),(9860,'1758672338','67.222.45.11'),(9861,'1758672353','45.148.10.248'),(9862,'1758672353','45.148.10.248'),(9863,'1758672353','45.148.10.248'),(9864,'1758672353','45.148.10.248'),(9865,'1758672353','45.148.10.248'),(9866,'1758672353','45.148.10.248'),(9867,'1758672355','45.148.10.248'),(9868,'1758672368','45.148.10.248'),(9869,'1758672368','45.148.10.248'),(9870,'1758672368','45.148.10.248'),(9871,'1758672370','45.148.10.248'),(9872,'1758672370','45.148.10.248'),(9873,'1758672370','45.148.10.248'),(9874,'1758672382','45.148.10.248'),(9875,'1758672382','45.148.10.248'),(9876,'1758672382','45.148.10.248'),(9877,'1758672382','45.148.10.248'),(9878,'1758672384','45.148.10.248'),(9879,'1758672384','45.148.10.248'),(9880,'1758672393','45.148.10.248'),(9881,'1758672393','45.148.10.248'),(9882,'1758672393','45.148.10.248'),(9883,'1758672393','45.148.10.248'),(9884,'1758672395','45.148.10.248'),(9885,'1758672396','45.148.10.248'),(9886,'1758672396','45.148.10.248'),(9887,'1758672407','45.148.10.248'),(9888,'1758672407','45.148.10.248'),(9889,'1758672407','45.148.10.248'),(9890,'1758672407','45.148.10.248'),(9891,'1758672407','45.148.10.248'),(9892,'1758672409','45.148.10.248'),(9893,'1758672409','45.148.10.248'),(9894,'1758834592','18.118.151.135'),(9895,'1758834592','67.222.45.11'),(9896,'1758842467','45.141.87.49'),(9897,'1758842467','67.222.45.11'),(9898,'1758842468','45.141.87.49'),(9899,'1758842468','45.141.87.49'),(9900,'1758842468','45.141.87.49'),(9901,'1758842469','45.141.87.49'),(9902,'1758842469','45.141.87.49'),(9903,'1758842469','45.141.87.49'),(9904,'1758842470','45.141.87.49'),(9905,'1758885273','138.246.253.24'),(9906,'1758885273','67.222.45.11'),(9907,'1758902176','45.148.10.248'),(9908,'1758902177','67.222.45.11'),(9909,'1758902200','45.148.10.248'),(9910,'1758902200','45.148.10.248'),(9911,'1758902200','45.148.10.248'),(9912,'1758902200','45.148.10.248'),(9913,'1758902200','45.148.10.248'),(9914,'1758902200','45.148.10.248'),(9915,'1758902200','45.148.10.248'),(9916,'1758902227','45.148.10.248'),(9917,'1758902227','45.148.10.248'),(9918,'1758902227','45.148.10.248'),(9919,'1758902227','45.148.10.248'),(9920,'1758902227','45.148.10.248'),(9921,'1758902228','45.148.10.248'),(9922,'1758902257','45.148.10.248'),(9923,'1758902257','45.148.10.248'),(9924,'1758902257','45.148.10.248'),(9925,'1758902257','45.148.10.248'),(9926,'1758902258','45.148.10.248'),(9927,'1758902258','45.148.10.248'),(9928,'1758902286','45.148.10.248'),(9929,'1758902286','45.148.10.248'),(9930,'1758902286','45.148.10.248'),(9931,'1758902286','45.148.10.248'),(9932,'1758902286','45.148.10.248'),(9933,'1758902287','45.148.10.248'),(9934,'1758902287','45.148.10.248'),(9935,'1758902320','45.148.10.248'),(9936,'1758902320','45.148.10.248'),(9937,'1758902320','45.148.10.248'),(9938,'1758902320','45.148.10.248'),(9939,'1758902320','45.148.10.248'),(9940,'1758902320','45.148.10.248'),(9941,'1758910259','45.141.87.49'),(9942,'1758910260','67.222.45.11'),(9943,'1758910260','45.141.87.49'),(9944,'1758910261','45.141.87.49'),(9945,'1758910261','45.141.87.49'),(9946,'1758910261','45.141.87.49'),(9947,'1758910262','45.141.87.49'),(9948,'1758910262','45.141.87.49'),(9949,'1758910262','45.141.87.49'),(9950,'1758917473','145.220.91.19'),(9951,'1758917473','67.222.45.11'),(9952,'1758963165','64.225.75.246'),(9953,'1758963167','64.225.75.246'),(9954,'1758963171','45.11.80.197'),(9955,'1758963171','64.225.75.246'),(9956,'1758963312','146.70.185.32'),(9957,'1758963313','67.222.45.11'),(9958,'1758963316','67.222.45.11'),(9959,'1758963316','67.222.45.11'),(9960,'1758963316','67.222.45.11'),(9961,'1758963316','67.222.45.11'),(9962,'1758963317','67.222.45.11'),(9963,'1758989325','106.75.130.248'),(9964,'1758989325','67.222.45.11'),(9965,'1758989335','58.212.237.9'),(9966,'1758989435','106.75.164.139'),(9967,'1758994133','34.87.124.96'),(9968,'1758994133','67.222.45.11'),(9969,'1758997199','185.177.72.47'),(9970,'1758997199','67.222.45.11'),(9971,'1759004704','128.192.12.101'),(9972,'1759004704','67.222.45.11'),(9973,'1759005823','138.197.162.178'),(9974,'1759005823','67.222.45.11'),(9975,'1759015096','196.251.88.64'),(9976,'1759015096','67.222.45.11'),(9977,'1759054103','92.60.40.228'),(9978,'1759054103','67.222.45.11'),(9979,'1759057736','34.13.227.254'),(9980,'1759057736','67.222.45.11'),(9981,'1759061939','213.209.157.244'),(9982,'1759061939','67.222.45.11'),(9983,'1759062669','185.177.72.23'),(9984,'1759062670','185.177.72.23'),(9985,'1759062672','185.177.72.23'),(9986,'1759092461','196.251.88.64'),(9987,'1759092461','67.222.45.11'),(9988,'1759105807','91.231.89.120'),(9989,'1759105807','67.222.45.11'),(9990,'1759106286','91.196.152.148'),(9991,'1759106286','67.222.45.11'),(9992,'1759110617','51.254.49.102'),(9993,'1759110617','67.222.45.11'),(9994,'1759118685','196.251.88.64'),(9995,'1759118685','67.222.45.11'),(9996,'1759120303','15.235.212.14'),(9997,'1759128383','146.70.185.32'),(9998,'1759128383','146.70.185.32'),(9999,'1759128383','67.222.45.11'),(10000,'1759128996','185.177.72.21'),(10001,'1759128998','185.177.72.21'),(10002,'1759129000','185.177.72.21'),(10003,'1759146005','35.237.204.5'),(10004,'1759146005','67.222.45.11'),(10005,'1759171610','35.224.23.203'),(10006,'1759171610','67.222.45.11'),(10007,'1759173549','159.89.91.201'),(10008,'1759179275','185.177.72.47'),(10009,'1759179275','67.222.45.11'),(10010,'1759193995','213.209.157.244'),(10011,'1759195117','185.177.72.23'),(10012,'1759195117','67.222.45.11'),(10013,'1759195119','185.177.72.23'),(10014,'1759195121','185.177.72.23'),(10015,'1759220798','46.101.89.178'),(10016,'1759220798','67.222.45.11'),(10017,'1759244308','199.45.154.142'),(10018,'1759244308','67.222.45.11'),(10019,'1759300264','81.17.20.98'),(10020,'1759300264','67.222.45.11'),(10021,'1759300291','81.17.20.98'),(10022,'1759300291','81.17.20.98'),(10023,'1759300292','81.17.20.98'),(10024,'1759300292','81.17.20.98'),(10025,'1759300292','81.17.20.98'),(10026,'1759300292','81.17.20.98'),(10027,'1759300292','81.17.20.98'),(10028,'1759300329','81.17.20.98'),(10029,'1759300329','81.17.20.98'),(10030,'1759300329','81.17.20.98'),(10031,'1759300329','81.17.20.98'),(10032,'1759300329','81.17.20.98'),(10033,'1759300329','81.17.20.98'),(10034,'1759300330','81.17.20.98'),(10035,'1759300372','81.17.20.98'),(10036,'1759300372','81.17.20.98'),(10037,'1759300372','81.17.20.98'),(10038,'1759300372','81.17.20.98'),(10039,'1759300372','81.17.20.98'),(10040,'1759300372','81.17.20.98'),(10041,'1759300372','81.17.20.98'),(10042,'1759300410','81.17.20.98'),(10043,'1759300410','81.17.20.98'),(10044,'1759300410','81.17.20.98'),(10045,'1759300411','81.17.20.98'),(10046,'1759300411','81.17.20.98'),(10047,'1759300411','81.17.20.98'),(10048,'1759300411','81.17.20.98'),(10049,'1759300459','81.17.20.98'),(10050,'1759300459','81.17.20.98'),(10051,'1759300459','81.17.20.98'),(10052,'1759300459','81.17.20.98'),(10053,'1759300459','81.17.20.98'),(10054,'1759300459','81.17.20.98'),(10055,'1759342994','192.81.210.82'),(10056,'1759342994','67.222.45.11'),(10057,'1759354925','34.16.214.173'),(10058,'1759354925','67.222.45.11'),(10059,'1759414228','138.246.253.24'),(10060,'1759414229','67.222.45.11'),(10061,'1759486647','205.210.31.108'),(10062,'1759486648','67.222.45.11'),(10063,'1759493560','198.235.24.42'),(10064,'1759493560','67.222.45.11'),(10065,'1759517943','198.235.24.27'),(10066,'1759517943','67.222.45.11'),(10067,'1759537170','205.210.31.20'),(10068,'1759537170','67.222.45.11'),(10069,'1759537446','198.235.24.73'),(10070,'1759537446','198.235.24.74'),(10071,'1759639510','3.222.165.167'),(10072,'1759639510','3.222.165.167'),(10073,'1759639510','67.222.45.11'),(10074,'1759639512','67.222.45.11'),(10075,'1759639512','67.222.45.11'),(10076,'1759639512','67.222.45.11'),(10077,'1759639512','67.222.45.11'),(10078,'1759639512','67.222.45.11'),(10079,'1759642319','93.123.109.7'),(10080,'1759647331','147.185.132.22'),(10081,'1759647331','67.222.45.11'),(10082,'1759658716','198.235.24.168'),(10083,'1759658717','67.222.45.11'),(10084,'1759665531','137.184.177.9'),(10085,'1759665531','67.222.45.11'),(10086,'1759675179','134.209.166.60'),(10087,'1759675179','67.222.45.11'),(10088,'1759707021','35.178.120.170'),(10089,'1759707021','67.222.45.11'),(10090,'1759714161','81.17.20.98'),(10091,'1759714161','67.222.45.11'),(10092,'1759714177','81.17.20.98'),(10093,'1759714177','81.17.20.98'),(10094,'1759714177','81.17.20.98'),(10095,'1759714177','81.17.20.98'),(10096,'1759714177','81.17.20.98'),(10097,'1759714177','81.17.20.98'),(10098,'1759714177','81.17.20.98'),(10099,'1759714198','81.17.20.98'),(10100,'1759714198','81.17.20.98'),(10101,'1759714198','81.17.20.98'),(10102,'1759714198','81.17.20.98'),(10103,'1759714198','81.17.20.98'),(10104,'1759714199','81.17.20.98'),(10105,'1759714199','81.17.20.98'),(10106,'1759714220','81.17.20.98'),(10107,'1759714220','81.17.20.98'),(10108,'1759714220','81.17.20.98'),(10109,'1759714220','81.17.20.98'),(10110,'1759714220','81.17.20.98'),(10111,'1759714221','81.17.20.98'),(10112,'1759714221','81.17.20.98'),(10113,'1759714239','81.17.20.98'),(10114,'1759714239','81.17.20.98'),(10115,'1759714239','81.17.20.98'),(10116,'1759714239','81.17.20.98'),(10117,'1759714240','81.17.20.98'),(10118,'1759714240','81.17.20.98'),(10119,'1759714240','81.17.20.98'),(10120,'1759714260','81.17.20.98'),(10121,'1759714260','81.17.20.98'),(10122,'1759714261','81.17.20.98'),(10123,'1759714261','81.17.20.98'),(10124,'1759714261','81.17.20.98'),(10125,'1759714261','81.17.20.98'),(10126,'1759714261','81.17.20.98'),(10127,'1759735177','135.148.100.196'),(10128,'1759735177','67.222.45.11'),(10129,'1759820285','137.184.177.9'),(10130,'1759820285','67.222.45.11'),(10131,'1759852941','31.57.47.253'),(10132,'1759906408','104.248.183.157'),(10133,'1759906408','67.222.45.11'),(10134,'1759906409','104.248.183.157'),(10135,'1759906410','104.248.183.157'),(10136,'1759906411','104.248.183.157'),(10137,'1759906412','104.248.183.157'),(10138,'1759906414','104.248.183.157'),(10139,'1759906416','104.248.183.157'),(10140,'1759906509','104.248.183.157'),(10141,'1759906547','104.248.183.157'),(10142,'1759906557','104.248.183.157'),(10143,'1759906563','104.248.183.157'),(10144,'1759906565','104.248.183.157'),(10145,'1759906723','104.248.183.157'),(10146,'1759906724','104.248.183.157'),(10147,'1759906726','104.248.183.157'),(10148,'1759906734','104.248.183.157'),(10149,'1759906756','104.248.183.157'),(10150,'1759906760','104.248.183.157'),(10151,'1759906760','104.248.183.157'),(10152,'1759906822','104.248.183.157'),(10153,'1759906822','104.248.183.157'),(10154,'1759906822','104.248.183.157'),(10155,'1759906822','104.248.183.157'),(10156,'1759906822','104.248.183.157'),(10157,'1759906822','104.248.183.157'),(10158,'1759906822','104.248.183.157'),(10159,'1759906822','104.248.183.157'),(10160,'1759906822','104.248.183.157'),(10161,'1759906893','104.248.183.157'),(10162,'1759906925','104.248.183.157'),(10163,'1759907141','104.248.183.157'),(10164,'1759907142','104.248.183.157'),(10165,'1759907275','104.248.183.157'),(10166,'1759907293','104.248.183.157'),(10167,'1759907333','104.248.183.157'),(10168,'1759907393','104.248.183.157'),(10169,'1759907414','104.248.183.157'),(10170,'1759907414','104.248.183.157'),(10171,'1759907418','104.248.183.157'),(10172,'1759907423','104.248.183.157'),(10173,'1759907525','104.248.183.157'),(10174,'1759907536','104.248.183.157'),(10175,'1759907603','104.248.183.157'),(10176,'1759907613','104.248.183.157'),(10177,'1759907646','104.248.183.157'),(10178,'1759907647','104.248.183.157'),(10179,'1759907659','104.248.183.157'),(10180,'1759907668','104.248.183.157'),(10181,'1759907673','104.248.183.157'),(10182,'1759907678','104.248.183.157'),(10183,'1759907694','104.248.183.157'),(10184,'1759907756','104.248.183.157'),(10185,'1759907794','104.248.183.157'),(10186,'1759907830','104.248.183.157'),(10187,'1759907869','104.248.183.157'),(10188,'1759907884','104.248.183.157'),(10189,'1759907904','104.248.183.157'),(10190,'1759907904','104.248.183.157'),(10191,'1759907988','104.248.183.157'),(10192,'1759907995','104.248.183.157'),(10193,'1759908143','104.248.183.157'),(10194,'1759908163','104.248.183.157'),(10195,'1759908163','104.248.183.157'),(10196,'1759908195','104.248.183.157'),(10197,'1759908253','104.248.183.157'),(10198,'1759908297','104.248.183.157'),(10199,'1759908405','104.248.183.157'),(10200,'1759908405','104.248.183.157'),(10201,'1759908410','104.248.183.157'),(10202,'1759908429','104.248.183.157'),(10203,'1759908479','104.248.183.157'),(10204,'1759908491','104.248.183.157'),(10205,'1759908512','104.248.183.157'),(10206,'1759908513','104.248.183.157'),(10207,'1759908528','104.248.183.157'),(10208,'1759908569','104.248.183.157'),(10209,'1759908684','104.248.183.157'),(10210,'1759908693','104.248.183.157'),(10211,'1759908737','104.248.183.157'),(10212,'1759908807','104.248.183.157'),(10213,'1759908808','104.248.183.157'),(10214,'1759908819','104.248.183.157'),(10215,'1759908843','104.248.183.157'),(10216,'1759908867','104.248.183.157'),(10217,'1759908872','104.248.183.157'),(10218,'1759908872','104.248.183.157'),(10219,'1759908885','104.248.183.157'),(10220,'1759908903','67.222.45.11'),(10221,'1759908935','104.248.183.157'),(10222,'1759908996','104.248.183.157'),(10223,'1759909004','104.248.183.157'),(10224,'1759909008','104.248.183.157'),(10225,'1759909020','104.248.183.157'),(10226,'1759909034','104.248.183.157'),(10227,'1759909068','104.248.183.157'),(10228,'1759909068','104.248.183.157'),(10229,'1759909068','104.248.183.157'),(10230,'1759909068','104.248.183.157'),(10231,'1759909102','104.248.183.157'),(10232,'1759909120','104.248.183.157'),(10233,'1759909213','104.248.183.157'),(10234,'1759909245','104.248.183.157'),(10235,'1759909260','104.248.183.157'),(10236,'1759909260','104.248.183.157'),(10237,'1759909301','104.248.183.157'),(10238,'1759909356','104.248.183.157'),(10239,'1759909363','104.248.183.157'),(10240,'1759909379','104.248.183.157'),(10241,'1759909384','104.248.183.157'),(10242,'1759909436','104.248.183.157'),(10243,'1759909442','104.248.183.157'),(10244,'1759909461','104.248.183.157'),(10245,'1759909481','104.248.183.157'),(10246,'1759909570','104.248.183.157'),(10247,'1759909600','104.248.183.157'),(10248,'1759909612','104.248.183.157'),(10249,'1759909625','104.248.183.157'),(10250,'1759909744','104.248.183.157'),(10251,'1759909745','104.248.183.157'),(10252,'1759909746','104.248.183.157'),(10253,'1759909756','104.248.183.157'),(10254,'1759909796','104.248.183.157'),(10255,'1759909836','104.248.183.157'),(10256,'1759909862','104.248.183.157'),(10257,'1759909877','104.248.183.157'),(10258,'1759909900','104.248.183.157'),(10259,'1759909951','104.248.183.157'),(10260,'1759909954','104.248.183.157'),(10261,'1759909959','104.248.183.157'),(10262,'1759909993','104.248.183.157'),(10263,'1759910010','104.248.183.157'),(10264,'1759910019','104.248.183.157'),(10265,'1759910025','104.248.183.157'),(10266,'1759910028','104.248.183.157'),(10267,'1759910093','104.248.183.157'),(10268,'1759910113','104.248.183.157'),(10269,'1759910121','104.248.183.157'),(10270,'1759910152','104.248.183.157'),(10271,'1759910180','104.248.183.157'),(10272,'1759910187','104.248.183.157'),(10273,'1759910193','104.248.183.157'),(10274,'1759910224','104.248.183.157'),(10275,'1759910254','104.248.183.157'),(10276,'1759910298','104.248.183.157'),(10277,'1759910298','104.248.183.157'),(10278,'1759910298','104.248.183.157'),(10279,'1759910307','104.248.183.157'),(10280,'1759910329','104.248.183.157'),(10281,'1759910374','104.248.183.157'),(10282,'1759910396','104.248.183.157'),(10283,'1759910429','104.248.183.157'),(10284,'1759910435','104.248.183.157'),(10285,'1759910465','104.248.183.157'),(10286,'1759910514','104.248.183.157'),(10287,'1759910590','104.248.183.157'),(10288,'1759910613','104.248.183.157'),(10289,'1759910625','104.248.183.157'),(10290,'1759910625','104.248.183.157'),(10291,'1759910635','104.248.183.157'),(10292,'1759910656','104.248.183.157'),(10293,'1759910660','104.248.183.157'),(10294,'1759910765','104.248.183.157'),(10295,'1759910773','104.248.183.157'),(10296,'1759910805','104.248.183.157'),(10297,'1759910892','104.248.183.157'),(10298,'1759910923','104.248.183.157'),(10299,'1759910972','104.248.183.157'),(10300,'1759911064','104.248.183.157'),(10301,'1759911099','104.248.183.157'),(10302,'1759911113','104.248.183.157'),(10303,'1759911124','104.248.183.157'),(10304,'1759911154','104.248.183.157'),(10305,'1759911165','104.248.183.157'),(10306,'1759911241','104.248.183.157'),(10307,'1759911294','104.248.183.157'),(10308,'1759911298','104.248.183.157'),(10309,'1759911353','104.248.183.157'),(10310,'1759911417','104.248.183.157'),(10311,'1759911514','104.248.183.157'),(10312,'1759911573','104.248.183.157'),(10313,'1759911595','104.248.183.157'),(10314,'1759911622','104.248.183.157'),(10315,'1759911636','104.248.183.157'),(10316,'1759911662','104.248.183.157'),(10317,'1759911737','104.248.183.157'),(10318,'1759911762','104.248.183.157'),(10319,'1759911841','104.248.183.157'),(10320,'1759911874','104.248.183.157'),(10321,'1759911889','104.248.183.157'),(10322,'1759911890','104.248.183.157'),(10323,'1759911942','104.248.183.157'),(10324,'1759911976','104.248.183.157'),(10325,'1759911989','104.248.183.157'),(10326,'1759911995','104.248.183.157'),(10327,'1759911996','104.248.183.157'),(10328,'1759911996','104.248.183.157'),(10329,'1759912036','104.248.183.157'),(10330,'1759912071','104.248.183.157'),(10331,'1759912167','104.248.183.157'),(10332,'1759912186','104.248.183.157'),(10333,'1759912213','104.248.183.157'),(10334,'1759912219','104.248.183.157'),(10335,'1759912228','104.248.183.157'),(10336,'1759912264','104.248.183.157'),(10337,'1759912394','104.248.183.157'),(10338,'1759912468','104.248.183.157'),(10339,'1759912468','104.248.183.157'),(10340,'1759912473','104.248.183.157'),(10341,'1759912500','104.248.183.157'),(10342,'1759912578','104.248.183.157'),(10343,'1759912578','67.222.45.11'),(10344,'1759912610','104.248.183.157'),(10345,'1759912614','104.248.183.157'),(10346,'1759912627','104.248.183.157'),(10347,'1759912646','104.248.183.157'),(10348,'1759912659','104.248.183.157'),(10349,'1759912661','104.248.183.157'),(10350,'1759912752','104.248.183.157'),(10351,'1759912779','104.248.183.157'),(10352,'1759912922','104.248.183.157'),(10353,'1759912939','104.248.183.157'),(10354,'1759913153','104.248.183.157'),(10355,'1759913174','104.248.183.157'),(10356,'1759913245','104.248.183.157'),(10357,'1759913287','104.248.183.157'),(10358,'1759913302','104.248.183.157'),(10359,'1759913325','104.248.183.157'),(10360,'1759913335','104.248.183.157'),(10361,'1759913335','104.248.183.157'),(10362,'1759913335','104.248.183.157'),(10363,'1759913335','104.248.183.157'),(10364,'1759913335','104.248.183.157'),(10365,'1759913335','104.248.183.157'),(10366,'1759913335','104.248.183.157'),(10367,'1759913335','104.248.183.157'),(10368,'1759913335','104.248.183.157'),(10369,'1759913335','104.248.183.157'),(10370,'1759913335','104.248.183.157'),(10371,'1759913336','104.248.183.157'),(10372,'1759913528','104.248.183.157'),(10373,'1759913543','104.248.183.157'),(10374,'1759913578','104.248.183.157'),(10375,'1759913615','104.248.183.157'),(10376,'1759913628','104.248.183.157'),(10377,'1759913636','104.248.183.157'),(10378,'1759913638','104.248.183.157'),(10379,'1759913638','104.248.183.157'),(10380,'1759913642','104.248.183.157'),(10381,'1759913670','104.248.183.157'),(10382,'1759913724','104.248.183.157'),(10383,'1759913730','104.248.183.157'),(10384,'1759913732','104.248.183.157'),(10385,'1759913766','104.248.183.157'),(10386,'1759913824','104.248.183.157'),(10387,'1759913825','104.248.183.157'),(10388,'1759913830','104.248.183.157'),(10389,'1759913843','104.248.183.157'),(10390,'1759913867','104.248.183.157'),(10391,'1759913967','104.248.183.157'),(10392,'1759913984','104.248.183.157'),(10393,'1759914022','104.248.183.157'),(10394,'1759914032','104.248.183.157'),(10395,'1759914054','104.248.183.157'),(10396,'1759914093','104.248.183.157'),(10397,'1759914104','104.248.183.157'),(10398,'1759914118','104.248.183.157'),(10399,'1759914120','104.248.183.157'),(10400,'1759914122','104.248.183.157'),(10401,'1759914137','104.248.183.157'),(10402,'1759914162','104.248.183.157'),(10403,'1759914189','104.248.183.157'),(10404,'1759914204','104.248.183.157'),(10405,'1759914285','104.248.183.157'),(10406,'1759914286','104.248.183.157'),(10407,'1759914308','104.248.183.157'),(10408,'1759914364','104.248.183.157'),(10409,'1759914435','104.248.183.157'),(10410,'1759914511','104.248.183.157'),(10411,'1759914576','104.248.183.157'),(10412,'1759914582','104.248.183.157'),(10413,'1759914590','104.248.183.157'),(10414,'1759914627','104.248.183.157'),(10415,'1759914627','104.248.183.157'),(10416,'1759914657','104.248.183.157'),(10417,'1759914707','104.248.183.157'),(10418,'1759914715','104.248.183.157'),(10419,'1759914760','104.248.183.157'),(10420,'1759914771','104.248.183.157'),(10421,'1759914848','104.248.183.157'),(10422,'1759914860','104.248.183.157'),(10423,'1759914860','104.248.183.157'),(10424,'1759914860','104.248.183.157'),(10425,'1759914994','104.248.183.157'),(10426,'1759915066','104.248.183.157'),(10427,'1759915076','104.248.183.157'),(10428,'1759915094','104.248.183.157'),(10429,'1759915094','104.248.183.157'),(10430,'1759915109','104.248.183.157'),(10431,'1759915130','104.248.183.157'),(10432,'1759915138','104.248.183.157'),(10433,'1759915160','104.248.183.157'),(10434,'1759915172','104.248.183.157'),(10435,'1759915185','104.248.183.157'),(10436,'1759915219','104.248.183.157'),(10437,'1759915362','104.248.183.157'),(10438,'1759915391','104.248.183.157'),(10439,'1759915532','104.248.183.157'),(10440,'1759915586','104.248.183.157'),(10441,'1759915590','104.248.183.157'),(10442,'1759915640','104.248.183.157'),(10443,'1759915640','104.248.183.157'),(10444,'1759915647','104.248.183.157'),(10445,'1759915654','104.248.183.157'),(10446,'1759915664','104.248.183.157'),(10447,'1759915669','104.248.183.157'),(10448,'1759915671','104.248.183.157'),(10449,'1759915702','104.248.183.157'),(10450,'1759915704','104.248.183.157'),(10451,'1759915889','104.248.183.157'),(10452,'1759915907','104.248.183.157'),(10453,'1759915907','104.248.183.157'),(10454,'1759915907','104.248.183.157'),(10455,'1759915939','104.248.183.157'),(10456,'1759915951','104.248.183.157'),(10457,'1759915973','104.248.183.157'),(10458,'1759915999','104.248.183.157'),(10459,'1759916004','104.248.183.157'),(10460,'1759916004','104.248.183.157'),(10461,'1759916058','104.248.183.157'),(10462,'1759916062','104.248.183.157'),(10463,'1759916069','104.248.183.157'),(10464,'1759916142','104.248.183.157'),(10465,'1759916142','67.222.45.11'),(10466,'1759916153','104.248.183.157'),(10467,'1759916166','104.248.183.157'),(10468,'1759916217','104.248.183.157'),(10469,'1759916250','104.248.183.157'),(10470,'1759916313','104.248.183.157'),(10471,'1759916332','104.248.183.157'),(10472,'1759916353','104.248.183.157'),(10473,'1759916362','104.248.183.157'),(10474,'1759916413','104.248.183.157'),(10475,'1759916420','104.248.183.157'),(10476,'1759916456','104.248.183.157'),(10477,'1759916474','104.248.183.157'),(10478,'1759916476','104.248.183.157'),(10479,'1759916499','104.248.183.157'),(10480,'1759916532','104.248.183.157'),(10481,'1759916599','104.248.183.157'),(10482,'1759916646','104.248.183.157'),(10483,'1759916680','104.248.183.157'),(10484,'1759916750','104.248.183.157'),(10485,'1759916778','104.248.183.157'),(10486,'1759916781','104.248.183.157'),(10487,'1759916785','104.248.183.157'),(10488,'1759916787','104.248.183.157'),(10489,'1759916831','104.248.183.157'),(10490,'1759916831','104.248.183.157'),(10491,'1759916851','104.248.183.157'),(10492,'1759917011','104.248.183.157'),(10493,'1759917014','104.248.183.157'),(10494,'1759917042','104.248.183.157'),(10495,'1759917044','104.248.183.157'),(10496,'1759917090','104.248.183.157'),(10497,'1759917094','104.248.183.157'),(10498,'1759917101','104.248.183.157'),(10499,'1759917105','104.248.183.157'),(10500,'1759917208','104.248.183.157'),(10501,'1759917214','104.248.183.157'),(10502,'1759917214','104.248.183.157'),(10503,'1759917319','104.248.183.157'),(10504,'1759917319','104.248.183.157'),(10505,'1759917319','104.248.183.157'),(10506,'1759917319','104.248.183.157'),(10507,'1759917326','104.248.183.157'),(10508,'1759917326','104.248.183.157'),(10509,'1759917326','104.248.183.157'),(10510,'1759917326','104.248.183.157'),(10511,'1759917344','104.248.183.157'),(10512,'1759917377','104.248.183.157'),(10513,'1759917391','104.248.183.157'),(10514,'1759917414','104.248.183.157'),(10515,'1759917431','104.248.183.157'),(10516,'1759917468','104.248.183.157'),(10517,'1759917491','104.248.183.157'),(10518,'1759917517','104.248.183.157'),(10519,'1759917588','104.248.183.157'),(10520,'1759917658','104.248.183.157'),(10521,'1759917691','104.248.183.157'),(10522,'1759917704','104.248.183.157'),(10523,'1759917712','104.248.183.157'),(10524,'1759917777','104.248.183.157'),(10525,'1759917803','104.248.183.157'),(10526,'1759917818','104.248.183.157'),(10527,'1759917845','104.248.183.157'),(10528,'1759917935','104.248.183.157'),(10529,'1759917952','104.248.183.157'),(10530,'1759917954','104.248.183.157'),(10531,'1759917961','104.248.183.157'),(10532,'1759917962','104.248.183.157'),(10533,'1759917962','104.248.183.157'),(10534,'1759917964','104.248.183.157'),(10535,'1759917970','104.248.183.157'),(10536,'1759918098','104.248.183.157'),(10537,'1759918114','104.248.183.157'),(10538,'1759918152','104.248.183.157'),(10539,'1759918171','104.248.183.157'),(10540,'1759918199','104.248.183.157'),(10541,'1759918227','104.248.183.157'),(10542,'1759918282','104.248.183.157'),(10543,'1759918306','104.248.183.157'),(10544,'1759918329','104.248.183.157'),(10545,'1759918330','104.248.183.157'),(10546,'1759918334','104.248.183.157'),(10547,'1759918361','104.248.183.157'),(10548,'1759918371','104.248.183.157'),(10549,'1759918390','104.248.183.157'),(10550,'1759918410','104.248.183.157'),(10551,'1759918437','104.248.183.157'),(10552,'1759918440','104.248.183.157'),(10553,'1759918507','104.248.183.157'),(10554,'1759918532','104.248.183.157'),(10555,'1759918557','104.248.183.157'),(10556,'1759918563','104.248.183.157'),(10557,'1759918569','104.248.183.157'),(10558,'1759918574','104.248.183.157'),(10559,'1759918582','104.248.183.157'),(10560,'1759918644','104.248.183.157'),(10561,'1759918646','104.248.183.157'),(10562,'1759918778','104.248.183.157'),(10563,'1759918778','104.248.183.157'),(10564,'1759918871','104.248.183.157'),(10565,'1759918887','104.248.183.157'),(10566,'1759918913','104.248.183.157'),(10567,'1759918918','104.248.183.157'),(10568,'1759918993','104.248.183.157'),(10569,'1759919079','104.248.183.157'),(10570,'1759919180','104.248.183.157'),(10571,'1759919204','104.248.183.157'),(10572,'1759919207','104.248.183.157'),(10573,'1759919207','104.248.183.157'),(10574,'1759919207','104.248.183.157'),(10575,'1759919207','104.248.183.157'),(10576,'1759919207','104.248.183.157'),(10577,'1759919207','104.248.183.157'),(10578,'1759919207','104.248.183.157'),(10579,'1759919207','104.248.183.157'),(10580,'1759919207','104.248.183.157'),(10581,'1759919207','104.248.183.157'),(10582,'1759919207','104.248.183.157'),(10583,'1759919207','104.248.183.157'),(10584,'1759919207','104.248.183.157'),(10585,'1759919207','104.248.183.157'),(10586,'1759919207','104.248.183.157'),(10587,'1759919207','104.248.183.157'),(10588,'1759919207','104.248.183.157'),(10589,'1759919207','104.248.183.157'),(10590,'1759919207','104.248.183.157'),(10591,'1759919207','104.248.183.157'),(10592,'1759919208','104.248.183.157'),(10593,'1759919208','104.248.183.157'),(10594,'1759919208','104.248.183.157'),(10595,'1759919208','104.248.183.157'),(10596,'1759919208','104.248.183.157'),(10597,'1759919265','104.248.183.157'),(10598,'1759919289','104.248.183.157'),(10599,'1759919362','104.248.183.157'),(10600,'1759919388','104.248.183.157'),(10601,'1759919421','104.248.183.157'),(10602,'1759919425','104.248.183.157'),(10603,'1759919578','104.248.183.157'),(10604,'1759919589','104.248.183.157'),(10605,'1759919646','104.248.183.157'),(10606,'1759919646','104.248.183.157'),(10607,'1759919660','104.248.183.157'),(10608,'1759919673','104.248.183.157'),(10609,'1759919678','104.248.183.157'),(10610,'1759919731','104.248.183.157'),(10611,'1759919731','67.222.45.11'),(10612,'1759919835','104.248.183.157'),(10613,'1759919848','104.248.183.157'),(10614,'1759919854','104.248.183.157'),(10615,'1759919899','104.248.183.157'),(10616,'1759919903','104.248.183.157'),(10617,'1759919941','104.248.183.157'),(10618,'1759920010','104.248.183.157'),(10619,'1759920099','104.248.183.157'),(10620,'1759920104','104.248.183.157'),(10621,'1759920115','104.248.183.157'),(10622,'1759920123','104.248.183.157'),(10623,'1759920137','104.248.183.157'),(10624,'1759920141','104.248.183.157'),(10625,'1759920165','104.248.183.157'),(10626,'1759920288','104.248.183.157'),(10627,'1759920324','104.248.183.157'),(10628,'1759920324','104.248.183.157'),(10629,'1759920354','104.248.183.157'),(10630,'1759920369','104.248.183.157'),(10631,'1759920369','104.248.183.157'),(10632,'1759920369','104.248.183.157'),(10633,'1759920369','104.248.183.157'),(10634,'1759920369','104.248.183.157'),(10635,'1759920387','104.248.183.157'),(10636,'1759920404','104.248.183.157'),(10637,'1759920433','104.248.183.157'),(10638,'1759920489','104.248.183.157'),(10639,'1759920527','104.248.183.157'),(10640,'1759920592','104.248.183.157'),(10641,'1759920597','104.248.183.157'),(10642,'1759920627','104.248.183.157'),(10643,'1759920700','104.248.183.157'),(10644,'1759920752','104.248.183.157'),(10645,'1759920755','104.248.183.157'),(10646,'1759920772','104.248.183.157'),(10647,'1759920780','104.248.183.157'),(10648,'1759920784','104.248.183.157'),(10649,'1759920790','104.248.183.157'),(10650,'1759920790','104.248.183.157'),(10651,'1759920837','104.248.183.157'),(10652,'1759920873','104.248.183.157'),(10653,'1759920906','104.248.183.157'),(10654,'1759920921','104.248.183.157'),(10655,'1759920930','104.248.183.157'),(10656,'1759920990','104.248.183.157'),(10657,'1759921002','104.248.183.157'),(10658,'1759921037','104.248.183.157'),(10659,'1759921070','104.248.183.157'),(10660,'1759921095','104.248.183.157'),(10661,'1759921127','104.248.183.157'),(10662,'1759921129','104.248.183.157'),(10663,'1759921133','104.248.183.157'),(10664,'1759921228','104.248.183.157'),(10665,'1759921265','104.248.183.157'),(10666,'1759921325','104.248.183.157'),(10667,'1759921329','104.248.183.157'),(10668,'1759921350','104.248.183.157'),(10669,'1759921350','104.248.183.157'),(10670,'1759921350','104.248.183.157'),(10671,'1759921352','104.248.183.157'),(10672,'1759921440','104.248.183.157'),(10673,'1759921440','104.248.183.157'),(10674,'1759921441','104.248.183.157'),(10675,'1759921482','104.248.183.157'),(10676,'1759921515','104.248.183.157'),(10677,'1759921526','104.248.183.157'),(10678,'1759921547','104.248.183.157'),(10679,'1759921548','104.248.183.157'),(10680,'1759921548','104.248.183.157'),(10681,'1759921552','104.248.183.157'),(10682,'1759921555','104.248.183.157'),(10683,'1759921577','104.248.183.157'),(10684,'1759921599','104.248.183.157'),(10685,'1759921661','104.248.183.157'),(10686,'1759921759','104.248.183.157'),(10687,'1759921768','104.248.183.157'),(10688,'1759921774','104.248.183.157'),(10689,'1759921844','104.248.183.157'),(10690,'1759921852','104.248.183.157'),(10691,'1759921920','104.248.183.157'),(10692,'1759921941','104.248.183.157'),(10693,'1759921950','104.248.183.157'),(10694,'1759921985','104.248.183.157'),(10695,'1759922062','104.248.183.157'),(10696,'1759922065','104.248.183.157'),(10697,'1759922113','104.248.183.157'),(10698,'1759922114','104.248.183.157'),(10699,'1759922146','104.248.183.157'),(10700,'1759922167','104.248.183.157'),(10701,'1759922167','104.248.183.157'),(10702,'1759922188','104.248.183.157'),(10703,'1759922188','104.248.183.157'),(10704,'1759922188','104.248.183.157'),(10705,'1759922242','104.248.183.157'),(10706,'1759922252','104.248.183.157'),(10707,'1759922267','104.248.183.157'),(10708,'1759922288','104.248.183.157'),(10709,'1759922319','104.248.183.157'),(10710,'1759922341','104.248.183.157'),(10711,'1759922343','104.248.183.157'),(10712,'1759922351','104.248.183.157'),(10713,'1759922356','104.248.183.157'),(10714,'1759922377','104.248.183.157'),(10715,'1759922398','104.248.183.157'),(10716,'1759922400','104.248.183.157'),(10717,'1759922403','104.248.183.157'),(10718,'1759922406','104.248.183.157'),(10719,'1759922429','104.248.183.157'),(10720,'1759922453','104.248.183.157'),(10721,'1759922498','104.248.183.157'),(10722,'1759922510','104.248.183.157'),(10723,'1759922541','104.248.183.157'),(10724,'1759922541','104.248.183.157'),(10725,'1759922590','104.248.183.157'),(10726,'1759922639','104.248.183.157'),(10727,'1759922641','104.248.183.157'),(10728,'1759922656','104.248.183.157'),(10729,'1759922666','104.248.183.157'),(10730,'1759922683','104.248.183.157'),(10731,'1759922683','104.248.183.157'),(10732,'1759922684','104.248.183.157'),(10733,'1759922684','104.248.183.157'),(10734,'1759922788','104.248.183.157'),(10735,'1759922820','104.248.183.157'),(10736,'1759922821','104.248.183.157'),(10737,'1759922858','104.248.183.157'),(10738,'1759922869','104.248.183.157'),(10739,'1759922879','104.248.183.157'),(10740,'1759922889','104.248.183.157'),(10741,'1759922927','104.248.183.157'),(10742,'1759922943','104.248.183.157'),(10743,'1759922968','104.248.183.157'),(10744,'1759923050','104.248.183.157'),(10745,'1759923057','104.248.183.157'),(10746,'1759923083','104.248.183.157'),(10747,'1759923087','104.248.183.157'),(10748,'1759923094','104.248.183.157'),(10749,'1759923114','104.248.183.157'),(10750,'1759923123','104.248.183.157'),(10751,'1759923130','104.248.183.157'),(10752,'1759923173','104.248.183.157'),(10753,'1759923180','104.248.183.157'),(10754,'1759923210','104.248.183.157'),(10755,'1759923248','104.248.183.157'),(10756,'1759923256','104.248.183.157'),(10757,'1759923260','104.248.183.157'),(10758,'1759923283','104.248.183.157'),(10759,'1759923285','104.248.183.157'),(10760,'1759923291','104.248.183.157'),(10761,'1759923314','104.248.183.157'),(10762,'1759923314','67.222.45.11'),(10763,'1759923322','104.248.183.157'),(10764,'1759923324','104.248.183.157'),(10765,'1759923338','104.248.183.157'),(10766,'1759923370','104.248.183.157'),(10767,'1759923374','104.248.183.157'),(10768,'1759923378','104.248.183.157'),(10769,'1759923398','104.248.183.157'),(10770,'1759923489','104.248.183.157'),(10771,'1759923489','104.248.183.157'),(10772,'1759923498','104.248.183.157'),(10773,'1759923500','104.248.183.157'),(10774,'1759923522','104.248.183.157'),(10775,'1759923554','104.248.183.157'),(10776,'1759923569','104.248.183.157'),(10777,'1759923622','104.248.183.157'),(10778,'1759923636','104.248.183.157'),(10779,'1759923637','104.248.183.157'),(10780,'1759923644','104.248.183.157'),(10781,'1759923662','104.248.183.157'),(10782,'1759923685','104.248.183.157'),(10783,'1759923729','104.248.183.157'),(10784,'1759923744','104.248.183.157'),(10785,'1759923767','104.248.183.157'),(10786,'1759923770','104.248.183.157'),(10787,'1759923770','104.248.183.157'),(10788,'1759923847','104.248.183.157'),(10789,'1759923880','104.248.183.157'),(10790,'1759923885','104.248.183.157'),(10791,'1759923933','104.248.183.157'),(10792,'1759923957','104.248.183.157'),(10793,'1759923964','104.248.183.157'),(10794,'1759923977','104.248.183.157'),(10795,'1759924022','104.248.183.157'),(10796,'1759924068','198.235.24.94'),(10797,'1759924116','104.248.183.157'),(10798,'1759924119','104.248.183.157'),(10799,'1759924137','104.248.183.157'),(10800,'1759924152','104.248.183.157'),(10801,'1759924155','104.248.183.157'),(10802,'1759924158','104.248.183.157'),(10803,'1759924173','104.248.183.157'),(10804,'1759924220','104.248.183.157'),(10805,'1759924260','104.248.183.157'),(10806,'1759924270','104.248.183.157'),(10807,'1759924286','104.248.183.157'),(10808,'1759924298','104.248.183.157'),(10809,'1759924316','104.248.183.157'),(10810,'1759924318','104.248.183.157'),(10811,'1759924324','104.248.183.157'),(10812,'1759924325','104.248.183.157'),(10813,'1759924378','104.248.183.157'),(10814,'1759924389','104.248.183.157'),(10815,'1759924434','104.248.183.157'),(10816,'1759924442','104.248.183.157'),(10817,'1759924456','104.248.183.157'),(10818,'1759924481','104.248.183.157'),(10819,'1759924546','104.248.183.157'),(10820,'1759924560','104.248.183.157'),(10821,'1759924567','104.248.183.157'),(10822,'1759924589','104.248.183.157'),(10823,'1759924611','104.248.183.157'),(10824,'1759924611','104.248.183.157'),(10825,'1759924615','104.248.183.157'),(10826,'1759924616','104.248.183.157'),(10827,'1759924649','104.248.183.157'),(10828,'1759924668','104.248.183.157'),(10829,'1759924679','104.248.183.157'),(10830,'1759924696','104.248.183.157'),(10831,'1759924711','104.248.183.157'),(10832,'1759924738','104.248.183.157'),(10833,'1759924775','104.248.183.157'),(10834,'1759924806','104.248.183.157'),(10835,'1759924809','104.248.183.157'),(10836,'1759924836','104.248.183.157'),(10837,'1759924862','104.248.183.157'),(10838,'1759924877','104.248.183.157'),(10839,'1759924878','104.248.183.157'),(10840,'1759924906','104.248.183.157'),(10841,'1759924923','104.248.183.157'),(10842,'1759924927','104.248.183.157'),(10843,'1759924937','104.248.183.157'),(10844,'1759925000','104.248.183.157'),(10845,'1759925035','104.248.183.157'),(10846,'1759925045','104.248.183.157'),(10847,'1759925046','104.248.183.157'),(10848,'1759925071','104.248.183.157'),(10849,'1759925082','104.248.183.157'),(10850,'1759925110','104.248.183.157'),(10851,'1759925113','104.248.183.157'),(10852,'1759925137','104.248.183.157'),(10853,'1759925142','104.248.183.157'),(10854,'1759925164','104.248.183.157'),(10855,'1759925164','104.248.183.157'),(10856,'1759925164','104.248.183.157'),(10857,'1759925204','104.248.183.157'),(10858,'1759925241','104.248.183.157'),(10859,'1759925262','104.248.183.157'),(10860,'1759925281','104.248.183.157'),(10861,'1759925289','104.248.183.157'),(10862,'1759925292','104.248.183.157'),(10863,'1759925293','104.248.183.157'),(10864,'1759925326','104.248.183.157'),(10865,'1759925336','104.248.183.157'),(10866,'1759925352','104.248.183.157'),(10867,'1759925406','104.248.183.157'),(10868,'1759925406','104.248.183.157'),(10869,'1759925433','104.248.183.157'),(10870,'1759925451','104.248.183.157'),(10871,'1759925452','104.248.183.157'),(10872,'1759925472','104.248.183.157'),(10873,'1759925496','104.248.183.157'),(10874,'1759925501','104.248.183.157'),(10875,'1759925515','104.248.183.157'),(10876,'1759925525','104.248.183.157'),(10877,'1759925549','104.248.183.157'),(10878,'1759925549','104.248.183.157'),(10879,'1759925570','104.248.183.157'),(10880,'1759925586','104.248.183.157'),(10881,'1759925593','104.248.183.157'),(10882,'1759925608','104.248.183.157'),(10883,'1759925615','104.248.183.157'),(10884,'1759925642','104.248.183.157'),(10885,'1759925643','104.248.183.157'),(10886,'1759925666','104.248.183.157'),(10887,'1759925680','104.248.183.157'),(10888,'1759925712','104.248.183.157'),(10889,'1759925722','104.248.183.157'),(10890,'1759925794','104.248.183.157'),(10891,'1759925816','104.248.183.157'),(10892,'1759925866','104.248.183.157'),(10893,'1759925896','104.248.183.157'),(10894,'1759925899','104.248.183.157'),(10895,'1759925901','104.248.183.157'),(10896,'1759925930','104.248.183.157'),(10897,'1759925962','104.248.183.157'),(10898,'1759925992','104.248.183.157'),(10899,'1759926047','104.248.183.157'),(10900,'1759926048','104.248.183.157'),(10901,'1759926062','104.248.183.157'),(10902,'1759926093','104.248.183.157'),(10903,'1759926120','104.248.183.157'),(10904,'1759926148','104.248.183.157'),(10905,'1759926159','104.248.183.157'),(10906,'1759926159','104.248.183.157'),(10907,'1759926159','104.248.183.157'),(10908,'1759926159','104.248.183.157'),(10909,'1759926159','104.248.183.157'),(10910,'1759926159','104.248.183.157'),(10911,'1759926159','104.248.183.157'),(10912,'1759926159','104.248.183.157'),(10913,'1759926159','104.248.183.157'),(10914,'1759926159','104.248.183.157'),(10915,'1759926185','104.248.183.157'),(10916,'1759926212','104.248.183.157'),(10917,'1759926262','104.248.183.157'),(10918,'1759926327','104.248.183.157'),(10919,'1759926333','104.248.183.157'),(10920,'1759926345','104.248.183.157'),(10921,'1759926361','104.248.183.157'),(10922,'1759926371','104.248.183.157'),(10923,'1759926382','104.248.183.157'),(10924,'1759926416','104.248.183.157'),(10925,'1759926433','104.248.183.157'),(10926,'1759926478','104.248.183.157'),(10927,'1759926519','104.248.183.157'),(10928,'1759926536','104.248.183.157'),(10929,'1759926560','104.248.183.157'),(10930,'1759926570','104.248.183.157'),(10931,'1759926589','104.248.183.157'),(10932,'1759926592','104.248.183.157'),(10933,'1759926595','104.248.183.157'),(10934,'1759926646','104.248.183.157'),(10935,'1759926646','104.248.183.157'),(10936,'1759926649','104.248.183.157'),(10937,'1759926649','104.248.183.157'),(10938,'1759926690','104.248.183.157'),(10939,'1759926719','104.248.183.157'),(10940,'1759926731','104.248.183.157'),(10941,'1759926736','104.248.183.157'),(10942,'1759926784','104.248.183.157'),(10943,'1759926797','104.248.183.157'),(10944,'1759926807','104.248.183.157'),(10945,'1759926838','104.248.183.157'),(10946,'1759926847','104.248.183.157'),(10947,'1759926896','104.248.183.157'),(10948,'1759926900','104.248.183.157'),(10949,'1759926911','104.248.183.157'),(10950,'1759926911','104.248.183.157'),(10951,'1759926911','67.222.45.11'),(10952,'1759926920','104.248.183.157'),(10953,'1759926961','104.248.183.157'),(10954,'1759926962','104.248.183.157'),(10955,'1759926973','104.248.183.157'),(10956,'1759927002','104.248.183.157'),(10957,'1759927044','104.248.183.157'),(10958,'1759927164','104.248.183.157'),(10959,'1759927217','104.248.183.157'),(10960,'1759927217','104.248.183.157'),(10961,'1759927217','104.248.183.157'),(10962,'1759927217','104.248.183.157'),(10963,'1759927217','104.248.183.157'),(10964,'1759927217','104.248.183.157'),(10965,'1759927217','104.248.183.157'),(10966,'1759927217','104.248.183.157'),(10967,'1759927217','104.248.183.157'),(10968,'1759927217','104.248.183.157'),(10969,'1759927217','104.248.183.157'),(10970,'1759927272','104.248.183.157'),(10971,'1759927347','104.248.183.157'),(10972,'1759927348','104.248.183.157'),(10973,'1759927361','104.248.183.157'),(10974,'1759927361','104.248.183.157'),(10975,'1759927384','104.248.183.157'),(10976,'1759927396','104.248.183.157'),(10977,'1759927401','104.248.183.157'),(10978,'1759927454','104.248.183.157'),(10979,'1759927458','104.248.183.157'),(10980,'1759927459','104.248.183.157'),(10981,'1759927497','104.248.183.157'),(10982,'1759927509','104.248.183.157'),(10983,'1759927510','104.248.183.157'),(10984,'1759927512','104.248.183.157'),(10985,'1759927529','104.248.183.157'),(10986,'1759927570','104.248.183.157'),(10987,'1759927603','104.248.183.157'),(10988,'1759927618','104.248.183.157'),(10989,'1759927635','104.248.183.157'),(10990,'1759927681','104.248.183.157'),(10991,'1759927683','104.248.183.157'),(10992,'1759927704','104.248.183.157'),(10993,'1759927717','104.248.183.157'),(10994,'1759927726','104.248.183.157'),(10995,'1759927736','104.248.183.157'),(10996,'1759927782','104.248.183.157'),(10997,'1759927832','104.248.183.157'),(10998,'1759927840','104.248.183.157'),(10999,'1759927857','104.248.183.157'),(11000,'1759927872','104.248.183.157'),(11001,'1759927883','104.248.183.157'),(11002,'1759927885','104.248.183.157'),(11003,'1759927909','104.248.183.157'),(11004,'1759927932','104.248.183.157'),(11005,'1759927956','104.248.183.157'),(11006,'1759927957','104.248.183.157'),(11007,'1759927957','104.248.183.157'),(11008,'1759927958','104.248.183.157'),(11009,'1759928005','104.248.183.157'),(11010,'1759928005','104.248.183.157'),(11011,'1759928005','104.248.183.157'),(11012,'1759928111','104.248.183.157'),(11013,'1759928111','104.248.183.157'),(11014,'1759928128','104.248.183.157'),(11015,'1759928128','104.248.183.157'),(11016,'1759928128','104.248.183.157'),(11017,'1759928128','104.248.183.157'),(11018,'1759928128','104.248.183.157'),(11019,'1759928128','104.248.183.157'),(11020,'1759928128','104.248.183.157'),(11021,'1759928128','104.248.183.157'),(11022,'1759928139','104.248.183.157'),(11023,'1759928147','104.248.183.157'),(11024,'1759928147','104.248.183.157'),(11025,'1759928168','104.248.183.157'),(11026,'1759928229','104.248.183.157'),(11027,'1759928232','104.248.183.157'),(11028,'1759928299','104.248.183.157'),(11029,'1759928299','104.248.183.157'),(11030,'1759928299','104.248.183.157'),(11031,'1759928311','104.248.183.157'),(11032,'1759928313','104.248.183.157'),(11033,'1759928317','104.248.183.157'),(11034,'1759928319','104.248.183.157'),(11035,'1759928332','104.248.183.157'),(11036,'1759928334','104.248.183.157'),(11037,'1759928374','104.248.183.157'),(11038,'1759928374','104.248.183.157'),(11039,'1759928499','104.248.183.157'),(11040,'1759928529','104.248.183.157'),(11041,'1759928575','104.248.183.157'),(11042,'1759928626','104.248.183.157'),(11043,'1759928626','104.248.183.157'),(11044,'1759928626','104.248.183.157'),(11045,'1759928626','104.248.183.157'),(11046,'1759928626','104.248.183.157'),(11047,'1759928626','104.248.183.157'),(11048,'1759928660','104.248.183.157'),(11049,'1759928678','104.248.183.157'),(11050,'1759928678','104.248.183.157'),(11051,'1759928680','104.248.183.157'),(11052,'1759928683','104.248.183.157'),(11053,'1759928867','104.248.183.157'),(11054,'1759928878','104.248.183.157'),(11055,'1759928995','104.248.183.157'),(11056,'1759929016','104.248.183.157'),(11057,'1759929108','104.248.183.157'),(11058,'1759929162','104.248.183.157'),(11059,'1759929166','104.248.183.157'),(11060,'1759929234','104.248.183.157'),(11061,'1759929377','104.248.183.157'),(11062,'1759929415','104.248.183.157'),(11063,'1759929430','104.248.183.157'),(11064,'1759929692','104.248.183.157'),(11065,'1759929692','104.248.183.157'),(11066,'1759929692','104.248.183.157'),(11067,'1759929692','104.248.183.157'),(11068,'1759929692','104.248.183.157'),(11069,'1759929692','104.248.183.157'),(11070,'1759929692','104.248.183.157'),(11071,'1759929692','104.248.183.157'),(11072,'1759929692','104.248.183.157'),(11073,'1759929692','104.248.183.157'),(11074,'1759929692','104.248.183.157'),(11075,'1759929692','104.248.183.157'),(11076,'1759929692','104.248.183.157'),(11077,'1759929719','104.248.183.157'),(11078,'1759929861','104.248.183.157'),(11079,'1759929912','104.248.183.157'),(11080,'1759929931','104.248.183.157'),(11081,'1759929987','104.248.183.157'),(11082,'1759930027','104.248.183.157'),(11083,'1759930138','104.248.183.157'),(11084,'1759930193','104.248.183.157'),(11085,'1759930195','104.248.183.157'),(11086,'1759930261','104.248.183.157'),(11087,'1759930421','104.248.183.157'),(11088,'1759930535','104.248.183.157'),(11089,'1759930535','67.222.45.11'),(11090,'1759930549','104.248.183.157'),(11091,'1759930549','104.248.183.157'),(11092,'1759930549','104.248.183.157'),(11093,'1759930549','104.248.183.157'),(11094,'1759930549','104.248.183.157'),(11095,'1759930549','104.248.183.157'),(11096,'1759930549','104.248.183.157'),(11097,'1759930550','104.248.183.157'),(11098,'1759930607','104.248.183.157'),(11099,'1759930687','104.248.183.157'),(11100,'1759930882','104.248.183.157'),(11101,'1759930886','104.248.183.157'),(11102,'1759930951','104.248.183.157'),(11103,'1759930951','104.248.183.157'),(11104,'1759931257','104.248.183.157'),(11105,'1759931361','104.248.183.157'),(11106,'1759931361','104.248.183.157'),(11107,'1759931361','104.248.183.157'),(11108,'1759931361','104.248.183.157'),(11109,'1759931361','104.248.183.157'),(11110,'1759931361','104.248.183.157'),(11111,'1759931361','104.248.183.157'),(11112,'1759931361','104.248.183.157'),(11113,'1759931361','104.248.183.157'),(11114,'1759931361','104.248.183.157'),(11115,'1759931361','104.248.183.157'),(11116,'1759931361','104.248.183.157'),(11117,'1759931361','104.248.183.157'),(11118,'1759931361','104.248.183.157'),(11119,'1759931361','104.248.183.157'),(11120,'1759931361','104.248.183.157'),(11121,'1759931361','104.248.183.157'),(11122,'1759931361','104.248.183.157'),(11123,'1759931361','104.248.183.157'),(11124,'1759931361','104.248.183.157'),(11125,'1759931361','104.248.183.157'),(11126,'1759931361','104.248.183.157'),(11127,'1759931361','104.248.183.157'),(11128,'1759931361','104.248.183.157'),(11129,'1759931361','104.248.183.157'),(11130,'1759931361','104.248.183.157'),(11131,'1759931427','104.248.183.157'),(11132,'1759931442','104.248.183.157'),(11133,'1759931537','104.248.183.157'),(11134,'1759931667','104.248.183.157'),(11135,'1759931740','104.248.183.157'),(11136,'1759931740','104.248.183.157'),(11137,'1759931851','104.248.183.157'),(11138,'1759931860','104.248.183.157'),(11139,'1759931929','104.248.183.157'),(11140,'1759931929','104.248.183.157'),(11141,'1759931929','104.248.183.157'),(11142,'1759931929','104.248.183.157'),(11143,'1759931929','104.248.183.157'),(11144,'1759932017','104.248.183.157'),(11145,'1759932017','104.248.183.157'),(11146,'1759932017','104.248.183.157'),(11147,'1759932017','104.248.183.157'),(11148,'1759932017','104.248.183.157'),(11149,'1759932017','104.248.183.157'),(11150,'1759932017','104.248.183.157'),(11151,'1759932017','104.248.183.157'),(11152,'1759932017','104.248.183.157'),(11153,'1759932017','104.248.183.157'),(11154,'1759932017','104.248.183.157'),(11155,'1759932017','104.248.183.157'),(11156,'1759932017','104.248.183.157'),(11157,'1759932017','104.248.183.157'),(11158,'1759932017','104.248.183.157'),(11159,'1759932017','104.248.183.157'),(11160,'1759932017','104.248.183.157'),(11161,'1759932017','104.248.183.157'),(11162,'1759932017','104.248.183.157'),(11163,'1759932017','104.248.183.157'),(11164,'1759932017','104.248.183.157'),(11165,'1759932017','104.248.183.157'),(11166,'1759932017','104.248.183.157'),(11167,'1759932017','104.248.183.157'),(11168,'1759932017','104.248.183.157'),(11169,'1759932017','104.248.183.157'),(11170,'1759932017','104.248.183.157'),(11171,'1759932017','104.248.183.157'),(11172,'1759932017','104.248.183.157'),(11173,'1759932018','104.248.183.157'),(11174,'1759932138','104.248.183.157'),(11175,'1759932172','104.248.183.157'),(11176,'1759932207','104.248.183.157'),(11177,'1759932207','104.248.183.157'),(11178,'1759932207','104.248.183.157'),(11179,'1759932207','104.248.183.157'),(11180,'1759932207','104.248.183.157'),(11181,'1759932207','104.248.183.157'),(11182,'1759932207','104.248.183.157'),(11183,'1759932207','104.248.183.157'),(11184,'1759932207','104.248.183.157'),(11185,'1759932207','104.248.183.157'),(11186,'1759932207','104.248.183.157'),(11187,'1759932207','104.248.183.157'),(11188,'1759932239','104.248.183.157'),(11189,'1759932239','104.248.183.157'),(11190,'1759932334','104.248.183.157'),(11191,'1759932395','104.248.183.157'),(11192,'1759932416','104.248.183.157'),(11193,'1759932416','104.248.183.157'),(11194,'1759932416','104.248.183.157'),(11195,'1759932416','104.248.183.157'),(11196,'1759932467','104.248.183.157'),(11197,'1759932617','104.248.183.157'),(11198,'1759932676','104.248.183.157'),(11199,'1759932685','104.248.183.157'),(11200,'1759932742','104.248.183.157'),(11201,'1759932783','104.248.183.157'),(11202,'1759932802','104.248.183.157'),(11203,'1759932915','104.248.183.157'),(11204,'1759932915','104.248.183.157'),(11205,'1759932916','104.248.183.157'),(11206,'1759932916','104.248.183.157'),(11207,'1759932916','104.248.183.157'),(11208,'1759933032','104.248.183.157'),(11209,'1759933219','104.248.183.157'),(11210,'1759933219','104.248.183.157'),(11211,'1759933219','104.248.183.157'),(11212,'1759933526','104.248.183.157'),(11213,'1759933526','104.248.183.157'),(11214,'1759933526','104.248.183.157'),(11215,'1759933526','104.248.183.157'),(11216,'1759933526','104.248.183.157'),(11217,'1759933526','104.248.183.157'),(11218,'1759933526','104.248.183.157'),(11219,'1759933526','104.248.183.157'),(11220,'1759933526','104.248.183.157'),(11221,'1759933526','104.248.183.157'),(11222,'1759933526','104.248.183.157'),(11223,'1759933707','104.248.183.157'),(11224,'1759933707','104.248.183.157'),(11225,'1759933707','104.248.183.157'),(11226,'1759933707','104.248.183.157'),(11227,'1759933707','104.248.183.157'),(11228,'1759933707','104.248.183.157'),(11229,'1759933707','104.248.183.157'),(11230,'1759933707','104.248.183.157'),(11231,'1759933707','104.248.183.157'),(11232,'1759933707','104.248.183.157'),(11233,'1759933707','104.248.183.157'),(11234,'1759933707','104.248.183.157'),(11235,'1759933845','104.248.183.157'),(11236,'1759933855','104.248.183.157'),(11237,'1759933855','104.248.183.157'),(11238,'1759933855','104.248.183.157'),(11239,'1759933855','104.248.183.157'),(11240,'1759933855','104.248.183.157'),(11241,'1759933855','104.248.183.157'),(11242,'1759933855','104.248.183.157'),(11243,'1759933855','104.248.183.157'),(11244,'1759933855','104.248.183.157'),(11245,'1759933855','104.248.183.157'),(11246,'1759933855','104.248.183.157'),(11247,'1759933855','104.248.183.157'),(11248,'1759933855','104.248.183.157'),(11249,'1759933855','104.248.183.157'),(11250,'1759933855','104.248.183.157'),(11251,'1759933855','104.248.183.157'),(11252,'1759933856','104.248.183.157'),(11253,'1759933856','104.248.183.157'),(11254,'1759933856','104.248.183.157'),(11255,'1759933856','104.248.183.157'),(11256,'1759933856','104.248.183.157'),(11257,'1759933856','104.248.183.157'),(11258,'1759933856','104.248.183.157'),(11259,'1759933856','104.248.183.157'),(11260,'1759933856','104.248.183.157'),(11261,'1759934099','104.248.183.157'),(11262,'1759934099','104.248.183.157'),(11263,'1759934245','104.248.183.157'),(11264,'1759934245','67.222.45.11'),(11265,'1759934364','104.248.183.157'),(11266,'1759934513','104.248.183.157'),(11267,'1759934518','104.248.183.157'),(11268,'1759934521','104.248.183.157'),(11269,'1759934561','104.248.183.157'),(11270,'1759934729','104.248.183.157'),(11271,'1759934764','104.248.183.157'),(11272,'1759934766','104.248.183.157'),(11273,'1759934766','104.248.183.157'),(11274,'1759934769','104.248.183.157'),(11275,'1759934812','104.248.183.157'),(11276,'1759934828','104.248.183.157'),(11277,'1759934871','104.248.183.157'),(11278,'1759934871','104.248.183.157'),(11279,'1759934900','104.248.183.157'),(11280,'1759934975','104.248.183.157'),(11281,'1759934983','104.248.183.157'),(11282,'1759934986','104.248.183.157'),(11283,'1759934989','104.248.183.157'),(11284,'1759934994','104.248.183.157'),(11285,'1759934994','104.248.183.157'),(11286,'1759935008','104.248.183.157'),(11287,'1759935040','104.248.183.157'),(11288,'1759935067','104.248.183.157'),(11289,'1759935095','104.248.183.157'),(11290,'1759935099','104.248.183.157'),(11291,'1759935107','104.248.183.157'),(11292,'1759935158','104.248.183.157'),(11293,'1759935202','104.248.183.157'),(11294,'1759935204','104.248.183.157'),(11295,'1759935206','104.248.183.157'),(11296,'1759935209','104.248.183.157'),(11297,'1759935211','104.248.183.157'),(11298,'1759935236','104.248.183.157'),(11299,'1759935322','104.248.183.157'),(11300,'1759935329','104.248.183.157'),(11301,'1759935365','104.248.183.157'),(11302,'1759935372','104.248.183.157'),(11303,'1759935375','104.248.183.157'),(11304,'1759935412','104.248.183.157'),(11305,'1759935441','104.248.183.157'),(11306,'1759935454','104.248.183.157'),(11307,'1759935456','104.248.183.157'),(11308,'1759935466','104.248.183.157'),(11309,'1759935466','104.248.183.157'),(11310,'1759935466','104.248.183.157'),(11311,'1759935475','104.248.183.157'),(11312,'1759935482','104.248.183.157'),(11313,'1759935505','104.248.183.157'),(11314,'1759935533','104.248.183.157'),(11315,'1759935589','104.248.183.157'),(11316,'1759935610','104.248.183.157'),(11317,'1759935611','104.248.183.157'),(11318,'1759935649','104.248.183.157'),(11319,'1759935680','104.248.183.157'),(11320,'1759935707','104.248.183.157'),(11321,'1759935707','104.248.183.157'),(11322,'1759935714','104.248.183.157'),(11323,'1759935719','104.248.183.157'),(11324,'1759935727','104.248.183.157'),(11325,'1759935770','104.248.183.157'),(11326,'1759935771','104.248.183.157'),(11327,'1759935771','104.248.183.157'),(11328,'1759935804','104.248.183.157'),(11329,'1759935804','104.248.183.157'),(11330,'1759935841','104.248.183.157'),(11331,'1759935841','104.248.183.157'),(11332,'1759935841','104.248.183.157'),(11333,'1759935847','104.248.183.157'),(11334,'1759935868','104.248.183.157'),(11335,'1759935890','104.248.183.157'),(11336,'1759935915','104.248.183.157'),(11337,'1759935916','104.248.183.157'),(11338,'1759935916','104.248.183.157'),(11339,'1759935943','104.248.183.157'),(11340,'1759935952','104.248.183.157'),(11341,'1759935974','104.248.183.157'),(11342,'1759935976','104.248.183.157'),(11343,'1759935996','104.248.183.157'),(11344,'1759936016','104.248.183.157'),(11345,'1759936041','104.248.183.157'),(11346,'1759936041','104.248.183.157'),(11347,'1759936057','104.248.183.157'),(11348,'1759936065','104.248.183.157'),(11349,'1759936076','104.248.183.157'),(11350,'1759936096','104.248.183.157'),(11351,'1759936200','104.248.183.157'),(11352,'1759936225','104.248.183.157'),(11353,'1759936265','104.248.183.157'),(11354,'1759936272','104.248.183.157'),(11355,'1759936272','104.248.183.157'),(11356,'1759936283','104.248.183.157'),(11357,'1759936283','104.248.183.157'),(11358,'1759936283','104.248.183.157'),(11359,'1759936283','104.248.183.157'),(11360,'1759936283','104.248.183.157'),(11361,'1759936283','104.248.183.157'),(11362,'1759936283','104.248.183.157'),(11363,'1759936323','104.248.183.157'),(11364,'1759936351','104.248.183.157'),(11365,'1759936361','104.248.183.157'),(11366,'1759936414','104.248.183.157'),(11367,'1759936418','104.248.183.157'),(11368,'1759936421','104.248.183.157'),(11369,'1759936438','104.248.183.157'),(11370,'1759936438','104.248.183.157'),(11371,'1759936441','104.248.183.157'),(11372,'1759936471','198.235.24.81'),(11373,'1759936525','104.248.183.157'),(11374,'1759936525','104.248.183.157'),(11375,'1759936535','104.248.183.157'),(11376,'1759936803','104.248.183.157'),(11377,'1759936803','104.248.183.157'),(11378,'1759936803','104.248.183.157'),(11379,'1759936803','104.248.183.157'),(11380,'1759936803','104.248.183.157'),(11381,'1759936803','104.248.183.157'),(11382,'1759936803','104.248.183.157'),(11383,'1759936803','104.248.183.157'),(11384,'1759936803','104.248.183.157'),(11385,'1759936803','104.248.183.157'),(11386,'1759936945','104.248.183.157'),(11387,'1759936945','104.248.183.157'),(11388,'1759936945','104.248.183.157'),(11389,'1759936945','104.248.183.157'),(11390,'1759936945','104.248.183.157'),(11391,'1759936945','104.248.183.157'),(11392,'1759936945','104.248.183.157'),(11393,'1759936945','104.248.183.157'),(11394,'1759936945','104.248.183.157'),(11395,'1759936945','104.248.183.157'),(11396,'1759936945','104.248.183.157'),(11397,'1759936945','104.248.183.157'),(11398,'1759936945','104.248.183.157'),(11399,'1759936945','104.248.183.157'),(11400,'1759936945','104.248.183.157'),(11401,'1759936945','104.248.183.157'),(11402,'1759936945','104.248.183.157'),(11403,'1759937294','104.248.183.157'),(11404,'1759937311','104.248.183.157'),(11405,'1759937311','104.248.183.157'),(11406,'1759937311','104.248.183.157'),(11407,'1759937311','104.248.183.157'),(11408,'1759937311','104.248.183.157'),(11409,'1759937311','104.248.183.157'),(11410,'1759937311','104.248.183.157'),(11411,'1759937336','104.248.183.157'),(11412,'1759937337','104.248.183.157'),(11413,'1759937337','104.248.183.157'),(11414,'1759937337','104.248.183.157'),(11415,'1759937337','104.248.183.157'),(11416,'1759937337','104.248.183.157'),(11417,'1759937337','104.248.183.157'),(11418,'1759937337','104.248.183.157'),(11419,'1759937337','104.248.183.157'),(11420,'1759937337','104.248.183.157'),(11421,'1759937337','104.248.183.157'),(11422,'1759937440','104.248.183.157'),(11423,'1759937440','104.248.183.157'),(11424,'1759937440','104.248.183.157'),(11425,'1759937440','104.248.183.157'),(11426,'1759937440','104.248.183.157'),(11427,'1759937440','104.248.183.157'),(11428,'1759937440','104.248.183.157'),(11429,'1759937440','104.248.183.157'),(11430,'1759937440','104.248.183.157'),(11431,'1759937440','104.248.183.157'),(11432,'1759937440','104.248.183.157'),(11433,'1759937440','104.248.183.157'),(11434,'1759937440','104.248.183.157'),(11435,'1759937440','104.248.183.157'),(11436,'1759937440','104.248.183.157'),(11437,'1759937440','104.248.183.157'),(11438,'1759937440','104.248.183.157'),(11439,'1759937440','104.248.183.157'),(11440,'1759937440','104.248.183.157'),(11441,'1759937440','104.248.183.157'),(11442,'1759937440','104.248.183.157'),(11443,'1759937440','104.248.183.157'),(11444,'1759937440','104.248.183.157'),(11445,'1759937440','104.248.183.157'),(11446,'1759937440','104.248.183.157'),(11447,'1759937590','104.248.183.157'),(11448,'1759937615','104.248.183.157'),(11449,'1759937638','104.248.183.157'),(11450,'1759937638','104.248.183.157'),(11451,'1759937638','104.248.183.157'),(11452,'1759937638','104.248.183.157'),(11453,'1759937638','104.248.183.157'),(11454,'1759937638','104.248.183.157'),(11455,'1759937638','104.248.183.157'),(11456,'1759937638','104.248.183.157'),(11457,'1759937638','104.248.183.157'),(11458,'1759937638','104.248.183.157'),(11459,'1759937638','104.248.183.157'),(11460,'1759937638','104.248.183.157'),(11461,'1759937638','104.248.183.157'),(11462,'1759937638','104.248.183.157'),(11463,'1759937638','104.248.183.157'),(11464,'1759937638','104.248.183.157'),(11465,'1759937638','104.248.183.157'),(11466,'1759937638','104.248.183.157'),(11467,'1759937638','104.248.183.157'),(11468,'1759937702','104.248.183.157'),(11469,'1759937702','67.222.45.11'),(11470,'1759937907','104.248.183.157'),(11471,'1759937918','104.248.183.157'),(11472,'1759937926','104.248.183.157'),(11473,'1759937988','104.248.183.157'),(11474,'1759937990','104.248.183.157'),(11475,'1759938014','104.248.183.157'),(11476,'1759938015','104.248.183.157'),(11477,'1759938032','104.248.183.157'),(11478,'1759938054','104.248.183.157'),(11479,'1759938054','104.248.183.157'),(11480,'1759938213','104.248.183.157'),(11481,'1759938247','104.248.183.157'),(11482,'1759938290','104.248.183.157'),(11483,'1759938290','104.248.183.157'),(11484,'1759938290','104.248.183.157'),(11485,'1759938290','104.248.183.157'),(11486,'1759938290','104.248.183.157'),(11487,'1759938290','104.248.183.157'),(11488,'1759938290','104.248.183.157'),(11489,'1759938290','104.248.183.157'),(11490,'1759938290','104.248.183.157'),(11491,'1759938315','104.248.183.157'),(11492,'1759938443','104.248.183.157'),(11493,'1759938443','67.222.45.11'),(11494,'1759938643','104.248.183.157'),(11495,'1759938643','104.248.183.157'),(11496,'1759938643','104.248.183.157'),(11497,'1759938643','104.248.183.157'),(11498,'1759938643','104.248.183.157'),(11499,'1759938643','104.248.183.157'),(11500,'1759938643','104.248.183.157'),(11501,'1759938643','104.248.183.157'),(11502,'1759938643','104.248.183.157'),(11503,'1759938643','104.248.183.157'),(11504,'1759938643','104.248.183.157'),(11505,'1759938664','104.248.183.157'),(11506,'1759938673','104.248.183.157'),(11507,'1759938689','104.248.183.157'),(11508,'1759938799','104.248.183.157'),(11509,'1759938826','104.248.183.157'),(11510,'1759938977','104.248.183.157'),(11511,'1759938985','104.248.183.157'),(11512,'1759938985','104.248.183.157'),(11513,'1759939077','104.248.183.157'),(11514,'1759939255','104.248.183.157'),(11515,'1759939292','104.248.183.157'),(11516,'1759939293','104.248.183.157'),(11517,'1759939614','104.248.183.157'),(11518,'1759939614','104.248.183.157'),(11519,'1759939614','104.248.183.157'),(11520,'1759939614','104.248.183.157'),(11521,'1759939614','104.248.183.157'),(11522,'1759939614','104.248.183.157'),(11523,'1759939614','104.248.183.157'),(11524,'1759939615','104.248.183.157'),(11525,'1759939615','104.248.183.157'),(11526,'1759939615','104.248.183.157'),(11527,'1759939615','104.248.183.157'),(11528,'1759939615','104.248.183.157'),(11529,'1759939623','104.248.183.157'),(11530,'1759939623','104.248.183.157'),(11531,'1759939623','104.248.183.157'),(11532,'1759939623','104.248.183.157'),(11533,'1759939623','104.248.183.157'),(11534,'1759939623','104.248.183.157'),(11535,'1759939623','104.248.183.157'),(11536,'1759939623','104.248.183.157'),(11537,'1759939623','104.248.183.157'),(11538,'1759939623','104.248.183.157'),(11539,'1759939624','104.248.183.157'),(11540,'1759939624','104.248.183.157'),(11541,'1759939624','104.248.183.157'),(11542,'1759939631','104.248.183.157'),(11543,'1759939631','104.248.183.157'),(11544,'1759939631','104.248.183.157'),(11545,'1759939631','104.248.183.157'),(11546,'1759939632','104.248.183.157'),(11547,'1759939632','104.248.183.157'),(11548,'1759939632','104.248.183.157'),(11549,'1759939632','104.248.183.157'),(11550,'1759939632','104.248.183.157'),(11551,'1759939632','104.248.183.157'),(11552,'1759939632','104.248.183.157'),(11553,'1759939632','104.248.183.157'),(11554,'1759939639','104.248.183.157'),(11555,'1759939639','104.248.183.157'),(11556,'1759939639','104.248.183.157'),(11557,'1759939640','104.248.183.157'),(11558,'1759939640','104.248.183.157'),(11559,'1759939640','104.248.183.157'),(11560,'1759939640','104.248.183.157'),(11561,'1759939640','104.248.183.157'),(11562,'1759939640','104.248.183.157'),(11563,'1759939640','104.248.183.157'),(11564,'1759939641','104.248.183.157'),(11565,'1759939641','104.248.183.157'),(11566,'1759939641','104.248.183.157'),(11567,'1759939647','104.248.183.157'),(11568,'1759939647','104.248.183.157'),(11569,'1759939648','104.248.183.157'),(11570,'1759939648','104.248.183.157'),(11571,'1759939648','104.248.183.157'),(11572,'1759939648','104.248.183.157'),(11573,'1759939649','104.248.183.157'),(11574,'1759939649','104.248.183.157'),(11575,'1759939649','104.248.183.157'),(11576,'1759939649','104.248.183.157'),(11577,'1759939649','104.248.183.157'),(11578,'1759939650','104.248.183.157'),(11579,'1759939656','104.248.183.157'),(11580,'1759939656','104.248.183.157'),(11581,'1759939656','104.248.183.157'),(11582,'1759939657','104.248.183.157'),(11583,'1759939657','104.248.183.157'),(11584,'1759939657','104.248.183.157'),(11585,'1759939658','104.248.183.157'),(11586,'1759939658','104.248.183.157'),(11587,'1759939658','104.248.183.157'),(11588,'1759939658','104.248.183.157'),(11589,'1759939658','104.248.183.157'),(11590,'1759939659','104.248.183.157'),(11591,'1759939659','104.248.183.157'),(11592,'1759939665','104.248.183.157'),(11593,'1759939665','104.248.183.157'),(11594,'1759939666','104.248.183.157'),(11595,'1759939666','104.248.183.157'),(11596,'1759939666','104.248.183.157'),(11597,'1759939666','104.248.183.157'),(11598,'1759939667','104.248.183.157'),(11599,'1759939667','104.248.183.157'),(11600,'1759939667','104.248.183.157'),(11601,'1759939667','104.248.183.157'),(11602,'1759939667','104.248.183.157'),(11603,'1759939668','104.248.183.157'),(11604,'1759939673','104.248.183.157'),(11605,'1759939673','104.248.183.157'),(11606,'1759939674','104.248.183.157'),(11607,'1759939674','104.248.183.157'),(11608,'1759939675','104.248.183.157'),(11609,'1759939675','104.248.183.157'),(11610,'1759939675','104.248.183.157'),(11611,'1759939675','104.248.183.157'),(11612,'1759939675','104.248.183.157'),(11613,'1759939675','104.248.183.157'),(11614,'1759939675','104.248.183.157'),(11615,'1759939676','104.248.183.157'),(11616,'1759939676','104.248.183.157'),(11617,'1759939681','104.248.183.157'),(11618,'1759939682','104.248.183.157'),(11619,'1759939713','104.248.183.157'),(11620,'1759940293','104.248.183.157'),(11621,'1759940294','104.248.183.157'),(11622,'1759940329','104.248.183.157'),(11623,'1759940337','104.248.183.157'),(11624,'1759940374','104.248.183.157'),(11625,'1759940541','104.248.183.157'),(11626,'1759940581','104.248.183.157'),(11627,'1759940583','104.248.183.157'),(11628,'1759940651','104.248.183.157'),(11629,'1759940682','104.248.183.157'),(11630,'1759940724','104.248.183.157'),(11631,'1759940739','104.248.183.157'),(11632,'1759940740','104.248.183.157'),(11633,'1759940808','104.248.183.157'),(11634,'1759940839','104.248.183.157'),(11635,'1759940840','104.248.183.157'),(11636,'1759940861','104.248.183.157'),(11637,'1759940882','104.248.183.157'),(11638,'1759940911','104.248.183.157'),(11639,'1759940911','104.248.183.157'),(11640,'1759940911','104.248.183.157'),(11641,'1759940911','104.248.183.157'),(11642,'1759940974','104.248.183.157'),(11643,'1759940989','104.248.183.157'),(11644,'1759941036','104.248.183.157'),(11645,'1759941038','104.248.183.157'),(11646,'1759941048','104.248.183.157'),(11647,'1759941056','104.248.183.157'),(11648,'1759941061','104.248.183.157'),(11649,'1759941075','104.248.183.157'),(11650,'1759941108','104.248.183.157'),(11651,'1759941111','104.248.183.157'),(11652,'1759941122','104.248.183.157'),(11653,'1759941124','104.248.183.157'),(11654,'1759941145','104.248.183.157'),(11655,'1759941155','104.248.183.157'),(11656,'1759941162','104.248.183.157'),(11657,'1759941170','104.248.183.157'),(11658,'1759941176','104.248.183.157'),(11659,'1759941181','104.248.183.157'),(11660,'1759941186','104.248.183.157'),(11661,'1759941233','104.248.183.157'),(11662,'1759941295','104.248.183.157'),(11663,'1759941462','104.248.183.157'),(11664,'1759941462','67.222.45.11'),(11665,'1759941546','104.248.183.157'),(11666,'1759941546','104.248.183.157'),(11667,'1759941546','104.248.183.157'),(11668,'1759941546','104.248.183.157'),(11669,'1759941546','104.248.183.157'),(11670,'1759941546','104.248.183.157'),(11671,'1759941551','104.248.183.157'),(11672,'1759941551','104.248.183.157'),(11673,'1759941551','104.248.183.157'),(11674,'1759941551','104.248.183.157'),(11675,'1759941551','104.248.183.157'),(11676,'1759941551','104.248.183.157'),(11677,'1759941551','104.248.183.157'),(11678,'1759941551','104.248.183.157'),(11679,'1759941551','104.248.183.157'),(11680,'1759941551','104.248.183.157'),(11681,'1759941551','104.248.183.157'),(11682,'1759941551','104.248.183.157'),(11683,'1759941551','104.248.183.157'),(11684,'1759941551','104.248.183.157'),(11685,'1759941551','104.248.183.157'),(11686,'1759941551','104.248.183.157'),(11687,'1759941551','104.248.183.157'),(11688,'1759941585','104.248.183.157'),(11689,'1759941781','104.248.183.157'),(11690,'1759941781','104.248.183.157'),(11691,'1759941781','104.248.183.157'),(11692,'1759941781','104.248.183.157'),(11693,'1759941781','104.248.183.157'),(11694,'1759941781','104.248.183.157'),(11695,'1759941781','104.248.183.157'),(11696,'1759941781','104.248.183.157'),(11697,'1759941781','104.248.183.157'),(11698,'1759941878','104.248.183.157'),(11699,'1759941878','104.248.183.157'),(11700,'1759941878','104.248.183.157'),(11701,'1759941878','104.248.183.157'),(11702,'1759941878','104.248.183.157'),(11703,'1759941878','104.248.183.157'),(11704,'1759941878','104.248.183.157'),(11705,'1759941878','104.248.183.157'),(11706,'1759941878','104.248.183.157'),(11707,'1759941878','104.248.183.157'),(11708,'1759941878','104.248.183.157'),(11709,'1759941878','104.248.183.157'),(11710,'1759941878','104.248.183.157'),(11711,'1759941878','104.248.183.157'),(11712,'1759941878','104.248.183.157'),(11713,'1759941878','104.248.183.157'),(11714,'1759941878','104.248.183.157'),(11715,'1759941878','104.248.183.157'),(11716,'1759942199','104.248.183.157'),(11717,'1759942222','104.248.183.157'),(11718,'1759942358','104.248.183.157'),(11719,'1759942481','104.248.183.157'),(11720,'1759942481','104.248.183.157'),(11721,'1759942515','104.248.183.157'),(11722,'1759942521','104.248.183.157'),(11723,'1759942853','104.248.183.157'),(11724,'1759969065','147.185.132.51'),(11725,'1759969065','67.222.45.11'),(11726,'1759969079','205.210.31.27'),(11727,'1759970167','205.210.31.244'),(11728,'1759970167','67.222.45.11'),(11729,'1759970282','198.235.24.47'),(11730,'1760013276','162.142.125.117'),(11731,'1760013277','67.222.45.11'),(11732,'1760041268','145.220.91.19'),(11733,'1760041268','67.222.45.11'),(11734,'1760042240','4.227.36.62'),(11735,'1760042241','67.222.45.11'),(11736,'1760058990','195.178.110.68'),(11737,'1760058990','67.222.45.11'),(11738,'1760058995','195.178.110.68'),(11739,'1760113419','138.246.253.24'),(11740,'1760113420','67.222.45.11'),(11741,'1760134080','59.52.179.139'),(11742,'1760134081','67.222.45.11'),(11743,'1760134083','182.119.230.66'),(11744,'1760134091','183.93.67.58'),(11745,'1760228979','93.123.109.60'),(11746,'1760228980','67.222.45.11'),(11747,'1760228988','67.222.45.11'),(11748,'1760228989','67.222.45.11'),(11749,'1760228989','67.222.45.11'),(11750,'1760228990','67.222.45.11'),(11751,'1760228990','67.222.45.11'),(11752,'1760281673','205.210.31.150'),(11753,'1760281674','67.222.45.11'),(11754,'1760306377','103.124.105.225'),(11755,'1760306377','67.222.45.11'),(11756,'1760307980','35.202.205.37'),(11757,'1760360630','193.32.162.223'),(11758,'1760360630','67.222.45.11'),(11759,'1760379712','34.85.244.116'),(11760,'1760379714','67.222.45.11'),(11761,'1760394042','193.32.162.223'),(11762,'1760394043','67.222.45.11'),(11763,'1760409004','195.178.110.223'),(11764,'1760409016','195.178.110.223'),(11765,'1760409162','195.178.110.223'),(11766,'1760409162','67.222.45.11'),(11767,'1760431340','159.203.34.112'),(11768,'1760431341','67.222.45.11'),(11769,'1760439190','45.148.10.249'),(11770,'1760439190','67.222.45.11'),(11771,'1760439191','45.148.10.249'),(11772,'1760439192','45.148.10.249'),(11773,'1760439193','45.148.10.249'),(11774,'1760439195','45.148.10.249'),(11775,'1760508698','91.90.122.157'),(11776,'1760527100','139.59.253.161'),(11777,'1760527100','67.222.45.11'),(11778,'1760535312','81.17.20.98'),(11779,'1760535313','67.222.45.11'),(11780,'1760535372','81.17.20.98'),(11781,'1760535372','81.17.20.98'),(11782,'1760535372','81.17.20.98'),(11783,'1760535372','81.17.20.98'),(11784,'1760535372','81.17.20.98'),(11785,'1760535372','81.17.20.98'),(11786,'1760535413','81.17.20.98'),(11787,'1760535413','81.17.20.98'),(11788,'1760535413','81.17.20.98'),(11789,'1760535413','81.17.20.98'),(11790,'1760535413','81.17.20.98'),(11791,'1760535413','81.17.20.98'),(11792,'1760535413','81.17.20.98'),(11793,'1760535476','81.17.20.98'),(11794,'1760535476','81.17.20.98'),(11795,'1760535476','81.17.20.98'),(11796,'1760535476','81.17.20.98'),(11797,'1760535476','81.17.20.98'),(11798,'1760535477','81.17.20.98'),(11799,'1760535477','81.17.20.98'),(11800,'1760565072','121.237.36.27'),(11801,'1760565072','67.222.45.11'),(11802,'1760565358','121.237.36.27'),(11803,'1760575132','16.176.166.253'),(11804,'1760575132','67.222.45.11'),(11805,'1760580220','34.223.111.147'),(11806,'1760580220','67.222.45.11'),(11807,'1760589458','202.182.106.66'),(11808,'1760589458','67.222.45.11'),(11809,'1760606892','138.246.253.24'),(11810,'1760606892','67.222.45.11'),(11811,'1760660217','3.222.165.167'),(11812,'1760660218','3.222.165.167'),(11813,'1760660218','67.222.45.11'),(11814,'1760774683','205.169.39.14'),(11815,'1760774683','67.222.45.11'),(11816,'1760774688','67.222.45.11'),(11817,'1760774688','67.222.45.11'),(11818,'1760774688','67.222.45.11'),(11819,'1760774688','67.222.45.11'),(11820,'1760774689','67.222.45.11'),(11821,'1760870413','45.148.10.204'),(11822,'1760870413','67.222.45.11'),(11823,'1760971762','174.138.87.38'),(11824,'1760971762','67.222.45.11'),(11825,'1761016315','195.178.110.223'),(11826,'1761016315','67.222.45.11'),(11827,'1761016711','195.178.110.223'),(11828,'1761046180','173.236.218.94'),(11829,'1761046181','67.222.45.11'),(11830,'1761062908','167.172.113.201'),(11831,'1761062908','67.222.45.11'),(11832,'1761085598','93.123.109.214'),(11833,'1761085598','67.222.45.11'),(11834,'1761085624','93.123.109.214'),(11835,'1761085860','93.123.109.214'),(11836,'1761093557','111.113.89.92'),(11837,'1761093557','67.222.45.11'),(11838,'1761093558','112.94.252.214'),(11839,'1761093560','1.24.16.123'),(11840,'1761103678','173.236.139.128'),(11841,'1761103678','67.222.45.11'),(11842,'1761118234','94.73.144.214'),(11843,'1761118235','67.222.45.11'),(11844,'1761124619','34.1.25.102'),(11845,'1761124619','67.222.45.11'),(11846,'1761124619','34.1.25.102'),(11847,'1761124619','34.1.25.102'),(11848,'1761124647','34.1.25.102'),(11849,'1761124648','34.1.25.102'),(11850,'1761124648','34.1.25.102'),(11851,'1761130908','34.1.19.76'),(11852,'1761130908','67.222.45.11'),(11853,'1761130908','34.1.19.76'),(11854,'1761130909','34.1.19.76'),(11855,'1761130942','34.1.19.76'),(11856,'1761130942','34.1.19.76'),(11857,'1761130942','34.1.19.76'),(11858,'1761166337','45.148.10.42'),(11859,'1761166337','67.222.45.11'),(11860,'1761166338','45.148.10.42'),(11861,'1761166338','45.148.10.42'),(11862,'1761166340','45.148.10.42'),(11863,'1761166341','45.148.10.42'),(11864,'1761166346','45.148.10.42'),(11865,'1761166346','45.148.10.42'),(11866,'1761166347','45.148.10.42'),(11867,'1761166348','45.148.10.42'),(11868,'1761166350','45.148.10.42'),(11869,'1761167885','138.246.253.24'),(11870,'1761178068','104.238.214.193'),(11871,'1761178068','67.222.45.11'),(11872,'1761262907','145.220.91.19'),(11873,'1761262908','67.222.45.11'),(11874,'1761281198','44.222.164.49'),(11875,'1761281198','67.222.45.11'),(11876,'1761294257','35.177.84.254'),(11877,'1761294258','67.222.45.11'),(11878,'1761295675','34.1.25.170'),(11879,'1761295676','67.222.45.11'),(11880,'1761295676','34.1.25.170'),(11881,'1761295676','34.1.25.170'),(11882,'1761295800','34.1.25.170'),(11883,'1761295800','34.1.25.170'),(11884,'1761295801','34.1.25.170'),(11885,'1761298895','34.1.21.110'),(11886,'1761298895','67.222.45.11'),(11887,'1761298895','34.1.21.110'),(11888,'1761298896','34.1.21.110'),(11889,'1761298956','34.1.21.252'),(11890,'1761298956','34.1.21.252'),(11891,'1761298956','34.1.21.252'),(11892,'1761298987','34.1.21.252'),(11893,'1761298987','34.1.21.252'),(11894,'1761298987','34.1.21.252'),(11895,'1761299027','34.1.21.110'),(11896,'1761299028','34.1.21.110'),(11897,'1761299028','34.1.21.110'),(11898,'1761300512','34.1.25.214'),(11899,'1761300512','34.1.25.214'),(11900,'1761300513','34.1.25.214'),(11901,'1761300554','34.1.25.214'),(11902,'1761300554','34.1.25.214'),(11903,'1761300554','34.1.25.214'),(11904,'1761301403','34.1.17.3'),(11905,'1761301403','34.1.17.3'),(11906,'1761301404','34.1.17.3'),(11907,'1761301498','34.1.30.95'),(11908,'1761301498','34.1.30.95'),(11909,'1761301499','34.1.30.95'),(11910,'1761301525','34.1.20.173'),(11911,'1761301526','34.1.20.173'),(11912,'1761301526','34.1.20.173'),(11913,'1761301549','34.1.20.173'),(11914,'1761301549','34.1.20.173'),(11915,'1761301550','34.1.20.173'),(11916,'1761301639','34.1.30.95'),(11917,'1761301640','34.1.30.95'),(11918,'1761301640','34.1.30.95'),(11919,'1761302206','34.1.29.36'),(11920,'1761302206','67.222.45.11'),(11921,'1761302206','34.1.29.36'),(11922,'1761302207','34.1.29.36'),(11923,'1761302309','34.1.29.36'),(11924,'1761302309','34.1.29.36'),(11925,'1761302310','34.1.29.36'),(11926,'1761302831','34.1.29.229'),(11927,'1761302833','34.1.29.229'),(11928,'1761302833','34.1.29.229'),(11929,'1761304124','34.1.25.224'),(11930,'1761304125','34.1.25.224'),(11931,'1761304125','34.1.25.224'),(11932,'1761309649','34.1.27.232'),(11933,'1761309649','67.222.45.11'),(11934,'1761309650','34.1.27.232'),(11935,'1761309650','34.1.27.232'),(11936,'1761309777','34.1.27.232'),(11937,'1761309777','34.1.27.232'),(11938,'1761309777','34.1.27.232'),(11939,'1761311170','34.1.21.245'),(11940,'1761311170','34.1.21.245'),(11941,'1761311170','34.1.21.245'),(11942,'1761311179','34.1.21.245'),(11943,'1761311179','34.1.21.245'),(11944,'1761311180','34.1.21.245'),(11945,'1761311246','34.1.22.53'),(11946,'1761311247','34.1.22.53'),(11947,'1761311247','34.1.22.53'),(11948,'1761311329','34.1.22.53'),(11949,'1761311329','34.1.22.53'),(11950,'1761311330','34.1.22.53'),(11951,'1761312428','34.1.23.18'),(11952,'1761312429','34.1.23.18'),(11953,'1761312429','34.1.23.18'),(11954,'1761312542','34.1.23.18'),(11955,'1761312542','34.1.23.18'),(11956,'1761312543','34.1.23.18'),(11957,'1761313851','34.1.23.60'),(11958,'1761313851','67.222.45.11'),(11959,'1761313851','34.1.23.60'),(11960,'1761313852','34.1.23.60'),(11961,'1761313909','34.1.28.137'),(11962,'1761313910','34.1.28.137'),(11963,'1761313910','34.1.28.137'),(11964,'1761314009','34.1.28.137'),(11965,'1761314009','34.1.28.137'),(11966,'1761314010','34.1.28.137'),(11967,'1761315550','34.1.23.181'),(11968,'1761315550','34.1.23.181'),(11969,'1761315550','34.1.23.181'),(11970,'1761315599','34.1.23.181'),(11971,'1761315600','34.1.23.181'),(11972,'1761315600','34.1.23.181'),(11973,'1761319356','37.221.66.252'),(11974,'1761319356','67.222.45.11'),(11975,'1761319357','37.221.66.252'),(11976,'1761325699','34.1.18.199'),(11977,'1761325699','67.222.45.11'),(11978,'1761325699','34.1.18.199'),(11979,'1761325700','34.1.18.199'),(11980,'1761325747','34.1.18.199'),(11981,'1761325747','34.1.18.199'),(11982,'1761325748','34.1.18.199'),(11983,'1761328089','34.1.28.215'),(11984,'1761328089','67.222.45.11'),(11985,'1761328090','34.1.28.215'),(11986,'1761328090','34.1.28.215'),(11987,'1761328526','34.1.25.255'),(11988,'1761328527','34.1.25.255'),(11989,'1761328528','34.1.25.255'),(11990,'1761328630','34.1.25.255'),(11991,'1761328631','34.1.25.255'),(11992,'1761328632','34.1.25.255'),(11993,'1761330832','34.1.30.232'),(11994,'1761330833','34.1.30.232'),(11995,'1761330834','34.1.30.232'),(11996,'1761330973','34.1.30.232'),(11997,'1761330973','67.222.45.11'),(11998,'1761330974','34.1.30.232'),(11999,'1761330974','34.1.30.232'),(12000,'1761333740','98.80.208.25'),(12001,'1761336434','34.1.23.18'),(12002,'1761336434','67.222.45.11'),(12003,'1761336434','34.1.23.18'),(12004,'1761336434','34.1.23.18'),(12005,'1761336517','34.1.25.21'),(12006,'1761336517','34.1.25.21'),(12007,'1761336517','34.1.25.21'),(12008,'1761336564','34.1.25.21'),(12009,'1761336564','34.1.25.21'),(12010,'1761336564','34.1.25.21'),(12011,'1761341959','34.1.30.64'),(12012,'1761341959','67.222.45.11'),(12013,'1761341959','34.1.30.64'),(12014,'1761341959','34.1.30.64'),(12015,'1761342004','34.1.30.64'),(12016,'1761342005','34.1.30.64'),(12017,'1761342005','34.1.30.64'),(12018,'1761345821','34.1.26.204'),(12019,'1761345821','67.222.45.11'),(12020,'1761345821','34.1.26.204'),(12021,'1761345821','34.1.26.204'),(12022,'1761345873','34.1.26.204'),(12023,'1761345873','34.1.26.204'),(12024,'1761345874','34.1.26.204'),(12025,'1761346773','34.1.24.205'),(12026,'1761346773','34.1.24.205'),(12027,'1761346774','34.1.24.205'),(12028,'1761346815','34.1.24.205'),(12029,'1761346816','67.222.45.11'),(12030,'1761346816','34.1.24.205'),(12031,'1761346816','34.1.24.205'),(12032,'1761353122','34.1.22.221'),(12033,'1761353123','67.222.45.11'),(12034,'1761353123','34.1.22.221'),(12035,'1761353123','34.1.22.221'),(12036,'1761353124','67.222.45.11'),(12037,'1761353124','67.222.45.11'),(12038,'1761353124','67.222.45.11'),(12039,'1761353125','67.222.45.11'),(12040,'1761353125','67.222.45.11'),(12041,'1761365023','34.1.18.6'),(12042,'1761365023','67.222.45.11'),(12043,'1761365024','34.1.18.6'),(12044,'1761365024','34.1.18.6'),(12045,'1761365083','34.1.18.6'),(12046,'1761365083','34.1.18.6'),(12047,'1761365083','34.1.18.6'),(12048,'1761428135','34.1.27.68'),(12049,'1761428136','34.1.27.68'),(12050,'1761428136','67.222.45.11'),(12051,'1761428137','34.1.27.68'),(12052,'1761428219','34.1.27.68'),(12053,'1761428219','34.1.27.68'),(12054,'1761428220','34.1.27.68'),(12055,'1761432837','45.148.10.165'),(12056,'1761432838','67.222.45.11'),(12057,'1761434921','34.1.19.173'),(12058,'1761434923','67.222.45.11'),(12059,'1761434923','34.1.19.173'),(12060,'1761434923','34.1.19.173'),(12061,'1761434990','34.1.19.173'),(12062,'1761434990','34.1.19.173'),(12063,'1761434991','34.1.19.173'),(12064,'1761436459','34.1.27.134'),(12065,'1761436459','67.222.45.11'),(12066,'1761436460','34.1.27.134'),(12067,'1761436460','34.1.27.134'),(12068,'1761436653','34.1.27.134'),(12069,'1761436654','34.1.27.134'),(12070,'1761436655','34.1.27.134'),(12071,'1761436696','34.1.16.79'),(12072,'1761436697','34.1.16.79'),(12073,'1761436698','34.1.16.79'),(12074,'1761436756','34.1.16.79'),(12075,'1761436757','34.1.16.79'),(12076,'1761436757','34.1.16.79'),(12077,'1761437729','34.1.22.116'),(12078,'1761437729','34.1.22.116'),(12079,'1761437730','34.1.22.116'),(12080,'1761437776','34.1.22.116'),(12081,'1761437777','34.1.22.116'),(12082,'1761437777','34.1.22.116'),(12083,'1761446271','34.1.28.153'),(12084,'1761446272','67.222.45.11'),(12085,'1761446272','34.1.28.153'),(12086,'1761446272','34.1.28.153'),(12087,'1761446387','34.1.28.153'),(12088,'1761446387','34.1.28.153'),(12089,'1761446387','34.1.28.153'),(12090,'1761451851','34.1.18.220'),(12091,'1761451852','67.222.45.11'),(12092,'1761451853','34.1.18.220'),(12093,'1761451853','34.1.18.220'),(12094,'1761457512','45.148.10.165'),(12095,'1761457513','67.222.45.11'),(12096,'1761459360','34.1.17.168'),(12097,'1761459360','67.222.45.11'),(12098,'1761459360','34.1.17.168'),(12099,'1761459360','34.1.17.168'),(12100,'1761465050','34.1.27.192'),(12101,'1761465050','67.222.45.11'),(12102,'1761465051','34.1.27.192'),(12103,'1761465051','34.1.27.192'),(12104,'1761465159','34.1.27.192'),(12105,'1761465159','34.1.27.192'),(12106,'1761465160','34.1.27.192'),(12107,'1761519241','115.231.78.8'),(12108,'1761519241','67.222.45.11'),(12109,'1761519244','115.231.78.8'),(12110,'1761596275','45.141.215.36'),(12111,'1761596275','67.222.45.11'),(12112,'1761605641','205.210.31.137'),(12113,'1761605641','67.222.45.11'),(12114,'1761626658','45.148.10.165'),(12115,'1761626659','67.222.45.11'),(12116,'1761639369','185.247.137.232'),(12117,'1761639369','67.222.45.11'),(12118,'1761649174','185.247.137.72'),(12119,'1761649174','67.222.45.11'),(12120,'1761651139','138.68.172.100'),(12121,'1761653263','80.66.64.57'),(12122,'1761653263','67.222.45.11'),(12123,'1761653274','129.80.141.180'),(12124,'1761693815','192.71.103.173'),(12125,'1761693815','67.222.45.11'),(12126,'1761693816','192.71.225.127'),(12127,'1761693817','192.71.23.211'),(12128,'1761693818','192.71.12.140'),(12129,'1761720899','68.183.197.241'),(12130,'1761720899','68.183.197.241'),(12131,'1761720899','67.222.45.11'),(12132,'1761720900','68.183.197.241'),(12133,'1761720900','68.183.197.241'),(12134,'1761720900','68.183.197.241'),(12135,'1761720900','68.183.197.241'),(12136,'1761720951','68.183.197.241'),(12137,'1761720954','68.183.197.241'),(12138,'1761720959','68.183.197.241'),(12139,'1761721069','68.183.197.241'),(12140,'1761721266','68.183.197.241'),(12141,'1761721295','68.183.197.241'),(12142,'1761721321','68.183.197.241'),(12143,'1761721322','68.183.197.241'),(12144,'1761721322','68.183.197.241'),(12145,'1761721373','68.183.197.241'),(12146,'1761721373','68.183.197.241'),(12147,'1761721373','68.183.197.241'),(12148,'1761721373','68.183.197.241'),(12149,'1761721373','68.183.197.241'),(12150,'1761721373','68.183.197.241'),(12151,'1761721373','68.183.197.241'),(12152,'1761721373','68.183.197.241'),(12153,'1761721373','68.183.197.241'),(12154,'1761721403','68.183.197.241'),(12155,'1761721453','68.183.197.241'),(12156,'1761721711','68.183.197.241'),(12157,'1761721763','68.183.197.241'),(12158,'1761721769','68.183.197.241'),(12159,'1761721820','68.183.197.241'),(12160,'1761721875','68.183.197.241'),(12161,'1761721888','68.183.197.241'),(12162,'1761721932','68.183.197.241'),(12163,'1761721977','68.183.197.241'),(12164,'1761722000','68.183.197.241'),(12165,'1761722019','68.183.197.241'),(12166,'1761722046','68.183.197.241'),(12167,'1761722111','68.183.197.241'),(12168,'1761722160','68.183.197.241'),(12169,'1761722189','68.183.197.241'),(12170,'1761722190','68.183.197.241'),(12171,'1761722195','68.183.197.241'),(12172,'1761722221','68.183.197.241'),(12173,'1761722242','68.183.197.241'),(12174,'1761722259','68.183.197.241'),(12175,'1761722266','68.183.197.241'),(12176,'1761722269','68.183.197.241'),(12177,'1761722276','68.183.197.241'),(12178,'1761722335','68.183.197.241'),(12179,'1761722363','68.183.197.241'),(12180,'1761722396','68.183.197.241'),(12181,'1761722439','68.183.197.241'),(12182,'1761722485','68.183.197.241'),(12183,'1761722494','68.183.197.241'),(12184,'1761722521','68.183.197.241'),(12185,'1761722523','68.183.197.241'),(12186,'1761722581','68.183.197.241'),(12187,'1761722620','68.183.197.241'),(12188,'1761722792','68.183.197.241'),(12189,'1761722805','68.183.197.241'),(12190,'1761722805','68.183.197.241'),(12191,'1761722841','68.183.197.241'),(12192,'1761722885','68.183.197.241'),(12193,'1761722942','68.183.197.241'),(12194,'1761722977','68.183.197.241'),(12195,'1761723037','68.183.197.241'),(12196,'1761723106','68.183.197.241'),(12197,'1761723106','68.183.197.241'),(12198,'1761723111','68.183.197.241'),(12199,'1761723120','68.183.197.241'),(12200,'1761723144','68.183.197.241'),(12201,'1761723150','68.183.197.241'),(12202,'1761723165','68.183.197.241'),(12203,'1761723176','68.183.197.241'),(12204,'1761723295','68.183.197.241'),(12205,'1761723406','68.183.197.241'),(12206,'1761723406','67.222.45.11'),(12207,'1761723478','68.183.197.241'),(12208,'1761723492','68.183.197.241'),(12209,'1761723536','68.183.197.241'),(12210,'1761723544','68.183.197.241'),(12211,'1761723552','68.183.197.241'),(12212,'1761723557','68.183.197.241'),(12213,'1761723592','68.183.197.241'),(12214,'1761723596','68.183.197.241'),(12215,'1761723599','68.183.197.241'),(12216,'1761723627','68.183.197.241'),(12217,'1761723643','68.183.197.241'),(12218,'1761723713','68.183.197.241'),(12219,'1761723757','68.183.197.241'),(12220,'1761723757','68.183.197.241'),(12221,'1761723787','68.183.197.241'),(12222,'1761723804','68.183.197.241'),(12223,'1761723808','68.183.197.241'),(12224,'1761723848','68.183.197.241'),(12225,'1761723865','68.183.197.241'),(12226,'1761723865','68.183.197.241'),(12227,'1761723865','68.183.197.241'),(12228,'1761723865','68.183.197.241'),(12229,'1761723880','68.183.197.241'),(12230,'1761723963','68.183.197.241'),(12231,'1761724007','68.183.197.241'),(12232,'1761724016','68.183.197.241'),(12233,'1761724036','68.183.197.241'),(12234,'1761724036','68.183.197.241'),(12235,'1761724123','68.183.197.241'),(12236,'1761724163','68.183.197.241'),(12237,'1761724175','68.183.197.241'),(12238,'1761724178','68.183.197.241'),(12239,'1761724201','68.183.197.241'),(12240,'1761724229','68.183.197.241'),(12241,'1761724265','68.183.197.241'),(12242,'1761724269','68.183.197.241'),(12243,'1761724280','68.183.197.241'),(12244,'1761724305','68.183.197.241'),(12245,'1761724413','68.183.197.241'),(12246,'1761724427','68.183.197.241'),(12247,'1761724470','68.183.197.241'),(12248,'1761724491','68.183.197.241'),(12249,'1761724607','68.183.197.241'),(12250,'1761724611','68.183.197.241'),(12251,'1761724620','68.183.197.241'),(12252,'1761724621','68.183.197.241'),(12253,'1761724651','68.183.197.241'),(12254,'1761724740','68.183.197.241'),(12255,'1761724749','68.183.197.241'),(12256,'1761724778','68.183.197.241'),(12257,'1761724807','68.183.197.241'),(12258,'1761724825','68.183.197.241'),(12259,'1761724844','68.183.197.241'),(12260,'1761724844','68.183.197.241'),(12261,'1761724910','68.183.197.241'),(12262,'1761724911','68.183.197.241'),(12263,'1761724926','68.183.197.241'),(12264,'1761724958','68.183.197.241'),(12265,'1761724964','68.183.197.241'),(12266,'1761724965','68.183.197.241'),(12267,'1761724999','68.183.197.241'),(12268,'1761725048','68.183.197.241'),(12269,'1761725056','68.183.197.241'),(12270,'1761725104','68.183.197.241'),(12271,'1761725134','68.183.197.241'),(12272,'1761725142','68.183.197.241'),(12273,'1761725153','68.183.197.241'),(12274,'1761725197','68.183.197.241'),(12275,'1761725207','68.183.197.241'),(12276,'1761725260','68.183.197.241'),(12277,'1761725260','68.183.197.241'),(12278,'1761725263','68.183.197.241'),(12279,'1761725320','68.183.197.241'),(12280,'1761725357','68.183.197.241'),(12281,'1761725361','68.183.197.241'),(12282,'1761725402','68.183.197.241'),(12283,'1761725424','68.183.197.241'),(12284,'1761725432','68.183.197.241'),(12285,'1761725484','68.183.197.241'),(12286,'1761725572','68.183.197.241'),(12287,'1761725625','68.183.197.241'),(12288,'1761725676','68.183.197.241'),(12289,'1761725679','68.183.197.241'),(12290,'1761725681','68.183.197.241'),(12291,'1761725681','68.183.197.241'),(12292,'1761725717','68.183.197.241'),(12293,'1761725822','68.183.197.241'),(12294,'1761725824','68.183.197.241'),(12295,'1761725867','68.183.197.241'),(12296,'1761725942','68.183.197.241'),(12297,'1761725959','68.183.197.241'),(12298,'1761726071','68.183.197.241'),(12299,'1761726140','68.183.197.241'),(12300,'1761726220','68.183.197.241'),(12301,'1761726224','68.183.197.241'),(12302,'1761726236','68.183.197.241'),(12303,'1761726273','68.183.197.241'),(12304,'1761726336','68.183.197.241'),(12305,'1761726424','68.183.197.241'),(12306,'1761726436','68.183.197.241'),(12307,'1761726493','68.183.197.241'),(12308,'1761726597','68.183.197.241'),(12309,'1761726684','68.183.197.241'),(12310,'1761726801','68.183.197.241'),(12311,'1761726819','68.183.197.241'),(12312,'1761726848','68.183.197.241'),(12313,'1761726914','68.183.197.241'),(12314,'1761726914','67.222.45.11'),(12315,'1761726915','68.183.197.241'),(12316,'1761727000','68.183.197.241'),(12317,'1761727050','68.183.197.241'),(12318,'1761727096','68.183.197.241'),(12319,'1761727115','68.183.197.241'),(12320,'1761727147','68.183.197.241'),(12321,'1761727152','68.183.197.241'),(12322,'1761727165','68.183.197.241'),(12323,'1761727237','68.183.197.241'),(12324,'1761727237','68.183.197.241'),(12325,'1761727252','68.183.197.241'),(12326,'1761727277','68.183.197.241'),(12327,'1761727304','68.183.197.241'),(12328,'1761727308','68.183.197.241'),(12329,'1761727350','68.183.197.241'),(12330,'1761727356','68.183.197.241'),(12331,'1761727499','68.183.197.241'),(12332,'1761727499','68.183.197.241'),(12333,'1761727523','68.183.197.241'),(12334,'1761727547','68.183.197.241'),(12335,'1761727561','68.183.197.241'),(12336,'1761727592','68.183.197.241'),(12337,'1761727765','68.183.197.241'),(12338,'1761727828','68.183.197.241'),(12339,'1761727840','68.183.197.241'),(12340,'1761727841','68.183.197.241'),(12341,'1761727881','68.183.197.241'),(12342,'1761727904','68.183.197.241'),(12343,'1761727947','68.183.197.241'),(12344,'1761727983','68.183.197.241'),(12345,'1761728014','68.183.197.241'),(12346,'1761728049','68.183.197.241'),(12347,'1761728059','68.183.197.241'),(12348,'1761728090','68.183.197.241'),(12349,'1761728203','68.183.197.241'),(12350,'1761728225','68.183.197.241'),(12351,'1761728225','68.183.197.241'),(12352,'1761728225','68.183.197.241'),(12353,'1761728225','68.183.197.241'),(12354,'1761728225','68.183.197.241'),(12355,'1761728225','68.183.197.241'),(12356,'1761728225','68.183.197.241'),(12357,'1761728225','68.183.197.241'),(12358,'1761728225','68.183.197.241'),(12359,'1761728225','68.183.197.241'),(12360,'1761728260','68.183.197.241'),(12361,'1761728514','68.183.197.241'),(12362,'1761728784','68.183.197.241'),(12363,'1761728823','68.183.197.241'),(12364,'1761728879','68.183.197.241'),(12365,'1761728921','68.183.197.241'),(12366,'1761728930','68.183.197.241'),(12367,'1761728973','68.183.197.241'),(12368,'1761728973','68.183.197.241'),(12369,'1761728973','68.183.197.241'),(12370,'1761728973','68.183.197.241'),(12371,'1761728973','68.183.197.241'),(12372,'1761728973','68.183.197.241'),(12373,'1761728973','68.183.197.241'),(12374,'1761728973','68.183.197.241'),(12375,'1761728973','68.183.197.241'),(12376,'1761728973','68.183.197.241'),(12377,'1761728973','68.183.197.241'),(12378,'1761728973','68.183.197.241'),(12379,'1761728981','68.183.197.241'),(12380,'1761729202','68.183.197.241'),(12381,'1761729214','68.183.197.241'),(12382,'1761729237','68.183.197.241'),(12383,'1761729241','68.183.197.241'),(12384,'1761729318','68.183.197.241'),(12385,'1761729324','68.183.197.241'),(12386,'1761729348','68.183.197.241'),(12387,'1761729359','68.183.197.241'),(12388,'1761729359','68.183.197.241'),(12389,'1761729404','68.183.197.241'),(12390,'1761729412','68.183.197.241'),(12391,'1761729430','68.183.197.241'),(12392,'1761729477','68.183.197.241'),(12393,'1761729487','68.183.197.241'),(12394,'1761729490','68.183.197.241'),(12395,'1761729506','68.183.197.241'),(12396,'1761729569','68.183.197.241'),(12397,'1761729610','68.183.197.241'),(12398,'1761729613','68.183.197.241'),(12399,'1761729618','68.183.197.241'),(12400,'1761729623','68.183.197.241'),(12401,'1761729650','68.183.197.241'),(12402,'1761729653','68.183.197.241'),(12403,'1761729778','68.183.197.241'),(12404,'1761729808','68.183.197.241'),(12405,'1761729870','68.183.197.241'),(12406,'1761729905','68.183.197.241'),(12407,'1761729947','68.183.197.241'),(12408,'1761729954','68.183.197.241'),(12409,'1761729985','68.183.197.241'),(12410,'1761729986','68.183.197.241'),(12411,'1761730031','68.183.197.241'),(12412,'1761730031','68.183.197.241'),(12413,'1761730067','68.183.197.241'),(12414,'1761730072','68.183.197.241'),(12415,'1761730076','68.183.197.241'),(12416,'1761730099','68.183.197.241'),(12417,'1761730232','68.183.197.241'),(12418,'1761730256','68.183.197.241'),(12419,'1761730283','68.183.197.241'),(12420,'1761730294','68.183.197.241'),(12421,'1761730413','68.183.197.241'),(12422,'1761730491','68.183.197.241'),(12423,'1761730553','68.183.197.241'),(12424,'1761730553','67.222.45.11'),(12425,'1761730567','68.183.197.241'),(12426,'1761730611','68.183.197.241'),(12427,'1761730633','68.183.197.241'),(12428,'1761730653','68.183.197.241'),(12429,'1761730653','68.183.197.241'),(12430,'1761730697','68.183.197.241'),(12431,'1761730757','68.183.197.241'),(12432,'1761730758','68.183.197.241'),(12433,'1761730759','68.183.197.241'),(12434,'1761730814','68.183.197.241'),(12435,'1761730814','68.183.197.241'),(12436,'1761730814','68.183.197.241'),(12437,'1761730837','68.183.197.241'),(12438,'1761731046','68.183.197.241'),(12439,'1761731083','68.183.197.241'),(12440,'1761731146','68.183.197.241'),(12441,'1761731151','68.183.197.241'),(12442,'1761731156','68.183.197.241'),(12443,'1761731162','68.183.197.241'),(12444,'1761731198','68.183.197.241'),(12445,'1761731223','68.183.197.241'),(12446,'1761731238','68.183.197.241'),(12447,'1761731249','68.183.197.241'),(12448,'1761731256','68.183.197.241'),(12449,'1761731304','68.183.197.241'),(12450,'1761731311','68.183.197.241'),(12451,'1761731500','68.183.197.241'),(12452,'1761731542','68.183.197.241'),(12453,'1761731696','68.183.197.241'),(12454,'1761731749','68.183.197.241'),(12455,'1761731765','68.183.197.241'),(12456,'1761731781','68.183.197.241'),(12457,'1761731783','68.183.197.241'),(12458,'1761731790','68.183.197.241'),(12459,'1761731809','68.183.197.241'),(12460,'1761731845','68.183.197.241'),(12461,'1761731864','68.183.197.241'),(12462,'1761731883','68.183.197.241'),(12463,'1761731916','68.183.197.241'),(12464,'1761731922','68.183.197.241'),(12465,'1761732075','68.183.197.241'),(12466,'1761732112','68.183.197.241'),(12467,'1761732153','68.183.197.241'),(12468,'1761732153','68.183.197.241'),(12469,'1761732153','68.183.197.241'),(12470,'1761732191','68.183.197.241'),(12471,'1761732214','68.183.197.241'),(12472,'1761732217','68.183.197.241'),(12473,'1761732218','68.183.197.241'),(12474,'1761732283','68.183.197.241'),(12475,'1761732301','68.183.197.241'),(12476,'1761732311','68.183.197.241'),(12477,'1761732370','68.183.197.241'),(12478,'1761732391','68.183.197.241'),(12479,'1761732393','68.183.197.241'),(12480,'1761732449','68.183.197.241'),(12481,'1761732469','68.183.197.241'),(12482,'1761732477','68.183.197.241'),(12483,'1761732491','68.183.197.241'),(12484,'1761732618','68.183.197.241'),(12485,'1761732682','68.183.197.241'),(12486,'1761732689','68.183.197.241'),(12487,'1761732691','68.183.197.241'),(12488,'1761732716','68.183.197.241'),(12489,'1761732716','68.183.197.241'),(12490,'1761732735','68.183.197.241'),(12491,'1761732771','68.183.197.241'),(12492,'1761732833','68.183.197.241'),(12493,'1761732835','68.183.197.241'),(12494,'1761732872','68.183.197.241'),(12495,'1761732892','68.183.197.241'),(12496,'1761732960','68.183.197.241'),(12497,'1761733002','68.183.197.241'),(12498,'1761733040','68.183.197.241'),(12499,'1761733160','68.183.197.241'),(12500,'1761733161','68.183.197.241'),(12501,'1761733195','68.183.197.241'),(12502,'1761733206','68.183.197.241'),(12503,'1761733211','68.183.197.241'),(12504,'1761733214','68.183.197.241'),(12505,'1761733232','68.183.197.241'),(12506,'1761733249','68.183.197.241'),(12507,'1761733294','68.183.197.241'),(12508,'1761733470','68.183.197.241'),(12509,'1761733483','68.183.197.241'),(12510,'1761733510','68.183.197.241'),(12511,'1761733518','68.183.197.241'),(12512,'1761733530','68.183.197.241'),(12513,'1761733556','68.183.197.241'),(12514,'1761733563','68.183.197.241'),(12515,'1761733577','68.183.197.241'),(12516,'1761733608','68.183.197.241'),(12517,'1761733695','68.183.197.241'),(12518,'1761733740','68.183.197.241'),(12519,'1761733821','68.183.197.241'),(12520,'1761733821','68.183.197.241'),(12521,'1761733821','68.183.197.241'),(12522,'1761733821','68.183.197.241'),(12523,'1761733837','68.183.197.241'),(12524,'1761733837','68.183.197.241'),(12525,'1761733837','68.183.197.241'),(12526,'1761733862','68.183.197.241'),(12527,'1761733904','68.183.197.241'),(12528,'1761733938','68.183.197.241'),(12529,'1761733959','68.183.197.241'),(12530,'1761733964','68.183.197.241'),(12531,'1761733988','68.183.197.241'),(12532,'1761733998','68.183.197.241'),(12533,'1761734093','68.183.197.241'),(12534,'1761734129','68.183.197.241'),(12535,'1761734129','67.222.45.11'),(12536,'1761734220','68.183.197.241'),(12537,'1761734257','68.183.197.241'),(12538,'1761734265','68.183.197.241'),(12539,'1761734273','68.183.197.241'),(12540,'1761734317','68.183.197.241'),(12541,'1761734398','68.183.197.241'),(12542,'1761734404','68.183.197.241'),(12543,'1761734410','68.183.197.241'),(12544,'1761734421','68.183.197.241'),(12545,'1761734548','68.183.197.241'),(12546,'1761734568','68.183.197.241'),(12547,'1761734569','68.183.197.241'),(12548,'1761734577','68.183.197.241'),(12549,'1761734600','68.183.197.241'),(12550,'1761734613','68.183.197.241'),(12551,'1761734633','68.183.197.241'),(12552,'1761734634','68.183.197.241'),(12553,'1761734784','68.183.197.241'),(12554,'1761734847','68.183.197.241'),(12555,'1761734878','68.183.197.241'),(12556,'1761734897','68.183.197.241'),(12557,'1761734950','68.183.197.241'),(12558,'1761735003','68.183.197.241'),(12559,'1761735014','68.183.197.241'),(12560,'1761735027','68.183.197.241'),(12561,'1761735038','68.183.197.241'),(12562,'1761735096','68.183.197.241'),(12563,'1761735117','68.183.197.241'),(12564,'1761735130','68.183.197.241'),(12565,'1761735131','68.183.197.241'),(12566,'1761735160','68.183.197.241'),(12567,'1761735214','68.183.197.241'),(12568,'1761735222','68.183.197.241'),(12569,'1761735256','68.183.197.241'),(12570,'1761735283','68.183.197.241'),(12571,'1761735288','68.183.197.241'),(12572,'1761735307','68.183.197.241'),(12573,'1761735320','68.183.197.241'),(12574,'1761735338','68.183.197.241'),(12575,'1761735368','68.183.197.241'),(12576,'1761735462','68.183.197.241'),(12577,'1761735592','68.183.197.241'),(12578,'1761735706','68.183.197.241'),(12579,'1761735715','68.183.197.241'),(12580,'1761735719','68.183.197.241'),(12581,'1761735755','68.183.197.241'),(12582,'1761735774','68.183.197.241'),(12583,'1761735811','68.183.197.241'),(12584,'1761735824','68.183.197.241'),(12585,'1761735829','68.183.197.241'),(12586,'1761735904','68.183.197.241'),(12587,'1761736123','68.183.197.241'),(12588,'1761736123','68.183.197.241'),(12589,'1761736123','68.183.197.241'),(12590,'1761736123','68.183.197.241'),(12591,'1761736123','68.183.197.241'),(12592,'1761736123','68.183.197.241'),(12593,'1761736123','68.183.197.241'),(12594,'1761736123','68.183.197.241'),(12595,'1761736123','68.183.197.241'),(12596,'1761736123','68.183.197.241'),(12597,'1761736123','68.183.197.241'),(12598,'1761736123','68.183.197.241'),(12599,'1761736123','68.183.197.241'),(12600,'1761736123','68.183.197.241'),(12601,'1761736123','68.183.197.241'),(12602,'1761736123','68.183.197.241'),(12603,'1761736123','68.183.197.241'),(12604,'1761736123','68.183.197.241'),(12605,'1761736123','68.183.197.241'),(12606,'1761736123','68.183.197.241'),(12607,'1761736123','68.183.197.241'),(12608,'1761736123','68.183.197.241'),(12609,'1761736123','68.183.197.241'),(12610,'1761736123','68.183.197.241'),(12611,'1761736123','68.183.197.241'),(12612,'1761736183','68.183.197.241'),(12613,'1761736196','68.183.197.241'),(12614,'1761736206','68.183.197.241'),(12615,'1761736209','68.183.197.241'),(12616,'1761736270','68.183.197.241'),(12617,'1761736344','68.183.197.241'),(12618,'1761736367','68.183.197.241'),(12619,'1761736379','68.183.197.241'),(12620,'1761736474','68.183.197.241'),(12621,'1761736531','68.183.197.241'),(12622,'1761736543','68.183.197.241'),(12623,'1761736551','68.183.197.241'),(12624,'1761736563','68.183.197.241'),(12625,'1761736808','68.183.197.241'),(12626,'1761736823','68.183.197.241'),(12627,'1761736827','68.183.197.241'),(12628,'1761736912','68.183.197.241'),(12629,'1761736917','68.183.197.241'),(12630,'1761736958','68.183.197.241'),(12631,'1761737054','68.183.197.241'),(12632,'1761737094','68.183.197.241'),(12633,'1761737097','68.183.197.241'),(12634,'1761737098','68.183.197.241'),(12635,'1761737158','68.183.197.241'),(12636,'1761737182','68.183.197.241'),(12637,'1761737190','68.183.197.241'),(12638,'1761737279','68.183.197.241'),(12639,'1761737337','68.183.197.241'),(12640,'1761737374','68.183.197.241'),(12641,'1761737374','68.183.197.241'),(12642,'1761737377','68.183.197.241'),(12643,'1761737452','68.183.197.241'),(12644,'1761737452','68.183.197.241'),(12645,'1761737452','68.183.197.241'),(12646,'1761737452','68.183.197.241'),(12647,'1761737458','68.183.197.241'),(12648,'1761737471','68.183.197.241'),(12649,'1761737483','68.183.197.241'),(12650,'1761737490','68.183.197.241'),(12651,'1761737581','68.183.197.241'),(12652,'1761737666','68.183.197.241'),(12653,'1761737678','68.183.197.241'),(12654,'1761737742','68.183.197.241'),(12655,'1761737742','67.222.45.11'),(12656,'1761737749','68.183.197.241'),(12657,'1761737879','68.183.197.241'),(12658,'1761737914','68.183.197.241'),(12659,'1761737918','68.183.197.241'),(12660,'1761737919','68.183.197.241'),(12661,'1761737941','68.183.197.241'),(12662,'1761737941','68.183.197.241'),(12663,'1761737944','68.183.197.241'),(12664,'1761737953','68.183.197.241'),(12665,'1761737977','68.183.197.241'),(12666,'1761737992','68.183.197.241'),(12667,'1761738063','68.183.197.241'),(12668,'1761738101','68.183.197.241'),(12669,'1761738143','68.183.197.241'),(12670,'1761738205','68.183.197.241'),(12671,'1761738216','68.183.197.241'),(12672,'1761738250','68.183.197.241'),(12673,'1761738292','68.183.197.241'),(12674,'1761738306','68.183.197.241'),(12675,'1761738317','68.183.197.241'),(12676,'1761738346','68.183.197.241'),(12677,'1761738356','68.183.197.241'),(12678,'1761738455','68.183.197.241'),(12679,'1761738475','68.183.197.241'),(12680,'1761738583','68.183.197.241'),(12681,'1761738599','68.183.197.241'),(12682,'1761738616','68.183.197.241'),(12683,'1761738633','68.183.197.241'),(12684,'1761738633','68.183.197.241'),(12685,'1761738633','68.183.197.241'),(12686,'1761738633','68.183.197.241'),(12687,'1761738642','68.183.197.241'),(12688,'1761738683','68.183.197.241'),(12689,'1761738737','68.183.197.241'),(12690,'1761738773','68.183.197.241'),(12691,'1761738785','68.183.197.241'),(12692,'1761738812','68.183.197.241'),(12693,'1761738812','68.183.197.241'),(12694,'1761738817','68.183.197.241'),(12695,'1761738856','68.183.197.241'),(12696,'1761738879','68.183.197.241'),(12697,'1761738901','68.183.197.241'),(12698,'1761738913','68.183.197.241'),(12699,'1761738952','68.183.197.241'),(12700,'1761738982','68.183.197.241'),(12701,'1761739094','68.183.197.241'),(12702,'1761739110','68.183.197.241'),(12703,'1761739138','68.183.197.241'),(12704,'1761739203','68.183.197.241'),(12705,'1761739205','68.183.197.241'),(12706,'1761739207','68.183.197.241'),(12707,'1761739234','68.183.197.241'),(12708,'1761739315','68.183.197.241'),(12709,'1761739322','68.183.197.241'),(12710,'1761739388','68.183.197.241'),(12711,'1761739459','68.183.197.241'),(12712,'1761739467','68.183.197.241'),(12713,'1761739542','68.183.197.241'),(12714,'1761739545','68.183.197.241'),(12715,'1761739546','68.183.197.241'),(12716,'1761739546','68.183.197.241'),(12717,'1761739549','68.183.197.241'),(12718,'1761739549','68.183.197.241'),(12719,'1761739565','68.183.197.241'),(12720,'1761739598','68.183.197.241'),(12721,'1761739695','68.183.197.241'),(12722,'1761739698','68.183.197.241'),(12723,'1761739703','68.183.197.241'),(12724,'1761739745','68.183.197.241'),(12725,'1761739783','68.183.197.241'),(12726,'1761739793','68.183.197.241'),(12727,'1761739796','68.183.197.241'),(12728,'1761739816','68.183.197.241'),(12729,'1761739819','68.183.197.241'),(12730,'1761739826','68.183.197.241'),(12731,'1761739857','68.183.197.241'),(12732,'1761739860','68.183.197.241'),(12733,'1761739878','68.183.197.241'),(12734,'1761739901','68.183.197.241'),(12735,'1761739908','68.183.197.241'),(12736,'1761739908','68.183.197.241'),(12737,'1761739909','68.183.197.241'),(12738,'1761740012','68.183.197.241'),(12739,'1761740035','68.183.197.241'),(12740,'1761740035','68.183.197.241'),(12741,'1761740035','68.183.197.241'),(12742,'1761740136','68.183.197.241'),(12743,'1761740149','68.183.197.241'),(12744,'1761740151','68.183.197.241'),(12745,'1761740196','68.183.197.241'),(12746,'1761740212','68.183.197.241'),(12747,'1761740215','68.183.197.241'),(12748,'1761740217','68.183.197.241'),(12749,'1761740220','68.183.197.241'),(12750,'1761740265','68.183.197.241'),(12751,'1761740338','68.183.197.241'),(12752,'1761740358','68.183.197.241'),(12753,'1761740392','68.183.197.241'),(12754,'1761740417','68.183.197.241'),(12755,'1761740419','68.183.197.241'),(12756,'1761740448','68.183.197.241'),(12757,'1761740454','68.183.197.241'),(12758,'1761740478','68.183.197.241'),(12759,'1761740491','68.183.197.241'),(12760,'1761740574','68.183.197.241'),(12761,'1761740580','68.183.197.241'),(12762,'1761740639','68.183.197.241'),(12763,'1761740667','68.183.197.241'),(12764,'1761740686','68.183.197.241'),(12765,'1761740705','68.183.197.241'),(12766,'1761740712','68.183.197.241'),(12767,'1761740734','68.183.197.241'),(12768,'1761740737','68.183.197.241'),(12769,'1761740788','68.183.197.241'),(12770,'1761740817','68.183.197.241'),(12771,'1761740837','68.183.197.241'),(12772,'1761740860','68.183.197.241'),(12773,'1761740877','68.183.197.241'),(12774,'1761740909','68.183.197.241'),(12775,'1761740911','68.183.197.241'),(12776,'1761740928','68.183.197.241'),(12777,'1761740931','68.183.197.241'),(12778,'1761740935','68.183.197.241'),(12779,'1761740938','68.183.197.241'),(12780,'1761740953','68.183.197.241'),(12781,'1761740958','68.183.197.241'),(12782,'1761740986','68.183.197.241'),(12783,'1761741000','68.183.197.241'),(12784,'1761741058','68.183.197.241'),(12785,'1761741113','68.183.197.241'),(12786,'1761741151','68.183.197.241'),(12787,'1761741151','68.183.197.241'),(12788,'1761741152','68.183.197.241'),(12789,'1761741166','68.183.197.241'),(12790,'1761741184','68.183.197.241'),(12791,'1761741214','68.183.197.241'),(12792,'1761741234','68.183.197.241'),(12793,'1761741304','68.183.197.241'),(12794,'1761741304','68.183.197.241'),(12795,'1761741304','67.222.45.11'),(12796,'1761741345','68.183.197.241'),(12797,'1761741354','68.183.197.241'),(12798,'1761741373','68.183.197.241'),(12799,'1761741382','68.183.197.241'),(12800,'1761741387','68.183.197.241'),(12801,'1761741423','68.183.197.241'),(12802,'1761741458','68.183.197.241'),(12803,'1761741511','68.183.197.241'),(12804,'1761741520','68.183.197.241'),(12805,'1761741547','68.183.197.241'),(12806,'1761741548','68.183.197.241'),(12807,'1761741597','68.183.197.241'),(12808,'1761741656','68.183.197.241'),(12809,'1761741677','68.183.197.241'),(12810,'1761741684','68.183.197.241'),(12811,'1761741684','68.183.197.241'),(12812,'1761741689','68.183.197.241'),(12813,'1761741735','68.183.197.241'),(12814,'1761741802','68.183.197.241'),(12815,'1761741840','68.183.197.241'),(12816,'1761741886','68.183.197.241'),(12817,'1761741890','68.183.197.241'),(12818,'1761741931','68.183.197.241'),(12819,'1761741948','68.183.197.241'),(12820,'1761741952','68.183.197.241'),(12821,'1761742004','68.183.197.241'),(12822,'1761742020','68.183.197.241'),(12823,'1761742030','68.183.197.241'),(12824,'1761742042','68.183.197.241'),(12825,'1761742066','68.183.197.241'),(12826,'1761742090','68.183.197.241'),(12827,'1761742103','68.183.197.241'),(12828,'1761742141','68.183.197.241'),(12829,'1761742141','68.183.197.241'),(12830,'1761742163','68.183.197.241'),(12831,'1761742178','68.183.197.241'),(12832,'1761742192','68.183.197.241'),(12833,'1761742223','68.183.197.241'),(12834,'1761742232','68.183.197.241'),(12835,'1761742295','68.183.197.241'),(12836,'1761742338','68.183.197.241'),(12837,'1761742376','68.183.197.241'),(12838,'1761742381','68.183.197.241'),(12839,'1761742395','68.183.197.241'),(12840,'1761742404','68.183.197.241'),(12841,'1761742419','68.183.197.241'),(12842,'1761742419','68.183.197.241'),(12843,'1761742425','68.183.197.241'),(12844,'1761742490','68.183.197.241'),(12845,'1761742492','68.183.197.241'),(12846,'1761742494','68.183.197.241'),(12847,'1761742501','68.183.197.241'),(12848,'1761742528','68.183.197.241'),(12849,'1761742551','68.183.197.241'),(12850,'1761742581','68.183.197.241'),(12851,'1761742613','68.183.197.241'),(12852,'1761742642','68.183.197.241'),(12853,'1761742643','68.183.197.241'),(12854,'1761742714','68.183.197.241'),(12855,'1761742743','68.183.197.241'),(12856,'1761742751','68.183.197.241'),(12857,'1761742782','68.183.197.241'),(12858,'1761742787','68.183.197.241'),(12859,'1761742789','68.183.197.241'),(12860,'1761742806','68.183.197.241'),(12861,'1761742821','68.183.197.241'),(12862,'1761742862','68.183.197.241'),(12863,'1761742921','68.183.197.241'),(12864,'1761742929','68.183.197.241'),(12865,'1761742940','68.183.197.241'),(12866,'1761742966','68.183.197.241'),(12867,'1761742977','68.183.197.241'),(12868,'1761742995','68.183.197.241'),(12869,'1761743022','68.183.197.241'),(12870,'1761743028','68.183.197.241'),(12871,'1761743057','68.183.197.241'),(12872,'1761743060','68.183.197.241'),(12873,'1761743086','68.183.197.241'),(12874,'1761743127','68.183.197.241'),(12875,'1761743153','68.183.197.241'),(12876,'1761743161','68.183.197.241'),(12877,'1761743194','68.183.197.241'),(12878,'1761743206','68.183.197.241'),(12879,'1761743227','68.183.197.241'),(12880,'1761743228','68.183.197.241'),(12881,'1761743239','68.183.197.241'),(12882,'1761743282','68.183.197.241'),(12883,'1761743284','68.183.197.241'),(12884,'1761743311','68.183.197.241'),(12885,'1761743313','68.183.197.241'),(12886,'1761743330','68.183.197.241'),(12887,'1761743380','68.183.197.241'),(12888,'1761743454','68.183.197.241'),(12889,'1761743457','68.183.197.241'),(12890,'1761743460','68.183.197.241'),(12891,'1761743471','68.183.197.241'),(12892,'1761743478','68.183.197.241'),(12893,'1761743482','68.183.197.241'),(12894,'1761743518','68.183.197.241'),(12895,'1761743550','68.183.197.241'),(12896,'1761743567','68.183.197.241'),(12897,'1761743570','68.183.197.241'),(12898,'1761743591','68.183.197.241'),(12899,'1761743592','68.183.197.241'),(12900,'1761743598','68.183.197.241'),(12901,'1761743608','68.183.197.241'),(12902,'1761743610','68.183.197.241'),(12903,'1761743634','68.183.197.241'),(12904,'1761743668','68.183.197.241'),(12905,'1761743687','68.183.197.241'),(12906,'1761743693','68.183.197.241'),(12907,'1761743740','68.183.197.241'),(12908,'1761743814','68.183.197.241'),(12909,'1761743819','68.183.197.241'),(12910,'1761743874','68.183.197.241'),(12911,'1761743892','68.183.197.241'),(12912,'1761743970','68.183.197.241'),(12913,'1761743976','68.183.197.241'),(12914,'1761743992','68.183.197.241'),(12915,'1761744002','68.183.197.241'),(12916,'1761744064','68.183.197.241'),(12917,'1761744084','68.183.197.241'),(12918,'1761744113','68.183.197.241'),(12919,'1761744114','68.183.197.241'),(12920,'1761744184','68.183.197.241'),(12921,'1761744219','68.183.197.241'),(12922,'1761744232','68.183.197.241'),(12923,'1761744232','68.183.197.241'),(12924,'1761744232','68.183.197.241'),(12925,'1761744232','68.183.197.241'),(12926,'1761744232','68.183.197.241'),(12927,'1761744232','68.183.197.241'),(12928,'1761744232','68.183.197.241'),(12929,'1761744232','68.183.197.241'),(12930,'1761744232','68.183.197.241'),(12931,'1761744232','68.183.197.241'),(12932,'1761744244','68.183.197.241'),(12933,'1761744268','68.183.197.241'),(12934,'1761744350','68.183.197.241'),(12935,'1761744388','68.183.197.241'),(12936,'1761744413','68.183.197.241'),(12937,'1761744418','68.183.197.241'),(12938,'1761744477','68.183.197.241'),(12939,'1761744506','68.183.197.241'),(12940,'1761744524','68.183.197.241'),(12941,'1761744609','68.183.197.241'),(12942,'1761744618','68.183.197.241'),(12943,'1761744619','68.183.197.241'),(12944,'1761744627','68.183.197.241'),(12945,'1761744682','68.183.197.241'),(12946,'1761744701','68.183.197.241'),(12947,'1761744716','68.183.197.241'),(12948,'1761744725','68.183.197.241'),(12949,'1761744738','68.183.197.241'),(12950,'1761744758','68.183.197.241'),(12951,'1761744759','68.183.197.241'),(12952,'1761744784','68.183.197.241'),(12953,'1761744870','68.183.197.241'),(12954,'1761744885','68.183.197.241'),(12955,'1761744885','68.183.197.241'),(12956,'1761744895','68.183.197.241'),(12957,'1761744895','68.183.197.241'),(12958,'1761744897','68.183.197.241'),(12959,'1761744925','68.183.197.241'),(12960,'1761744925','67.222.45.11'),(12961,'1761744955','68.183.197.241'),(12962,'1761745042','68.183.197.241'),(12963,'1761745047','68.183.197.241'),(12964,'1761745057','68.183.197.241'),(12965,'1761745061','68.183.197.241'),(12966,'1761745106','68.183.197.241'),(12967,'1761745127','68.183.197.241'),(12968,'1761745133','68.183.197.241'),(12969,'1761745133','68.183.197.241'),(12970,'1761745145','68.183.197.241'),(12971,'1761745147','68.183.197.241'),(12972,'1761745214','68.183.197.241'),(12973,'1761745229','68.183.197.241'),(12974,'1761745256','68.183.197.241'),(12975,'1761745257','68.183.197.241'),(12976,'1761745266','68.183.197.241'),(12977,'1761745271','68.183.197.241'),(12978,'1761745303','68.183.197.241'),(12979,'1761745352','68.183.197.241'),(12980,'1761745475','68.183.197.241'),(12981,'1761745475','68.183.197.241'),(12982,'1761745475','68.183.197.241'),(12983,'1761745475','68.183.197.241'),(12984,'1761745528','68.183.197.241'),(12985,'1761745621','68.183.197.241'),(12986,'1761745639','68.183.197.241'),(12987,'1761745653','68.183.197.241'),(12988,'1761745671','68.183.197.241'),(12989,'1761745671','68.183.197.241'),(12990,'1761745703','68.183.197.241'),(12991,'1761745755','68.183.197.241'),(12992,'1761745774','68.183.197.241'),(12993,'1761745791','68.183.197.241'),(12994,'1761745830','68.183.197.241'),(12995,'1761745844','68.183.197.241'),(12996,'1761745911','68.183.197.241'),(12997,'1761745913','68.183.197.241'),(12998,'1761745914','68.183.197.241'),(12999,'1761745922','68.183.197.241'),(13000,'1761746001','68.183.197.241'),(13001,'1761746030','68.183.197.241'),(13002,'1761746056','68.183.197.241'),(13003,'1761746085','68.183.197.241'),(13004,'1761746086','68.183.197.241'),(13005,'1761746097','68.183.197.241'),(13006,'1761746133','68.183.197.241'),(13007,'1761746169','68.183.197.241'),(13008,'1761746176','68.183.197.241'),(13009,'1761746210','68.183.197.241'),(13010,'1761746233','68.183.197.241'),(13011,'1761746236','68.183.197.241'),(13012,'1761746280','68.183.197.241'),(13013,'1761746292','68.183.197.241'),(13014,'1761746319','68.183.197.241'),(13015,'1761746366','68.183.197.241'),(13016,'1761746375','68.183.197.241'),(13017,'1761746386','68.183.197.241'),(13018,'1761746404','68.183.197.241'),(13019,'1761746431','68.183.197.241'),(13020,'1761746441','68.183.197.241'),(13021,'1761746442','68.183.197.241'),(13022,'1761746442','68.183.197.241'),(13023,'1761746451','68.183.197.241'),(13024,'1761746583','68.183.197.241'),(13025,'1761746593','68.183.197.241'),(13026,'1761746593','68.183.197.241'),(13027,'1761746663','68.183.197.241'),(13028,'1761746663','68.183.197.241'),(13029,'1761746683','68.183.197.241'),(13030,'1761746683','68.183.197.241'),(13031,'1761746683','68.183.197.241'),(13032,'1761746683','68.183.197.241'),(13033,'1761746723','68.183.197.241'),(13034,'1761746732','68.183.197.241'),(13035,'1761746732','68.183.197.241'),(13036,'1761746749','68.183.197.241'),(13037,'1761746820','68.183.197.241'),(13038,'1761746820','68.183.197.241'),(13039,'1761746820','68.183.197.241'),(13040,'1761746820','68.183.197.241'),(13041,'1761746878','68.183.197.241'),(13042,'1761746883','68.183.197.241'),(13043,'1761746884','68.183.197.241'),(13044,'1761746903','68.183.197.241'),(13045,'1761746908','68.183.197.241'),(13046,'1761746913','68.183.197.241'),(13047,'1761746966','68.183.197.241'),(13048,'1761746966','68.183.197.241'),(13049,'1761747077','68.183.197.241'),(13050,'1761747077','68.183.197.241'),(13051,'1761747102','68.183.197.241'),(13052,'1761747112','68.183.197.241'),(13053,'1761747174','68.183.197.241'),(13054,'1761747174','68.183.197.241'),(13055,'1761747174','68.183.197.241'),(13056,'1761747174','68.183.197.241'),(13057,'1761747174','68.183.197.241'),(13058,'1761747174','68.183.197.241'),(13059,'1761747252','68.183.197.241'),(13060,'1761747365','68.183.197.241'),(13061,'1761747365','68.183.197.241'),(13062,'1761747372','68.183.197.241'),(13063,'1761747448','68.183.197.241'),(13064,'1761747472','68.183.197.241'),(13065,'1761747474','68.183.197.241'),(13066,'1761747495','68.183.197.241'),(13067,'1761747593','68.183.197.241'),(13068,'1761747624','68.183.197.241'),(13069,'1761747723','68.183.197.241'),(13070,'1761747789','68.183.197.241'),(13071,'1761747838','68.183.197.241'),(13072,'1761747840','68.183.197.241'),(13073,'1761747898','68.183.197.241'),(13074,'1761747898','68.183.197.241'),(13075,'1761747910','68.183.197.241'),(13076,'1761747913','68.183.197.241'),(13077,'1761748115','68.183.197.241'),(13078,'1761748163','68.183.197.241'),(13079,'1761748296','68.183.197.241'),(13080,'1761748296','68.183.197.241'),(13081,'1761748296','68.183.197.241'),(13082,'1761748296','68.183.197.241'),(13083,'1761748296','68.183.197.241'),(13084,'1761748296','68.183.197.241'),(13085,'1761748296','68.183.197.241'),(13086,'1761748296','68.183.197.241'),(13087,'1761748296','68.183.197.241'),(13088,'1761748296','68.183.197.241'),(13089,'1761748296','68.183.197.241'),(13090,'1761748296','68.183.197.241'),(13091,'1761748296','68.183.197.241'),(13092,'1761748419','68.183.197.241'),(13093,'1761748497','68.183.197.241'),(13094,'1761748497','68.183.197.241'),(13095,'1761748499','68.183.197.241'),(13096,'1761748507','68.183.197.241'),(13097,'1761748507','67.222.45.11'),(13098,'1761748508','68.183.197.241'),(13099,'1761748655','68.183.197.241'),(13100,'1761748682','68.183.197.241'),(13101,'1761748690','68.183.197.241'),(13102,'1761748804','68.183.197.241'),(13103,'1761748913','68.183.197.241'),(13104,'1761748999','68.183.197.241'),(13105,'1761749003','68.183.197.241'),(13106,'1761749024','68.183.197.241'),(13107,'1761749024','68.183.197.241'),(13108,'1761749024','68.183.197.241'),(13109,'1761749024','68.183.197.241'),(13110,'1761749024','68.183.197.241'),(13111,'1761749024','68.183.197.241'),(13112,'1761749024','68.183.197.241'),(13113,'1761749024','68.183.197.241'),(13114,'1761749095','68.183.197.241'),(13115,'1761749114','68.183.197.241'),(13116,'1761749186','68.183.197.241'),(13117,'1761749257','68.183.197.241'),(13118,'1761749258','68.183.197.241'),(13119,'1761749424','68.183.197.241'),(13120,'1761749424','68.183.197.241'),(13121,'1761749634','68.183.197.241'),(13122,'1761749638','68.183.197.241'),(13123,'1761749727','68.183.197.241'),(13124,'1761749768','68.183.197.241'),(13125,'1761749925','68.183.197.241'),(13126,'1761749946','68.183.197.241'),(13127,'1761749946','68.183.197.241'),(13128,'1761749946','68.183.197.241'),(13129,'1761749946','68.183.197.241'),(13130,'1761749946','68.183.197.241'),(13131,'1761749946','68.183.197.241'),(13132,'1761749946','68.183.197.241'),(13133,'1761749946','68.183.197.241'),(13134,'1761749946','68.183.197.241'),(13135,'1761749946','68.183.197.241'),(13136,'1761749946','68.183.197.241'),(13137,'1761749946','68.183.197.241'),(13138,'1761749946','68.183.197.241'),(13139,'1761749946','68.183.197.241'),(13140,'1761749946','68.183.197.241'),(13141,'1761749946','68.183.197.241'),(13142,'1761749946','68.183.197.241'),(13143,'1761749946','68.183.197.241'),(13144,'1761749946','68.183.197.241'),(13145,'1761749946','68.183.197.241'),(13146,'1761749946','68.183.197.241'),(13147,'1761749946','68.183.197.241'),(13148,'1761749946','68.183.197.241'),(13149,'1761749946','68.183.197.241'),(13150,'1761749946','68.183.197.241'),(13151,'1761749975','68.183.197.241'),(13152,'1761749978','68.183.197.241'),(13153,'1761750115','68.183.197.241'),(13154,'1761750142','68.183.197.241'),(13155,'1761750164','68.183.197.241'),(13156,'1761750164','68.183.197.241'),(13157,'1761750164','68.183.197.241'),(13158,'1761750164','68.183.197.241'),(13159,'1761750164','68.183.197.241'),(13160,'1761750344','68.183.197.241'),(13161,'1761750353','68.183.197.241'),(13162,'1761750353','68.183.197.241'),(13163,'1761750353','68.183.197.241'),(13164,'1761750353','68.183.197.241'),(13165,'1761750353','68.183.197.241'),(13166,'1761750353','68.183.197.241'),(13167,'1761750353','68.183.197.241'),(13168,'1761750353','68.183.197.241'),(13169,'1761750353','68.183.197.241'),(13170,'1761750353','68.183.197.241'),(13171,'1761750353','68.183.197.241'),(13172,'1761750353','68.183.197.241'),(13173,'1761750431','68.183.197.241'),(13174,'1761750431','68.183.197.241'),(13175,'1761750554','68.183.197.241'),(13176,'1761750582','68.183.197.241'),(13177,'1761750590','68.183.197.241'),(13178,'1761750590','68.183.197.241'),(13179,'1761750590','68.183.197.241'),(13180,'1761750590','68.183.197.241'),(13181,'1761750740','68.183.197.241'),(13182,'1761750773','68.183.197.241'),(13183,'1761750894','68.183.197.241'),(13184,'1761751008','68.183.197.241'),(13185,'1761751011','68.183.197.241'),(13186,'1761751049','68.183.197.241'),(13187,'1761751057','68.183.197.241'),(13188,'1761751070','68.183.197.241'),(13189,'1761751082','68.183.197.241'),(13190,'1761751082','68.183.197.241'),(13191,'1761751156','68.183.197.241'),(13192,'1761751156','68.183.197.241'),(13193,'1761751186','68.183.197.241'),(13194,'1761751542','68.183.197.241'),(13195,'1761751542','68.183.197.241'),(13196,'1761751542','68.183.197.241'),(13197,'1761751734','68.183.197.241'),(13198,'1761751734','68.183.197.241'),(13199,'1761751734','68.183.197.241'),(13200,'1761751734','68.183.197.241'),(13201,'1761751734','68.183.197.241'),(13202,'1761751734','68.183.197.241'),(13203,'1761751734','68.183.197.241'),(13204,'1761751917','68.183.197.241'),(13205,'1761751922','68.183.197.241'),(13206,'1761751922','68.183.197.241'),(13207,'1761751922','68.183.197.241'),(13208,'1761751922','68.183.197.241'),(13209,'1761751922','68.183.197.241'),(13210,'1761751922','68.183.197.241'),(13211,'1761751922','68.183.197.241'),(13212,'1761751922','68.183.197.241'),(13213,'1761751922','68.183.197.241'),(13214,'1761751922','68.183.197.241'),(13215,'1761751922','68.183.197.241'),(13216,'1761752008','68.183.197.241'),(13217,'1761752066','68.183.197.241'),(13218,'1761752066','68.183.197.241'),(13219,'1761752301','68.183.197.241'),(13220,'1761752301','68.183.197.241'),(13221,'1761752301','68.183.197.241'),(13222,'1761752301','68.183.197.241'),(13223,'1761752301','68.183.197.241'),(13224,'1761752301','68.183.197.241'),(13225,'1761752301','68.183.197.241'),(13226,'1761752301','68.183.197.241'),(13227,'1761752301','68.183.197.241'),(13228,'1761752301','68.183.197.241'),(13229,'1761752301','68.183.197.241'),(13230,'1761752301','68.183.197.241'),(13231,'1761752301','68.183.197.241'),(13232,'1761752301','68.183.197.241'),(13233,'1761752301','68.183.197.241'),(13234,'1761752301','68.183.197.241'),(13235,'1761752301','68.183.197.241'),(13236,'1761752301','68.183.197.241'),(13237,'1761752301','68.183.197.241'),(13238,'1761752301','68.183.197.241'),(13239,'1761752301','68.183.197.241'),(13240,'1761752301','68.183.197.241'),(13241,'1761752301','68.183.197.241'),(13242,'1761752301','68.183.197.241'),(13243,'1761752301','68.183.197.241'),(13244,'1761752301','67.222.45.11'),(13245,'1761752301','67.222.45.11'),(13246,'1761752365','68.183.197.241'),(13247,'1761752366','68.183.197.241'),(13248,'1761752366','68.183.197.241'),(13249,'1761752366','68.183.197.241'),(13250,'1761752366','68.183.197.241'),(13251,'1761752366','68.183.197.241'),(13252,'1761752366','68.183.197.241'),(13253,'1761752366','68.183.197.241'),(13254,'1761752366','68.183.197.241'),(13255,'1761752366','68.183.197.241'),(13256,'1761752366','68.183.197.241'),(13257,'1761752366','68.183.197.241'),(13258,'1761752366','68.183.197.241'),(13259,'1761752366','68.183.197.241'),(13260,'1761752366','68.183.197.241'),(13261,'1761752366','68.183.197.241'),(13262,'1761752366','68.183.197.241'),(13263,'1761752366','68.183.197.241'),(13264,'1761752366','68.183.197.241'),(13265,'1761752366','68.183.197.241'),(13266,'1761752366','68.183.197.241'),(13267,'1761752366','68.183.197.241'),(13268,'1761752366','68.183.197.241'),(13269,'1761752366','68.183.197.241'),(13270,'1761752366','68.183.197.241'),(13271,'1761752367','68.183.197.241'),(13272,'1761752367','68.183.197.241'),(13273,'1761752367','68.183.197.241'),(13274,'1761752367','68.183.197.241'),(13275,'1761752367','68.183.197.241'),(13276,'1761752367','68.183.197.241'),(13277,'1761752396','68.183.197.241'),(13278,'1761752457','68.183.197.241'),(13279,'1761752577','68.183.197.241'),(13280,'1761752662','68.183.197.241'),(13281,'1761752756','68.183.197.241'),(13282,'1761752756','68.183.197.241'),(13283,'1761752853','68.183.197.241'),(13284,'1761752853','67.222.45.11'),(13285,'1761752915','68.183.197.241'),(13286,'1761752955','68.183.197.241'),(13287,'1761753112','68.183.197.241'),(13288,'1761753112','68.183.197.241'),(13289,'1761753152','68.183.197.241'),(13290,'1761753205','68.183.197.241'),(13291,'1761753234','68.183.197.241'),(13292,'1761753320','68.183.197.241'),(13293,'1761753536','68.183.197.241'),(13294,'1761753581','68.183.197.241'),(13295,'1761753581','68.183.197.241'),(13296,'1761753586','68.183.197.241'),(13297,'1761753590','68.183.197.241'),(13298,'1761753606','68.183.197.241'),(13299,'1761753606','68.183.197.241'),(13300,'1761753648','68.183.197.241'),(13301,'1761753671','68.183.197.241'),(13302,'1761753763','68.183.197.241'),(13303,'1761753818','68.183.197.241'),(13304,'1761754003','68.183.197.241'),(13305,'1761754021','68.183.197.241'),(13306,'1761754056','68.183.197.241'),(13307,'1761754060','68.183.197.241'),(13308,'1761754060','68.183.197.241'),(13309,'1761754063','68.183.197.241'),(13310,'1761754137','68.183.197.241'),(13311,'1761754242','68.183.197.241'),(13312,'1761754261','68.183.197.241'),(13313,'1761754531','68.183.197.241'),(13314,'1761754622','68.183.197.241'),(13315,'1761754650','68.183.197.241'),(13316,'1761754719','68.183.197.241'),(13317,'1761754763','68.183.197.241'),(13318,'1761754813','68.183.197.241'),(13319,'1761754916','68.183.197.241'),(13320,'1761754937','68.183.197.241'),(13321,'1761754937','68.183.197.241'),(13322,'1761754991','68.183.197.241'),(13323,'1761754992','68.183.197.241'),(13324,'1761754998','68.183.197.241'),(13325,'1761755172','68.183.197.241'),(13326,'1761755208','68.183.197.241'),(13327,'1761755223','68.183.197.241'),(13328,'1761755448','68.183.197.241'),(13329,'1761755448','68.183.197.241'),(13330,'1761755468','68.183.197.241'),(13331,'1761755567','68.183.197.241'),(13332,'1761755567','68.183.197.241'),(13333,'1761755579','68.183.197.241'),(13334,'1761755583','68.183.197.241'),(13335,'1761755592','68.183.197.241'),(13336,'1761755658','68.183.197.241'),(13337,'1761755662','68.183.197.241'),(13338,'1761755683','68.183.197.241'),(13339,'1761755686','68.183.197.241'),(13340,'1761755721','68.183.197.241'),(13341,'1761755721','68.183.197.241'),(13342,'1761755721','67.222.45.11'),(13343,'1761755726','68.183.197.241'),(13344,'1761755726','68.183.197.241'),(13345,'1761755726','68.183.197.241'),(13346,'1761755752','68.183.197.241'),(13347,'1761755812','68.183.197.241'),(13348,'1761755812','68.183.197.241'),(13349,'1761755813','68.183.197.241'),(13350,'1761755818','68.183.197.241'),(13351,'1761755845','68.183.197.241'),(13352,'1761755866','68.183.197.241'),(13353,'1761755891','68.183.197.241'),(13354,'1761755894','68.183.197.241'),(13355,'1761755926','68.183.197.241'),(13356,'1761755936','68.183.197.241'),(13357,'1761755958','68.183.197.241'),(13358,'1761755958','68.183.197.241'),(13359,'1761756041','68.183.197.241'),(13360,'1761756046','68.183.197.241'),(13361,'1761756061','68.183.197.241'),(13362,'1761756077','68.183.197.241'),(13363,'1761756133','68.183.197.241'),(13364,'1761756167','68.183.197.241'),(13365,'1761756219','68.183.197.241'),(13366,'1761756219','68.183.197.241'),(13367,'1761756219','68.183.197.241'),(13368,'1761756219','68.183.197.241'),(13369,'1761756219','68.183.197.241'),(13370,'1761756219','68.183.197.241'),(13371,'1761756219','68.183.197.241'),(13372,'1761756219','68.183.197.241'),(13373,'1761756219','68.183.197.241'),(13374,'1761756219','68.183.197.241'),(13375,'1761756219','68.183.197.241'),(13376,'1761756219','68.183.197.241'),(13377,'1761756219','68.183.197.241'),(13378,'1761756219','68.183.197.241'),(13379,'1761756219','68.183.197.241'),(13380,'1761756219','68.183.197.241'),(13381,'1761756224','68.183.197.241'),(13382,'1761756224','68.183.197.241'),(13383,'1761756256','68.183.197.241'),(13384,'1761756297','68.183.197.241'),(13385,'1761756298','68.183.197.241'),(13386,'1761756305','68.183.197.241'),(13387,'1761756384','68.183.197.241'),(13388,'1761756401','68.183.197.241'),(13389,'1761756467','68.183.197.241'),(13390,'1761756479','68.183.197.241'),(13391,'1761756479','68.183.197.241'),(13392,'1761756520','68.183.197.241'),(13393,'1761756520','68.183.197.241'),(13394,'1761756683','68.183.197.241'),(13395,'1761756707','68.183.197.241'),(13396,'1761756794','68.183.197.241'),(13397,'1761757014','68.183.197.241'),(13398,'1761757014','68.183.197.241'),(13399,'1761757014','68.183.197.241'),(13400,'1761757014','68.183.197.241'),(13401,'1761757014','68.183.197.241'),(13402,'1761757014','68.183.197.241'),(13403,'1761757014','68.183.197.241'),(13404,'1761757014','68.183.197.241'),(13405,'1761757014','68.183.197.241'),(13406,'1761757014','68.183.197.241'),(13407,'1761757124','68.183.197.241'),(13408,'1761757124','68.183.197.241'),(13409,'1761757124','68.183.197.241'),(13410,'1761757124','68.183.197.241'),(13411,'1761757124','68.183.197.241'),(13412,'1761757124','68.183.197.241'),(13413,'1761757124','68.183.197.241'),(13414,'1761757124','68.183.197.241'),(13415,'1761757124','68.183.197.241'),(13416,'1761757124','68.183.197.241'),(13417,'1761757124','68.183.197.241'),(13418,'1761757124','68.183.197.241'),(13419,'1761757124','68.183.197.241'),(13420,'1761757124','68.183.197.241'),(13421,'1761757124','68.183.197.241'),(13422,'1761757124','68.183.197.241'),(13423,'1761757124','68.183.197.241'),(13424,'1761757358','68.183.197.241'),(13425,'1761757358','68.183.197.241'),(13426,'1761757358','68.183.197.241'),(13427,'1761757358','68.183.197.241'),(13428,'1761757358','68.183.197.241'),(13429,'1761757358','68.183.197.241'),(13430,'1761757358','68.183.197.241'),(13431,'1761757358','68.183.197.241'),(13432,'1761757358','68.183.197.241'),(13433,'1761757358','68.183.197.241'),(13434,'1761757358','68.183.197.241'),(13435,'1761757358','68.183.197.241'),(13436,'1761757358','68.183.197.241'),(13437,'1761757366','68.183.197.241'),(13438,'1761757366','68.183.197.241'),(13439,'1761757366','68.183.197.241'),(13440,'1761757366','68.183.197.241'),(13441,'1761757366','68.183.197.241'),(13442,'1761757366','68.183.197.241'),(13443,'1761757366','68.183.197.241'),(13444,'1761757366','68.183.197.241'),(13445,'1761757366','68.183.197.241'),(13446,'1761757366','68.183.197.241'),(13447,'1761757685','68.183.197.241'),(13448,'1761757713','68.183.197.241'),(13449,'1761757752','68.183.197.241'),(13450,'1761757752','68.183.197.241'),(13451,'1761757752','68.183.197.241'),(13452,'1761757752','68.183.197.241'),(13453,'1761757752','68.183.197.241'),(13454,'1761757752','68.183.197.241'),(13455,'1761757752','68.183.197.241'),(13456,'1761757752','68.183.197.241'),(13457,'1761757752','68.183.197.241'),(13458,'1761757752','68.183.197.241'),(13459,'1761757752','68.183.197.241'),(13460,'1761757752','68.183.197.241'),(13461,'1761757752','68.183.197.241'),(13462,'1761757752','68.183.197.241'),(13463,'1761757752','68.183.197.241'),(13464,'1761757752','68.183.197.241'),(13465,'1761757752','68.183.197.241'),(13466,'1761757752','68.183.197.241'),(13467,'1761757752','68.183.197.241'),(13468,'1761757752','68.183.197.241'),(13469,'1761757752','68.183.197.241'),(13470,'1761757752','68.183.197.241'),(13471,'1761757752','68.183.197.241'),(13472,'1761757752','68.183.197.241'),(13473,'1761757752','68.183.197.241'),(13474,'1761757805','68.183.197.241'),(13475,'1761757836','68.183.197.241'),(13476,'1761757836','68.183.197.241'),(13477,'1761757836','68.183.197.241'),(13478,'1761757836','68.183.197.241'),(13479,'1761757836','68.183.197.241'),(13480,'1761757836','68.183.197.241'),(13481,'1761757836','68.183.197.241'),(13482,'1761757836','68.183.197.241'),(13483,'1761757836','68.183.197.241'),(13484,'1761757836','68.183.197.241'),(13485,'1761757836','68.183.197.241'),(13486,'1761757836','68.183.197.241'),(13487,'1761757836','68.183.197.241'),(13488,'1761757836','68.183.197.241'),(13489,'1761757836','68.183.197.241'),(13490,'1761757836','68.183.197.241'),(13491,'1761757899','68.183.197.241'),(13492,'1761757969','68.183.197.241'),(13493,'1761758088','68.183.197.241'),(13494,'1761758168','68.183.197.241'),(13495,'1761758305','68.183.197.241'),(13496,'1761758313','68.183.197.241'),(13497,'1761758314','68.183.197.241'),(13498,'1761758317','68.183.197.241'),(13499,'1761758330','68.183.197.241'),(13500,'1761758330','68.183.197.241'),(13501,'1761758404','68.183.197.241'),(13502,'1761758405','68.183.197.241'),(13503,'1761758436','68.183.197.241'),(13504,'1761758436','68.183.197.241'),(13505,'1761758544','68.183.197.241'),(13506,'1761758577','68.183.197.241'),(13507,'1761758734','68.183.197.241'),(13508,'1761758763','68.183.197.241'),(13509,'1761758772','68.183.197.241'),(13510,'1761758772','68.183.197.241'),(13511,'1761758772','68.183.197.241'),(13512,'1761758772','68.183.197.241'),(13513,'1761758774','68.183.197.241'),(13514,'1761758811','68.183.197.241'),(13515,'1761758811','68.183.197.241'),(13516,'1761758811','68.183.197.241'),(13517,'1761758811','68.183.197.241'),(13518,'1761758811','68.183.197.241'),(13519,'1761758811','68.183.197.241'),(13520,'1761758811','68.183.197.241'),(13521,'1761758811','68.183.197.241'),(13522,'1761758811','68.183.197.241'),(13523,'1761758811','68.183.197.241'),(13524,'1761758811','68.183.197.241'),(13525,'1761758975','68.183.197.241'),(13526,'1761759003','68.183.197.241'),(13527,'1761759034','68.183.197.241'),(13528,'1761759111','68.183.197.241'),(13529,'1761759127','68.183.197.241'),(13530,'1761759158','68.183.197.241'),(13531,'1761759252','68.183.197.241'),(13532,'1761759278','68.183.197.241'),(13533,'1761759280','68.183.197.241'),(13534,'1761759421','68.183.197.241'),(13535,'1761759421','67.222.45.11'),(13536,'1761759464','68.183.197.241'),(13537,'1761759541','68.183.197.241'),(13538,'1761760000','68.183.197.241'),(13539,'1761760301','68.183.197.241'),(13540,'1761760302','68.183.197.241'),(13541,'1761760311','68.183.197.241'),(13542,'1761760328','68.183.197.241'),(13543,'1761760409','68.183.197.241'),(13544,'1761760415','68.183.197.241'),(13545,'1761760417','68.183.197.241'),(13546,'1761760521','68.183.197.241'),(13547,'1761760667','68.183.197.241'),(13548,'1761760676','68.183.197.241'),(13549,'1761760727','68.183.197.241'),(13550,'1761760740','68.183.197.241'),(13551,'1761760757','68.183.197.241'),(13552,'1761760757','68.183.197.241'),(13553,'1761760757','68.183.197.241'),(13554,'1761760757','68.183.197.241'),(13555,'1761760757','68.183.197.241'),(13556,'1761760757','68.183.197.241'),(13557,'1761760757','68.183.197.241'),(13558,'1761760757','68.183.197.241'),(13559,'1761760757','68.183.197.241'),(13560,'1761760757','68.183.197.241'),(13561,'1761760757','68.183.197.241'),(13562,'1761760757','68.183.197.241'),(13563,'1761760764','68.183.197.241'),(13564,'1761760764','68.183.197.241'),(13565,'1761760764','68.183.197.241'),(13566,'1761760764','68.183.197.241'),(13567,'1761760764','68.183.197.241'),(13568,'1761760764','68.183.197.241'),(13569,'1761760764','68.183.197.241'),(13570,'1761760765','68.183.197.241'),(13571,'1761760765','68.183.197.241'),(13572,'1761760765','68.183.197.241'),(13573,'1761760765','68.183.197.241'),(13574,'1761760765','68.183.197.241'),(13575,'1761760765','68.183.197.241'),(13576,'1761760771','68.183.197.241'),(13577,'1761760771','68.183.197.241'),(13578,'1761760772','68.183.197.241'),(13579,'1761760772','68.183.197.241'),(13580,'1761760772','68.183.197.241'),(13581,'1761760772','68.183.197.241'),(13582,'1761760772','68.183.197.241'),(13583,'1761760772','68.183.197.241'),(13584,'1761760773','68.183.197.241'),(13585,'1761760773','68.183.197.241'),(13586,'1761760773','68.183.197.241'),(13587,'1761760773','68.183.197.241'),(13588,'1761760778','68.183.197.241'),(13589,'1761760778','68.183.197.241'),(13590,'1761760779','68.183.197.241'),(13591,'1761760779','68.183.197.241'),(13592,'1761760779','68.183.197.241'),(13593,'1761760779','68.183.197.241'),(13594,'1761760779','68.183.197.241'),(13595,'1761760780','68.183.197.241'),(13596,'1761760780','68.183.197.241'),(13597,'1761760780','68.183.197.241'),(13598,'1761760780','68.183.197.241'),(13599,'1761760781','68.183.197.241'),(13600,'1761760781','68.183.197.241'),(13601,'1761760786','68.183.197.241'),(13602,'1761760787','68.183.197.241'),(13603,'1761760787','68.183.197.241'),(13604,'1761760787','68.183.197.241'),(13605,'1761760787','68.183.197.241'),(13606,'1761760787','68.183.197.241'),(13607,'1761760788','68.183.197.241'),(13608,'1761760788','68.183.197.241'),(13609,'1761760788','68.183.197.241'),(13610,'1761760788','68.183.197.241'),(13611,'1761760789','68.183.197.241'),(13612,'1761760789','68.183.197.241'),(13613,'1761760793','68.183.197.241'),(13614,'1761760794','68.183.197.241'),(13615,'1761760795','68.183.197.241'),(13616,'1761760795','68.183.197.241'),(13617,'1761760795','68.183.197.241'),(13618,'1761760795','68.183.197.241'),(13619,'1761760795','68.183.197.241'),(13620,'1761760796','68.183.197.241'),(13621,'1761760796','68.183.197.241'),(13622,'1761760796','68.183.197.241'),(13623,'1761760796','68.183.197.241'),(13624,'1761760797','68.183.197.241'),(13625,'1761760797','68.183.197.241'),(13626,'1761760802','68.183.197.241'),(13627,'1761760803','68.183.197.241'),(13628,'1761760803','68.183.197.241'),(13629,'1761760803','68.183.197.241'),(13630,'1761760803','68.183.197.241'),(13631,'1761760803','68.183.197.241'),(13632,'1761760804','68.183.197.241'),(13633,'1761760804','68.183.197.241'),(13634,'1761760804','68.183.197.241'),(13635,'1761760804','68.183.197.241'),(13636,'1761760805','68.183.197.241'),(13637,'1761760805','68.183.197.241'),(13638,'1761760809','68.183.197.241'),(13639,'1761760810','68.183.197.241'),(13640,'1761760810','68.183.197.241'),(13641,'1761760810','68.183.197.241'),(13642,'1761760811','68.183.197.241'),(13643,'1761760811','68.183.197.241'),(13644,'1761760811','68.183.197.241'),(13645,'1761760811','68.183.197.241'),(13646,'1761760811','68.183.197.241'),(13647,'1761760811','68.183.197.241'),(13648,'1761760811','68.183.197.241'),(13649,'1761760812','68.183.197.241'),(13650,'1761760812','68.183.197.241'),(13651,'1761760817','68.183.197.241'),(13652,'1761760817','68.183.197.241'),(13653,'1761760932','68.183.197.241'),(13654,'1761761028','68.183.197.241'),(13655,'1761761052','68.183.197.241'),(13656,'1761761175','68.183.197.241'),(13657,'1761761218','68.183.197.241'),(13658,'1761761218','68.183.197.241'),(13659,'1761761218','68.183.197.241'),(13660,'1761761218','68.183.197.241'),(13661,'1761761248','68.183.197.241'),(13662,'1761761419','68.183.197.241'),(13663,'1761761546','68.183.197.241'),(13664,'1761761578','68.183.197.241'),(13665,'1761761614','68.183.197.241'),(13666,'1761761651','68.183.197.241'),(13667,'1761761674','68.183.197.241'),(13668,'1761761703','68.183.197.241'),(13669,'1761761711','68.183.197.241'),(13670,'1761761722','68.183.197.241'),(13671,'1761761722','68.183.197.241'),(13672,'1761761858','68.183.197.241'),(13673,'1761761922','68.183.197.241'),(13674,'1761761982','68.183.197.241'),(13675,'1761762010','68.183.197.241'),(13676,'1761762065','68.183.197.241'),(13677,'1761762067','68.183.197.241'),(13678,'1761762110','68.183.197.241'),(13679,'1761762126','68.183.197.241'),(13680,'1761762127','68.183.197.241'),(13681,'1761762321','68.183.197.241'),(13682,'1761762339','68.183.197.241'),(13683,'1761762446','68.183.197.241'),(13684,'1761762679','68.183.197.241'),(13685,'1761762679','68.183.197.241'),(13686,'1761762679','68.183.197.241'),(13687,'1761762679','68.183.197.241'),(13688,'1761762679','68.183.197.241'),(13689,'1761762679','68.183.197.241'),(13690,'1761762680','68.183.197.241'),(13691,'1761762680','68.183.197.241'),(13692,'1761762680','68.183.197.241'),(13693,'1761762680','68.183.197.241'),(13694,'1761762680','68.183.197.241'),(13695,'1761762680','68.183.197.241'),(13696,'1761762680','68.183.197.241'),(13697,'1761762680','68.183.197.241'),(13698,'1761762680','68.183.197.241'),(13699,'1761762680','68.183.197.241'),(13700,'1761762680','68.183.197.241'),(13701,'1761762680','68.183.197.241'),(13702,'1761762680','68.183.197.241'),(13703,'1761762680','68.183.197.241'),(13704,'1761762680','68.183.197.241'),(13705,'1761762680','68.183.197.241'),(13706,'1761762680','68.183.197.241'),(13707,'1761762826','68.183.197.241'),(13708,'1761762826','68.183.197.241'),(13709,'1761762826','68.183.197.241'),(13710,'1761762826','68.183.197.241'),(13711,'1761762826','68.183.197.241'),(13712,'1761762826','68.183.197.241'),(13713,'1761762826','68.183.197.241'),(13714,'1761762826','68.183.197.241'),(13715,'1761762826','68.183.197.241'),(13716,'1761762828','68.183.197.241'),(13717,'1761762952','68.183.197.241'),(13718,'1761762952','67.222.45.11'),(13719,'1761763376','68.183.197.241'),(13720,'1761763390','68.183.197.241'),(13721,'1761763390','68.183.197.241'),(13722,'1761763390','68.183.197.241'),(13723,'1761763390','68.183.197.241'),(13724,'1761763390','68.183.197.241'),(13725,'1761763390','68.183.197.241'),(13726,'1761763390','68.183.197.241'),(13727,'1761763390','68.183.197.241'),(13728,'1761763390','68.183.197.241'),(13729,'1761763390','68.183.197.241'),(13730,'1761763390','68.183.197.241'),(13731,'1761763390','68.183.197.241'),(13732,'1761763390','68.183.197.241'),(13733,'1761763390','68.183.197.241'),(13734,'1761763390','68.183.197.241'),(13735,'1761763390','68.183.197.241'),(13736,'1761763390','68.183.197.241'),(13737,'1761763391','68.183.197.241'),(13738,'1761763439','68.183.197.241'),(13739,'1761763439','68.183.197.241'),(13740,'1761763624','68.183.197.241'),(13741,'1761763646','68.183.197.241'),(13742,'1761763701','68.183.197.241'),(13743,'1761763793','68.183.197.241'),(13744,'1761763808','68.183.197.241'),(13745,'1761763907','68.183.197.241'),(13746,'1761764067','68.183.197.241'),(13747,'1761764155','68.183.197.241'),(13748,'1761764170','68.183.197.241'),(13749,'1761764416','68.183.197.241'),(13750,'1761764427','68.183.197.241'),(13751,'1761764488','68.183.197.241'),(13752,'1761764635','68.183.197.241'),(13753,'1761764640','68.183.197.241'),(13754,'1761764870','68.183.197.241'),(13755,'1761764911','68.183.197.241'),(13756,'1761764983','68.183.197.241'),(13757,'1761764991','68.183.197.241'),(13758,'1761765001','68.183.197.241'),(13759,'1761765002','68.183.197.241'),(13760,'1761765210','68.183.197.241'),(13761,'1761765225','68.183.197.241'),(13762,'1761765225','68.183.197.241'),(13763,'1761765230','68.183.197.241'),(13764,'1761765365','68.183.197.241'),(13765,'1761765496','68.183.197.241'),(13766,'1761765553','68.183.197.241'),(13767,'1761765619','68.183.197.241'),(13768,'1761765824','68.183.197.241'),(13769,'1761766131','68.183.197.241'),(13770,'1761766172','68.183.197.241'),(13771,'1761766202','68.183.197.241'),(13772,'1761766426','68.183.197.241'),(13773,'1761766437','68.183.197.241'),(13774,'1761766547','68.183.197.241'),(13775,'1761766547','67.222.45.11'),(13776,'1761766787','68.183.197.241'),(13777,'1761766826','68.183.197.241'),(13778,'1761767227','68.183.197.241'),(13779,'1761767254','68.183.197.241'),(13780,'1761767296','68.183.197.241'),(13781,'1761767333','68.183.197.241'),(13782,'1761767390','68.183.197.241'),(13783,'1761767443','68.183.197.241'),(13784,'1761767520','68.183.197.241'),(13785,'1761767549','68.183.197.241'),(13786,'1761767554','68.183.197.241'),(13787,'1761767564','68.183.197.241'),(13788,'1761767574','68.183.197.241'),(13789,'1761767575','68.183.197.241'),(13790,'1761767584','68.183.197.241'),(13791,'1761767622','68.183.197.241'),(13792,'1761767623','68.183.197.241'),(13793,'1761767636','68.183.197.241'),(13794,'1761767647','68.183.197.241'),(13795,'1761767720','68.183.197.241'),(13796,'1761767721','68.183.197.241'),(13797,'1761767721','68.183.197.241'),(13798,'1761767739','68.183.197.241'),(13799,'1761767750','68.183.197.241'),(13800,'1761767761','68.183.197.241'),(13801,'1761767777','68.183.197.241'),(13802,'1761767780','68.183.197.241'),(13803,'1761767805','68.183.197.241'),(13804,'1761767805','68.183.197.241'),(13805,'1761767808','68.183.197.241'),(13806,'1761767834','68.183.197.241'),(13807,'1761767885','68.183.197.241'),(13808,'1761767892','68.183.197.241'),(13809,'1761767913','68.183.197.241'),(13810,'1761767930','68.183.197.241'),(13811,'1761767998','68.183.197.241'),(13812,'1761768013','68.183.197.241'),(13813,'1761768023','68.183.197.241'),(13814,'1761768044','68.183.197.241'),(13815,'1761768110','68.183.197.241'),(13816,'1761768111','68.183.197.241'),(13817,'1761768121','68.183.197.241'),(13818,'1761768133','68.183.197.241'),(13819,'1761768164','68.183.197.241'),(13820,'1761768180','68.183.197.241'),(13821,'1761768204','68.183.197.241'),(13822,'1761768264','68.183.197.241'),(13823,'1761768269','68.183.197.241'),(13824,'1761768272','68.183.197.241'),(13825,'1761768276','68.183.197.241'),(13826,'1761768309','68.183.197.241'),(13827,'1761768336','68.183.197.241'),(13828,'1761768339','68.183.197.241'),(13829,'1761768361','68.183.197.241'),(13830,'1761768372','68.183.197.241'),(13831,'1761768373','68.183.197.241'),(13832,'1761768375','68.183.197.241'),(13833,'1761768434','68.183.197.241'),(13834,'1761768446','68.183.197.241'),(13835,'1761768509','68.183.197.241'),(13836,'1761768514','68.183.197.241'),(13837,'1761768541','68.183.197.241'),(13838,'1761768548','68.183.197.241'),(13839,'1761768579','68.183.197.241'),(13840,'1761768606','68.183.197.241'),(13841,'1761768607','68.183.197.241'),(13842,'1761768685','68.183.197.241'),(13843,'1761768691','68.183.197.241'),(13844,'1761768707','68.183.197.241'),(13845,'1761768734','68.183.197.241'),(13846,'1761768792','68.183.197.241'),(13847,'1761768821','68.183.197.241'),(13848,'1761768825','68.183.197.241'),(13849,'1761768847','68.183.197.241'),(13850,'1761768849','68.183.197.241'),(13851,'1761768849','68.183.197.241'),(13852,'1761768860','68.183.197.241'),(13853,'1761768898','68.183.197.241'),(13854,'1761768899','68.183.197.241'),(13855,'1761768899','68.183.197.241'),(13856,'1761768911','68.183.197.241'),(13857,'1761768944','68.183.197.241'),(13858,'1761769008','68.183.197.241'),(13859,'1761769010','68.183.197.241'),(13860,'1761769016','68.183.197.241'),(13861,'1761769051','68.183.197.241'),(13862,'1761769103','68.183.197.241'),(13863,'1761769108','68.183.197.241'),(13864,'1761769135','68.183.197.241'),(13865,'1761769232','68.183.197.241'),(13866,'1761769253','68.183.197.241'),(13867,'1761769332','68.183.197.241'),(13868,'1761769338','68.183.197.241'),(13869,'1761769348','68.183.197.241'),(13870,'1761769382','68.183.197.241'),(13871,'1761769408','68.183.197.241'),(13872,'1761769412','68.183.197.241'),(13873,'1761769458','68.183.197.241'),(13874,'1761769520','68.183.197.241'),(13875,'1761769532','68.183.197.241'),(13876,'1761769540','68.183.197.241'),(13877,'1761769540','68.183.197.241'),(13878,'1761769567','68.183.197.241'),(13879,'1761769578','68.183.197.241'),(13880,'1761769671','68.183.197.241'),(13881,'1761769807','68.183.197.241'),(13882,'1761769824','68.183.197.241'),(13883,'1761769860','68.183.197.241'),(13884,'1761769873','68.183.197.241'),(13885,'1761769878','68.183.197.241'),(13886,'1761769891','68.183.197.241'),(13887,'1761769959','68.183.197.241'),(13888,'1761769960','68.183.197.241'),(13889,'1761769982','68.183.197.241'),(13890,'1761769986','68.183.197.241'),(13891,'1761769986','68.183.197.241'),(13892,'1761770007','68.183.197.241'),(13893,'1761770024','68.183.197.241'),(13894,'1761770024','68.183.197.241'),(13895,'1761770024','68.183.197.241'),(13896,'1761770053','68.183.197.241'),(13897,'1761770056','68.183.197.241'),(13898,'1761770103','68.183.197.241'),(13899,'1761770103','67.222.45.11'),(13900,'1761770117','68.183.197.241'),(13901,'1761770133','68.183.197.241'),(13902,'1761770154','68.183.197.241'),(13903,'1761770179','68.183.197.241'),(13904,'1761770191','68.183.197.241'),(13905,'1761770213','68.183.197.241'),(13906,'1761770281','68.183.197.241'),(13907,'1761770296','68.183.197.241'),(13908,'1761770357','68.183.197.241'),(13909,'1761770392','68.183.197.241'),(13910,'1761770446','68.183.197.241'),(13911,'1761770669','68.183.197.241'),(13912,'1761770796','68.183.197.241'),(13913,'1761770815','68.183.197.241'),(13914,'1761770826','68.183.197.241'),(13915,'1761770944','68.183.197.241'),(13916,'1761771003','68.183.197.241'),(13917,'1761771003','68.183.197.241'),(13918,'1761771003','68.183.197.241'),(13919,'1761771003','68.183.197.241'),(13920,'1761771040','68.183.197.241'),(13921,'1761771053','68.183.197.241'),(13922,'1761771056','68.183.197.241'),(13923,'1761771219','68.183.197.241'),(13924,'1761771246','68.183.197.241'),(13925,'1761771256','68.183.197.241'),(13926,'1761771310','68.183.197.241'),(13927,'1761771323','68.183.197.241'),(13928,'1761771339','68.183.197.241'),(13929,'1761771348','68.183.197.241'),(13930,'1761771380','68.183.197.241'),(13931,'1761771383','68.183.197.241'),(13932,'1761771385','68.183.197.241'),(13933,'1761771404','68.183.197.241'),(13934,'1761771435','68.183.197.241'),(13935,'1761771451','68.183.197.241'),(13936,'1761771473','68.183.197.241'),(13937,'1761771523','68.183.197.241'),(13938,'1761771544','68.183.197.241'),(13939,'1761771558','68.183.197.241'),(13940,'1761771597','68.183.197.241'),(13941,'1761774583','68.183.197.241'),(13942,'1761774583','67.222.45.11'),(13943,'1761775052','68.183.197.241'),(13944,'1761775056','68.183.197.241'),(13945,'1761775064','68.183.197.241'),(13946,'1761775135','68.183.197.241'),(13947,'1761775144','68.183.197.241'),(13948,'1761775150','68.183.197.241'),(13949,'1761775166','68.183.197.241'),(13950,'1761775192','68.183.197.241'),(13951,'1761775247','68.183.197.241'),(13952,'1761775254','68.183.197.241'),(13953,'1761775301','68.183.197.241'),(13954,'1761775312','68.183.197.241'),(13955,'1761775312','68.183.197.241'),(13956,'1761775318','68.183.197.241'),(13957,'1761775363','68.183.197.241'),(13958,'1761775368','68.183.197.241'),(13959,'1761775380','68.183.197.241'),(13960,'1761775382','68.183.197.241'),(13961,'1761775415','68.183.197.241'),(13962,'1761775430','68.183.197.241'),(13963,'1761775430','68.183.197.241'),(13964,'1761775491','68.183.197.241'),(13965,'1761775528','68.183.197.241'),(13966,'1761775581','68.183.197.241'),(13967,'1761775609','68.183.197.241'),(13968,'1761775629','68.183.197.241'),(13969,'1761786605','45.148.10.42'),(13970,'1761786606','45.148.10.42'),(13971,'1761786606','67.222.45.11'),(13972,'1761786607','45.148.10.42'),(13973,'1761786607','45.148.10.42'),(13974,'1761786608','45.148.10.42'),(13975,'1761786608','45.148.10.42'),(13976,'1761794713','45.148.10.42'),(13977,'1761794713','45.148.10.42'),(13978,'1761794713','67.222.45.11'),(13979,'1761794713','67.222.45.11'),(13980,'1761794714','45.148.10.42'),(13981,'1761794714','45.148.10.42'),(13982,'1761794716','45.148.10.42'),(13983,'1761794716','45.148.10.42'),(13984,'1761828466','67.220.94.81'),(13985,'1761828466','67.222.45.11'),(13986,'1761830529','98.93.218.180'),(13987,'1761848838','87.251.78.138'),(13988,'1761848839','67.222.45.11'),(13989,'1761848842','87.251.78.138'),(13990,'1761848868','87.251.78.138'),(13991,'1761848869','87.251.78.138'),(13992,'1761872969','138.246.253.24'),(13993,'1761872969','67.222.45.11'),(13994,'1761993400','74.7.230.10'),(13995,'1761993400','67.222.45.11'),(13996,'1761993405','67.222.45.11'),(13997,'1761993405','67.222.45.11'),(13998,'1761993405','67.222.45.11'),(13999,'1761993406','67.222.45.11'),(14000,'1761993406','67.222.45.11'),(14001,'1762004173','198.235.24.45'),(14002,'1762004173','67.222.45.11'),(14003,'1762051921','18.135.5.68'),(14004,'1762051921','67.222.45.11'),(14005,'1762093050','74.7.230.10'),(14006,'1762093050','67.222.45.11'),(14007,'1762181175','104.196.180.45'),(14008,'1762181176','67.222.45.11'),(14009,'1762278640','123.6.49.10'),(14010,'1762278640','67.222.45.11'),(14011,'1762278664','123.6.49.17'),(14012,'1762278671','123.6.49.14'),(14013,'1762278685','123.6.49.41'),(14014,'1762333392','207.244.231.44'),(14015,'1762333393','67.222.45.11'),(14016,'1762335803','45.141.215.36'),(14017,'1762335803','67.222.45.11'),(14018,'1762535730','138.246.253.24'),(14019,'1762535730','67.222.45.11'),(14020,'1762556810','147.185.132.132'),(14021,'1762556810','67.222.45.11'),(14022,'1762588019','205.210.31.173'),(14023,'1762588021','67.222.45.11'),(14024,'1762588023','67.222.45.11'),(14025,'1762588024','67.222.45.11'),(14026,'1762588024','67.222.45.11'),(14027,'1762588025','67.222.45.11'),(14028,'1762588025','67.222.45.11'),(14029,'1762610103','74.7.230.30'),(14030,'1762610104','67.222.45.11'),(14031,'1762642105','199.45.154.123'),(14032,'1762642106','67.222.45.11'),(14033,'1762656194','205.210.31.38'),(14034,'1762656194','67.222.45.11'),(14035,'1762670798','205.210.31.94'),(14036,'1762690528','3.85.61.56'),(14037,'1762690529','67.222.45.11'),(14038,'1762716329','196.251.115.89'),(14039,'1762716330','67.222.45.11'),(14040,'1762745514','94.26.88.18'),(14041,'1762745514','67.222.45.11'),(14042,'1762851031','178.128.113.213'),(14043,'1762851032','67.222.45.11'),(14044,'1762851035','178.128.113.213'),(14045,'1762851037','178.128.113.213'),(14046,'1762851044','178.128.113.213'),(14047,'1762851046','178.128.113.213'),(14048,'1762851051','178.128.113.213'),(14049,'1762851055','178.128.113.213'),(14050,'1762851061','178.128.113.213'),(14051,'1762851063','178.128.113.213'),(14052,'1762851067','178.128.113.213'),(14053,'1762851074','178.128.113.213'),(14054,'1762851086','178.128.113.213'),(14055,'1762862250','137.184.123.139'),(14056,'1762862251','67.222.45.11'),(14057,'1762903931','149.50.97.212'),(14058,'1762903932','67.222.45.11'),(14059,'1762903948','149.50.97.212'),(14060,'1762903948','149.50.97.212'),(14061,'1762903948','149.50.97.212'),(14062,'1762903948','149.50.97.212'),(14063,'1762903948','149.50.97.212'),(14064,'1762903948','149.50.97.212'),(14065,'1762903948','149.50.97.212'),(14066,'1762903965','149.50.97.212'),(14067,'1762903965','149.50.97.212'),(14068,'1762903965','149.50.97.212'),(14069,'1762903965','149.50.97.212'),(14070,'1762903965','149.50.97.212'),(14071,'1762903966','149.50.97.212'),(14072,'1762903966','149.50.97.212'),(14073,'1762903982','149.50.97.212'),(14074,'1762903982','149.50.97.212'),(14075,'1762903982','149.50.97.212'),(14076,'1762903982','149.50.97.212'),(14077,'1762903982','149.50.97.212'),(14078,'1762903982','149.50.97.212'),(14079,'1762903982','149.50.97.212'),(14080,'1762904001','149.50.97.212'),(14081,'1762904001','149.50.97.212'),(14082,'1762904001','149.50.97.212'),(14083,'1762904001','149.50.97.212'),(14084,'1762904001','149.50.97.212'),(14085,'1762904001','149.50.97.212'),(14086,'1762904001','149.50.97.212'),(14087,'1762904018','149.50.97.212'),(14088,'1762904018','149.50.97.212'),(14089,'1762904018','149.50.97.212'),(14090,'1762904018','149.50.97.212'),(14091,'1762904018','149.50.97.212'),(14092,'1762904018','149.50.97.212'),(14093,'1762904018','149.50.97.212'),(14094,'1762928001','45.86.202.83'),(14095,'1762928001','67.222.45.11'),(14096,'1762928012','45.86.202.59'),(14097,'1762999397','44.242.238.60'),(14098,'1762999397','67.222.45.11'),(14099,'1763091132','31.220.104.210'),(14100,'1763091133','67.222.45.11'),(14101,'1763145610','44.193.254.10'),(14102,'1763145610','67.222.45.11'),(14103,'1763188595','138.246.253.24'),(14104,'1763188595','67.222.45.11'),(14105,'1763188599','67.222.45.11'),(14106,'1763188599','67.222.45.11'),(14107,'1763188599','67.222.45.11'),(14108,'1763188600','67.222.45.11'),(14109,'1763188600','67.222.45.11'),(14110,'1763233650','213.209.157.24'),(14111,'1763233651','67.222.45.11'),(14112,'1763266362','44.193.254.10'),(14113,'1763266362','67.222.45.11'),(14114,'1763268892','178.128.236.34'),(14115,'1763268892','67.222.45.11'),(14116,'1763319593','68.183.194.181'),(14117,'1763319593','67.222.45.11'),(14118,'1763319593','68.183.194.181'),(14119,'1763319594','68.183.194.181'),(14120,'1763319594','68.183.194.181'),(14121,'1763319595','68.183.194.181'),(14122,'1763319595','68.183.194.181'),(14123,'1763319596','68.183.194.181'),(14124,'1763319596','68.183.194.181'),(14125,'1763343003','54.86.115.253'),(14126,'1763422679','74.7.228.33'),(14127,'1763422680','67.222.45.11'),(14128,'1763497559','34.81.120.97'),(14129,'1763497560','67.222.45.11'),(14130,'1763524750','165.227.106.6'),(14131,'1763524772','165.227.106.6'),(14132,'1763524773','165.227.106.6'),(14133,'1763524776','165.227.106.6'),(14134,'1763524776','165.227.106.6'),(14135,'1763524776','165.227.106.6'),(14136,'1763524776','165.227.106.6'),(14137,'1763524776','165.227.106.6'),(14138,'1763524789','165.227.106.6'),(14139,'1763524789','165.227.106.6'),(14140,'1763524790','165.227.106.6'),(14141,'1763524790','165.227.106.6'),(14142,'1763524793','165.227.106.6'),(14143,'1763524794','165.227.106.6'),(14144,'1763524794','165.227.106.6'),(14145,'1763524809','165.227.106.6'),(14146,'1763524809','165.227.106.6'),(14147,'1763524809','165.227.106.6'),(14148,'1763524811','165.227.106.6'),(14149,'1763524811','165.227.106.6'),(14150,'1763524811','165.227.106.6'),(14151,'1763524811','165.227.106.6'),(14152,'1763524811','67.222.45.11'),(14153,'1763524811','67.222.45.11'),(14154,'1763524811','67.222.45.11'),(14155,'1763524811','67.222.45.11'),(14156,'1763661454','159.203.28.202'),(14157,'1763661454','67.222.45.11'),(14158,'1763720007','93.158.92.13'),(14159,'1763720008','67.222.45.11'),(14160,'1763720008','93.158.91.253'),(14161,'1763720009','93.158.91.249'),(14162,'1763720010','93.158.91.253'),(14163,'1763755231','165.227.98.210'),(14164,'1763755232','67.222.45.11'),(14165,'1763776062','18.236.67.123'),(14166,'1763776062','67.222.45.11'),(14167,'1763776065','67.222.45.11'),(14168,'1763776066','67.222.45.11'),(14169,'1763776066','67.222.45.11'),(14170,'1763776066','67.222.45.11'),(14171,'1763776066','67.222.45.11'),(14172,'1763776073','18.236.67.123'),(14173,'1763776073','18.236.67.123'),(14174,'1763776073','18.236.67.123'),(14175,'1763776073','18.236.67.123'),(14176,'1763776075','18.236.67.123'),(14177,'1763776075','18.236.67.123'),(14178,'1763783348','167.172.246.101'),(14179,'1763783349','67.222.45.11'),(14180,'1763792466','138.246.253.24'),(14181,'1763792467','67.222.45.11'),(14182,'1763805082','138.197.171.123'),(14183,'1763805083','67.222.45.11'),(14184,'1763924401','178.128.226.83'),(14185,'1763924401','67.222.45.11'),(14186,'1763990861','176.65.132.18'),(14187,'1763990862','67.222.45.11'),(14188,'1763998866','159.203.30.69'),(14189,'1763998867','67.222.45.11'),(14190,'1763998868','159.203.30.69'),(14191,'1764040381','74.7.241.184'),(14192,'1764040381','67.222.45.11'),(14193,'1764072440','198.211.102.134'),(14194,'1764072440','67.222.45.11'),(14195,'1764183253','167.94.146.48'),(14196,'1764183254','67.222.45.11'),(14197,'1764238267','64.227.70.2'),(14198,'1764238267','67.222.45.11'),(14199,'1764238287','64.227.70.2'),(14200,'1764238288','64.227.70.2'),(14201,'1764238290','64.227.70.2'),(14202,'1764238291','64.227.70.2'),(14203,'1764238292','64.227.70.2'),(14204,'1764238293','64.227.70.2'),(14205,'1764238294','64.227.70.2'),(14206,'1764238296','64.227.70.2'),(14207,'1764238297','64.227.70.2'),(14208,'1764238298','64.227.70.2'),(14209,'1764238300','64.227.70.2'),(14210,'1764238301','64.227.70.2'),(14211,'1764238303','64.227.70.2'),(14212,'1764238304','64.227.70.2'),(14213,'1764238305','64.227.70.2'),(14214,'1764238306','64.227.70.2'),(14215,'1764238307','64.227.70.2'),(14216,'1764238309','64.227.70.2'),(14217,'1764238310','64.227.70.2'),(14218,'1764238311','64.227.70.2'),(14219,'1764238312','64.227.70.2'),(14220,'1764238315','64.227.70.2'),(14221,'1764238316','64.227.70.2'),(14222,'1764238317','64.227.70.2'),(14223,'1764238320','64.227.70.2'),(14224,'1764238321','64.227.70.2'),(14225,'1764238322','64.227.70.2'),(14226,'1764238324','64.227.70.2'),(14227,'1764238326','64.227.70.2'),(14228,'1764240192','91.196.152.54'),(14229,'1764240192','67.222.45.11'),(14230,'1764241434','91.231.89.17'),(14231,'1764243739','51.254.49.108'),(14232,'1764243739','67.222.45.11'),(14233,'1764248334','136.115.92.54'),(14234,'1764248334','67.222.45.11'),(14235,'1764285959','138.197.171.123'),(14236,'1764285960','67.222.45.11'),(14237,'1764296201','27.115.124.33'),(14238,'1764296201','67.222.45.11'),(14239,'1764296213','27.115.124.34'),(14240,'1764296219','27.115.124.3'),(14241,'1764296397','27.115.124.2'),(14242,'1764296418','27.115.124.2'),(14243,'1764296423','27.115.124.34'),(14244,'1764296437','27.115.124.48'),(14245,'1764311441','74.7.241.184'),(14246,'1764311441','67.222.45.11'),(14247,'1764327319','54.86.166.143'),(14248,'1764327319','67.222.45.11'),(14249,'1764331338','44.229.42.151'),(14250,'1764331338','67.222.45.11'),(14251,'1764334627','35.184.246.34'),(14252,'1764334627','67.222.45.11'),(14253,'1764335457','35.196.143.131'),(14254,'1764336219','103.125.233.29'),(14255,'1764354660','188.166.63.130'),(14256,'1764354660','67.222.45.11'),(14257,'1764363377','138.197.171.123'),(14258,'1764363378','67.222.45.11'),(14259,'1764363379','138.197.171.123'),(14260,'1764369804','138.246.253.24'),(14261,'1764369804','67.222.45.11'),(14262,'1764371502','213.209.157.81'),(14263,'1764371502','67.222.45.11'),(14264,'1764388845','195.178.110.223'),(14265,'1764388845','67.222.45.11'),(14266,'1764388852','67.222.45.11'),(14267,'1764388852','67.222.45.11'),(14268,'1764388852','67.222.45.11'),(14269,'1764388853','67.222.45.11'),(14270,'1764388853','67.222.45.11'),(14271,'1764388864','195.178.110.223'),(14272,'1764388864','195.178.110.223'),(14273,'1764388864','195.178.110.223'),(14274,'1764388864','195.178.110.223'),(14275,'1764388864','195.178.110.223'),(14276,'1764388864','195.178.110.223'),(14277,'1764388864','195.178.110.223'),(14278,'1764388892','195.178.110.223'),(14279,'1764388892','195.178.110.223'),(14280,'1764388892','195.178.110.223'),(14281,'1764388892','195.178.110.223'),(14282,'1764388892','195.178.110.223'),(14283,'1764388894','195.178.110.223'),(14284,'1764388894','195.178.110.223'),(14285,'1764397711','87.236.176.105'),(14286,'1764397711','67.222.45.11'),(14287,'1764420058','134.209.25.199'),(14288,'1764420084','134.209.25.199'),(14289,'1764420085','134.209.25.199'),(14290,'1764420086','134.209.25.199'),(14291,'1764420087','134.209.25.199'),(14292,'1764420088','134.209.25.199'),(14293,'1764420089','134.209.25.199'),(14294,'1764420091','134.209.25.199'),(14295,'1764420092','134.209.25.199'),(14296,'1764420093','134.209.25.199'),(14297,'1764420095','134.209.25.199'),(14298,'1764420096','134.209.25.199'),(14299,'1764420097','134.209.25.199'),(14300,'1764420098','134.209.25.199'),(14301,'1764420100','134.209.25.199'),(14302,'1764420100','134.209.25.199'),(14303,'1764420102','134.209.25.199'),(14304,'1764420104','134.209.25.199'),(14305,'1764420105','134.209.25.199'),(14306,'1764420106','134.209.25.199'),(14307,'1764420108','134.209.25.199'),(14308,'1764420109','134.209.25.199'),(14309,'1764420110','134.209.25.199'),(14310,'1764420114','134.209.25.199'),(14311,'1764420116','134.209.25.199'),(14312,'1764420118','134.209.25.199'),(14313,'1764420120','134.209.25.199'),(14314,'1764420120','67.222.45.11'),(14315,'1764420121','134.209.25.199'),(14316,'1764420122','134.209.25.199'),(14317,'1764420123','134.209.25.199'),(14318,'1764420126','134.209.25.199'),(14319,'1764425306','3.127.224.97'),(14320,'1764425306','67.222.45.11'),(14321,'1764425307','3.127.224.97'),(14322,'1764425308','3.127.224.97'),(14323,'1764425309','3.127.224.97'),(14324,'1764425310','3.127.224.97'),(14325,'1764425311','3.127.224.97'),(14326,'1764425311','3.127.224.97'),(14327,'1764425312','3.127.224.97'),(14328,'1764425313','3.127.224.97'),(14329,'1764425314','3.127.224.97'),(14330,'1764425314','3.127.224.97'),(14331,'1764425315','3.127.224.97'),(14332,'1764425316','3.127.224.97'),(14333,'1764425317','3.127.224.97'),(14334,'1764425317','3.127.224.97'),(14335,'1764425319','3.127.224.97'),(14336,'1764425319','3.127.224.97'),(14337,'1764425320','3.127.224.97'),(14338,'1764425321','3.127.224.97'),(14339,'1764425323','3.127.224.97'),(14340,'1764425325','3.127.224.97'),(14341,'1764425326','3.127.224.97'),(14342,'1764425326','3.127.224.97'),(14343,'1764425327','3.127.224.97'),(14344,'1764425328','3.127.224.97'),(14345,'1764425329','3.127.224.97'),(14346,'1764425329','3.127.224.97'),(14347,'1764425330','3.127.224.97'),(14348,'1764425331','3.127.224.97'),(14349,'1764425332','3.127.224.97'),(14350,'1764425332','3.127.224.97'),(14351,'1764425333','3.127.224.97'),(14352,'1764425334','3.127.224.97'),(14353,'1764425335','3.127.224.97'),(14354,'1764425336','3.127.224.97'),(14355,'1764425336','3.127.224.97'),(14356,'1764425338','3.127.224.97'),(14357,'1764425338','3.127.224.97'),(14358,'1764425339','3.127.224.97'),(14359,'1764425340','3.127.224.97'),(14360,'1764425341','3.127.224.97'),(14361,'1764425342','3.127.224.97'),(14362,'1764425343','3.127.224.97'),(14363,'1764425343','3.127.224.97'),(14364,'1764425344','3.127.224.97'),(14365,'1764425345','3.127.224.97'),(14366,'1764429613','195.178.110.54'),(14367,'1764429613','67.222.45.11'),(14368,'1764429632','195.178.110.54'),(14369,'1764429632','195.178.110.54'),(14370,'1764429632','195.178.110.54'),(14371,'1764429633','195.178.110.54'),(14372,'1764429634','195.178.110.54'),(14373,'1764429634','195.178.110.54'),(14374,'1764429636','195.178.110.54'),(14375,'1764433891','3.133.100.4'),(14376,'1764433891','67.222.45.11'),(14377,'1764433891','3.133.100.4'),(14378,'1764433892','3.133.100.4'),(14379,'1764433892','3.133.100.4'),(14380,'1764433893','3.133.100.4'),(14381,'1764433893','3.133.100.4'),(14382,'1764433894','3.133.100.4'),(14383,'1764433894','3.133.100.4'),(14384,'1764433894','3.133.100.4'),(14385,'1764433895','3.133.100.4'),(14386,'1764433895','3.133.100.4'),(14387,'1764433896','3.133.100.4'),(14388,'1764433896','3.133.100.4'),(14389,'1764433897','3.133.100.4'),(14390,'1764433897','3.133.100.4'),(14391,'1764433898','3.133.100.4'),(14392,'1764433898','3.133.100.4'),(14393,'1764433898','3.133.100.4'),(14394,'1764433899','3.133.100.4'),(14395,'1764433900','3.133.100.4'),(14396,'1764433901','3.133.100.4'),(14397,'1764433901','3.133.100.4'),(14398,'1764433902','3.133.100.4'),(14399,'1764433902','3.133.100.4'),(14400,'1764433902','3.133.100.4'),(14401,'1764433903','3.133.100.4'),(14402,'1764433903','3.133.100.4'),(14403,'1764433903','3.133.100.4'),(14404,'1764433904','3.133.100.4'),(14405,'1764433904','3.133.100.4'),(14406,'1764433904','3.133.100.4'),(14407,'1764433905','3.133.100.4'),(14408,'1764433905','3.133.100.4'),(14409,'1764433906','3.133.100.4'),(14410,'1764433906','3.133.100.4'),(14411,'1764433907','3.133.100.4'),(14412,'1764433907','3.133.100.4'),(14413,'1764433908','3.133.100.4'),(14414,'1764433908','3.133.100.4'),(14415,'1764433908','3.133.100.4'),(14416,'1764433909','3.133.100.4'),(14417,'1764433909','3.133.100.4'),(14418,'1764433910','3.133.100.4'),(14419,'1764433910','3.133.100.4'),(14420,'1764433910','3.133.100.4'),(14421,'1764433911','3.133.100.4'),(14422,'1764439949','198.235.24.135'),(14423,'1764439949','67.222.45.11'),(14424,'1764458354','45.144.212.58'),(14425,'1764458354','67.222.45.11'),(14426,'1764463310','185.247.137.189'),(14427,'1764463310','67.222.45.11'),(14428,'1764493136','93.123.109.7'),(14429,'1764493137','67.222.45.11'),(14430,'1764509062','45.153.34.41'),(14431,'1764509062','67.222.45.11'),(14432,'1764520172','34.48.187.165'),(14433,'1764520172','67.222.45.11'),(14434,'1764531402','137.184.79.142'),(14435,'1764531403','67.222.45.11'),(14436,'1764548921','159.203.30.69'),(14437,'1764548922','67.222.45.11'),(14438,'1764610924','188.166.108.93'),(14439,'1764610929','188.166.108.93'),(14440,'1764610930','188.166.108.93'),(14441,'1764610931','188.166.108.93'),(14442,'1764610932','188.166.108.93'),(14443,'1764610933','188.166.108.93'),(14444,'1764610933','188.166.108.93'),(14445,'1764610935','188.166.108.93'),(14446,'1764610936','188.166.108.93'),(14447,'1764610937','188.166.108.93'),(14448,'1764610939','188.166.108.93'),(14449,'1764610940','188.166.108.93'),(14450,'1764610941','188.166.108.93'),(14451,'1764610942','188.166.108.93'),(14452,'1764610943','188.166.108.93'),(14453,'1764610944','188.166.108.93'),(14454,'1764610945','188.166.108.93'),(14455,'1764610946','188.166.108.93'),(14456,'1764610950','188.166.108.93'),(14457,'1764610950','188.166.108.93'),(14458,'1764610951','188.166.108.93'),(14459,'1764610954','188.166.108.93'),(14460,'1764610955','188.166.108.93'),(14461,'1764610956','188.166.108.93'),(14462,'1764610959','188.166.108.93'),(14463,'1764610962','188.166.108.93'),(14464,'1764610965','188.166.108.93'),(14465,'1764610966','188.166.108.93'),(14466,'1764610970','188.166.108.93'),(14467,'1764610972','188.166.108.93'),(14468,'1764610972','188.166.108.93'),(14469,'1764610973','188.166.108.93'),(14470,'1764610975','188.166.108.93'),(14471,'1764650970','142.93.129.190'),(14472,'1764650970','142.93.129.190'),(14473,'1764650970','67.222.45.11'),(14474,'1764650971','67.222.45.11'),(14475,'1764650972','142.93.129.190'),(14476,'1764650972','142.93.129.190'),(14477,'1764650973','142.93.129.190'),(14478,'1764650974','142.93.129.190'),(14479,'1764650975','142.93.129.190'),(14480,'1764650976','142.93.129.190'),(14481,'1764650977','142.93.129.190'),(14482,'1764650978','142.93.129.190'),(14483,'1764650979','142.93.129.190'),(14484,'1764650980','142.93.129.190'),(14485,'1764650981','142.93.129.190'),(14486,'1764650982','142.93.129.190'),(14487,'1764650983','142.93.129.190'),(14488,'1764650984','142.93.129.190'),(14489,'1764650985','142.93.129.190'),(14490,'1764650986','142.93.129.190'),(14491,'1764650987','142.93.129.190'),(14492,'1764650988','142.93.129.190'),(14493,'1764650989','142.93.129.190'),(14494,'1764650991','142.93.129.190'),(14495,'1764650992','142.93.129.190'),(14496,'1764650993','142.93.129.190'),(14497,'1764650994','142.93.129.190'),(14498,'1764650996','142.93.129.190'),(14499,'1764650997','142.93.129.190'),(14500,'1764650998','142.93.129.190'),(14501,'1764651002','142.93.129.190'),(14502,'1764651003','142.93.129.190'),(14503,'1764651004','142.93.129.190'),(14504,'1764651006','142.93.129.190'),(14505,'1764651008','142.93.129.190'),(14506,'1764693397','34.150.148.71'),(14507,'1764693397','67.222.45.11'),(14508,'1764745139','74.7.244.15'),(14509,'1764745139','67.222.45.11'),(14510,'1764759373','188.213.34.41'),(14511,'1764759374','67.222.45.11'),(14512,'1764771142','199.45.155.83'),(14513,'1764771142','67.222.45.11'),(14514,'1764775485','13.217.204.224'),(14515,'1764775486','67.222.45.11'),(14516,'1764783098','35.238.212.221'),(14517,'1764783098','67.222.45.11'),(14518,'1764783632','35.238.212.221'),(14519,'1764783632','67.222.45.11'),(14520,'1764793518','195.178.110.223'),(14521,'1764793518','67.222.45.11'),(14522,'1764917499','24.199.117.85'),(14523,'1764917499','67.222.45.11'),(14524,'1764927343','138.246.253.24'),(14525,'1764927343','67.222.45.11'),(14526,'1764938881','54.156.160.91'),(14527,'1764938881','67.222.45.11'),(14528,'1764991980','195.178.110.242'),(14529,'1764991980','67.222.45.11'),(14530,'1764991986','67.222.45.11'),(14531,'1764991986','67.222.45.11'),(14532,'1764991987','67.222.45.11'),(14533,'1764991987','67.222.45.11'),(14534,'1764991987','67.222.45.11'),(14535,'1764992064','195.178.110.242'),(14536,'1764992064','195.178.110.242'),(14537,'1764992064','195.178.110.242'),(14538,'1764992064','195.178.110.242'),(14539,'1764992064','195.178.110.242'),(14540,'1764992064','195.178.110.242'),(14541,'1765079213','68.183.147.152'),(14542,'1765079213','67.222.45.11'),(14543,'1765191040','205.210.31.14'),(14544,'1765191040','67.222.45.11'),(14545,'1765192023','54.156.160.91'),(14546,'1765209574','34.148.115.196'),(14547,'1765209574','67.222.45.11'),(14548,'1765248175','144.126.226.100'),(14549,'1765248176','67.222.45.11'),(14550,'1765280213','98.94.161.9'),(14551,'1765280213','67.222.45.11'),(14552,'1765293715','185.177.72.75'),(14553,'1765293717','67.222.45.11'),(14554,'1765297248','54.144.39.122'),(14555,'1765297249','67.222.45.11'),(14556,'1765314927','54.144.39.122'),(14557,'1765314928','67.222.45.11'),(14558,'1765347886','34.27.145.195'),(14559,'1765347887','67.222.45.11'),(14560,'1765373777','142.93.129.190'),(14561,'1765373777','67.222.45.11'),(14562,'1765373784','142.93.129.190'),(14563,'1765373784','142.93.129.190'),(14564,'1765373785','142.93.129.190'),(14565,'1765373786','142.93.129.190'),(14566,'1765373787','142.93.129.190'),(14567,'1765373788','142.93.129.190'),(14568,'1765373790','142.93.129.190'),(14569,'1765373792','142.93.129.190'),(14570,'1765373793','142.93.129.190'),(14571,'1765373794','142.93.129.190'),(14572,'1765373796','142.93.129.190'),(14573,'1765373797','142.93.129.190'),(14574,'1765373798','142.93.129.190'),(14575,'1765373800','142.93.129.190'),(14576,'1765373801','142.93.129.190'),(14577,'1765373802','142.93.129.190'),(14578,'1765373803','142.93.129.190'),(14579,'1765373805','142.93.129.190'),(14580,'1765373806','142.93.129.190'),(14581,'1765373807','142.93.129.190'),(14582,'1765373809','142.93.129.190'),(14583,'1765373810','142.93.129.190'),(14584,'1765373811','142.93.129.190'),(14585,'1765373812','142.93.129.190'),(14586,'1765373814','142.93.129.190'),(14587,'1765373815','142.93.129.190'),(14588,'1765373816','142.93.129.190'),(14589,'1765373819','142.93.129.190'),(14590,'1765373820','142.93.129.190'),(14591,'1765373821','142.93.129.190'),(14592,'1765373822','142.93.129.190'),(14593,'1765373825','142.93.129.190'),(14594,'1765385240','34.231.195.239'),(14595,'1765385240','67.222.45.11'),(14596,'1765392553','100.30.248.17'),(14597,'1765392553','67.222.45.11'),(14598,'1765404209','134.195.225.177'),(14599,'1765404209','67.222.45.11'),(14600,'1765423662','34.221.15.253'),(14601,'1765423663','67.222.45.11'),(14602,'1765423664','34.221.15.253'),(14603,'1765423665','34.221.15.253'),(14604,'1765490342','157.173.118.27'),(14605,'1765490342','67.222.45.11'),(14606,'1765576908','138.246.253.24'),(14607,'1765576908','67.222.45.11'),(14608,'1765594445','45.141.215.153'),(14609,'1765594446','67.222.45.11'),(14610,'1765594451','67.222.45.11'),(14611,'1765594451','67.222.45.11'),(14612,'1765594451','67.222.45.11'),(14613,'1765594451','67.222.45.11'),(14614,'1765594451','67.222.45.11'),(14615,'1765596202','77.90.185.240'),(14616,'1765633787','207.154.212.47'),(14617,'1765633787','67.222.45.11'),(14618,'1765633787','207.154.212.47'),(14619,'1765633788','207.154.212.47'),(14620,'1765633789','207.154.212.47'),(14621,'1765633789','207.154.212.47'),(14622,'1765633790','207.154.212.47'),(14623,'1765633790','207.154.212.47'),(14624,'1765633792','207.154.212.47'),(14625,'1765633793','207.154.212.47'),(14626,'1765633794','207.154.212.47'),(14627,'1765633795','207.154.212.47'),(14628,'1765633796','207.154.212.47'),(14629,'1765633797','207.154.212.47'),(14630,'1765633798','207.154.212.47'),(14631,'1765633799','207.154.212.47'),(14632,'1765633800','207.154.212.47'),(14633,'1765633801','207.154.212.47'),(14634,'1765633802','207.154.212.47'),(14635,'1765633803','207.154.212.47'),(14636,'1765633804','207.154.212.47'),(14637,'1765633805','207.154.212.47'),(14638,'1765633807','207.154.212.47'),(14639,'1765633808','207.154.212.47'),(14640,'1765633809','207.154.212.47'),(14641,'1765633810','207.154.212.47'),(14642,'1765633812','207.154.212.47'),(14643,'1765633813','207.154.212.47'),(14644,'1765633814','207.154.212.47'),(14645,'1765633817','207.154.212.47'),(14646,'1765633818','207.154.212.47'),(14647,'1765633819','207.154.212.47'),(14648,'1765633820','207.154.212.47'),(14649,'1765633822','207.154.212.47'),(14650,'1765634571','104.248.174.58'),(14651,'1765647709','77.90.185.240'),(14652,'1765647709','67.222.45.11'),(14653,'1765697701','34.231.195.239'),(14654,'1765697702','67.222.45.11'),(14655,'1765711577','34.231.195.239'),(14656,'1765711578','67.222.45.11'),(14657,'1765720877','178.17.170.146'),(14658,'1765720878','67.222.45.11'),(14659,'1765737193','34.231.195.239'),(14660,'1765737193','67.222.45.11'),(14661,'1765789699','34.231.195.239'),(14662,'1765789700','67.222.45.11'),(14663,'1765801919','35.153.44.134'),(14664,'1765801920','67.222.45.11'),(14665,'1765840989','34.206.1.6'),(14666,'1765840990','67.222.45.11'),(14667,'1765910830','157.245.36.108'),(14668,'1765910830','67.222.45.11'),(14669,'1765910830','157.245.36.108'),(14670,'1765910831','157.245.36.108'),(14671,'1765910832','157.245.36.108'),(14672,'1765910832','157.245.36.108'),(14673,'1765910833','157.245.36.108'),(14674,'1765910833','157.245.36.108'),(14675,'1765910835','157.245.36.108'),(14676,'1765910836','157.245.36.108'),(14677,'1765910837','157.245.36.108'),(14678,'1765910838','157.245.36.108'),(14679,'1765910839','157.245.36.108'),(14680,'1765910840','157.245.36.108'),(14681,'1765910841','157.245.36.108'),(14682,'1765910842','157.245.36.108'),(14683,'1765910843','157.245.36.108'),(14684,'1765910844','157.245.36.108'),(14685,'1765910845','157.245.36.108'),(14686,'1765910846','157.245.36.108'),(14687,'1765910847','157.245.36.108'),(14688,'1765910848','157.245.36.108'),(14689,'1765910850','157.245.36.108'),(14690,'1765910851','157.245.36.108'),(14691,'1765910854','157.245.36.108'),(14692,'1765910855','157.245.36.108'),(14693,'1765910857','157.245.36.108'),(14694,'1765910858','157.245.36.108'),(14695,'1765910859','157.245.36.108'),(14696,'1765910862','157.245.36.108'),(14697,'1765910863','157.245.36.108'),(14698,'1765910864','157.245.36.108'),(14699,'1765910865','157.245.36.108'),(14700,'1765910867','157.245.36.108'),(14701,'1765958796','54.202.103.84'),(14702,'1765958797','67.222.45.11'),(14703,'1766084068','170.64.129.112'),(14704,'1766084068','67.222.45.11'),(14705,'1766084069','170.64.129.112'),(14706,'1766084070','170.64.129.112'),(14707,'1766084071','170.64.129.112'),(14708,'1766084072','170.64.129.112'),(14709,'1766084074','170.64.129.112'),(14710,'1766084075','170.64.129.112'),(14711,'1766084075','170.64.129.112'),(14712,'1766090138','206.189.95.232'),(14713,'1766090138','67.222.45.11'),(14714,'1766090139','206.189.95.232'),(14715,'1766090140','206.189.95.232'),(14716,'1766090141','206.189.95.232'),(14717,'1766090142','206.189.95.232'),(14718,'1766090142','206.189.95.232'),(14719,'1766090143','206.189.95.232'),(14720,'1766090145','206.189.95.232'),(14721,'1766090146','206.189.95.232'),(14722,'1766090147','206.189.95.232'),(14723,'1766090148','206.189.95.232'),(14724,'1766090150','206.189.95.232'),(14725,'1766090151','206.189.95.232'),(14726,'1766090152','206.189.95.232'),(14727,'1766090153','206.189.95.232'),(14728,'1766090154','206.189.95.232'),(14729,'1766090155','206.189.95.232'),(14730,'1766090157','206.189.95.232'),(14731,'1766090158','206.189.95.232'),(14732,'1766090158','206.189.95.232'),(14733,'1766090160','206.189.95.232'),(14734,'1766090162','206.189.95.232'),(14735,'1766090163','206.189.95.232'),(14736,'1766090164','206.189.95.232'),(14737,'1766090165','206.189.95.232'),(14738,'1766090167','206.189.95.232'),(14739,'1766090168','206.189.95.232'),(14740,'1766090169','206.189.95.232'),(14741,'1766090172','206.189.95.232'),(14742,'1766090173','206.189.95.232'),(14743,'1766090174','206.189.95.232'),(14744,'1766090175','206.189.95.232'),(14745,'1766090177','206.189.95.232'),(14746,'1766104515','138.246.253.24'),(14747,'1766104516','67.222.45.11'),(14748,'1766150939','162.142.125.212'),(14749,'1766150940','67.222.45.11'),(14750,'1766196862','44.245.206.9'),(14751,'1766196862','67.222.45.11'),(14752,'1766196869','67.222.45.11'),(14753,'1766196869','67.222.45.11'),(14754,'1766196869','67.222.45.11'),(14755,'1766196869','67.222.45.11'),(14756,'1766196869','67.222.45.11'),(14757,'1766289740','34.9.123.244'),(14758,'1766292396','128.199.182.152'),(14759,'1766292397','67.222.45.11'),(14760,'1766292397','128.199.182.152'),(14761,'1766292398','128.199.182.152'),(14762,'1766292399','128.199.182.152'),(14763,'1766292400','128.199.182.152'),(14764,'1766292400','128.199.182.152'),(14765,'1766292401','128.199.182.152'),(14766,'1766292403','128.199.182.152'),(14767,'1766292405','128.199.182.152'),(14768,'1766292407','128.199.182.152'),(14769,'1766292408','128.199.182.152'),(14770,'1766292409','128.199.182.152'),(14771,'1766292411','128.199.182.152'),(14772,'1766292413','128.199.182.152'),(14773,'1766292414','128.199.182.152'),(14774,'1766292416','128.199.182.152'),(14775,'1766292417','128.199.182.152'),(14776,'1766292418','128.199.182.152'),(14777,'1766292419','128.199.182.152'),(14778,'1766292421','128.199.182.152'),(14779,'1766292422','128.199.182.152'),(14780,'1766292424','128.199.182.152'),(14781,'1766292425','128.199.182.152'),(14782,'1766292426','128.199.182.152'),(14783,'1766292429','128.199.182.152'),(14784,'1766292431','128.199.182.152'),(14785,'1766292432','128.199.182.152'),(14786,'1766292433','128.199.182.152'),(14787,'1766292436','128.199.182.152'),(14788,'1766292437','128.199.182.152'),(14789,'1766292438','128.199.182.152'),(14790,'1766292439','128.199.182.152'),(14791,'1766292441','128.199.182.152'),(14792,'1766317064','35.205.246.91'),(14793,'1766317065','67.222.45.11'),(14794,'1766324580','98.81.107.110'),(14795,'1766324580','67.222.45.11'),(14796,'1766332410','91.196.152.83'),(14797,'1766332410','67.222.45.11'),(14798,'1766395139','203.55.131.5'),(14799,'1766395140','67.222.45.11'),(14800,'1766434865','209.38.123.29'),(14801,'1766434865','67.222.45.11'),(14802,'1766442958','206.81.24.74'),(14803,'1766442959','67.222.45.11'),(14804,'1766442959','206.81.24.74'),(14805,'1766442960','206.81.24.74'),(14806,'1766442961','206.81.24.74'),(14807,'1766442961','206.81.24.74'),(14808,'1766442962','206.81.24.74'),(14809,'1766442962','206.81.24.74'),(14810,'1766442964','206.81.24.74'),(14811,'1766442965','206.81.24.74'),(14812,'1766442966','206.81.24.74'),(14813,'1766442967','206.81.24.74'),(14814,'1766442968','206.81.24.74'),(14815,'1766442969','206.81.24.74'),(14816,'1766442970','206.81.24.74'),(14817,'1766442971','206.81.24.74'),(14818,'1766442972','206.81.24.74'),(14819,'1766442973','206.81.24.74'),(14820,'1766442974','206.81.24.74'),(14821,'1766442975','206.81.24.74'),(14822,'1766442976','206.81.24.74'),(14823,'1766442977','206.81.24.74'),(14824,'1766442979','206.81.24.74'),(14825,'1766442980','206.81.24.74'),(14826,'1766442981','206.81.24.74'),(14827,'1766442982','206.81.24.74'),(14828,'1766442984','206.81.24.74'),(14829,'1766442985','206.81.24.74'),(14830,'1766442986','206.81.24.74'),(14831,'1766442989','206.81.24.74'),(14832,'1766442990','206.81.24.74'),(14833,'1766442991','206.81.24.74'),(14834,'1766442992','206.81.24.74'),(14835,'1766442994','206.81.24.74'),(14836,'1766489415','206.81.25.154'),(14837,'1766489416','67.222.45.11'),(14838,'1766508996','136.107.108.96'),(14839,'1766508996','67.222.45.11'),(14840,'1766576304','136.119.199.131'),(14841,'1766576304','67.222.45.11'),(14842,'1766582821','206.168.34.209'),(14843,'1766582821','67.222.45.11'),(14844,'1766586223','34.21.87.134'),(14845,'1766586223','67.222.45.11'),(14846,'1766600671','188.166.2.30'),(14847,'1766600672','67.222.45.11'),(14848,'1766609529','164.90.228.79'),(14849,'1766609529','164.90.228.79'),(14850,'1766609529','67.222.45.11'),(14851,'1766609530','164.90.228.79'),(14852,'1766609531','164.90.228.79'),(14853,'1766609531','164.90.228.79'),(14854,'1766609532','164.90.228.79'),(14855,'1766609532','164.90.228.79'),(14856,'1766609534','164.90.228.79'),(14857,'1766609535','164.90.228.79'),(14858,'1766609536','164.90.228.79'),(14859,'1766609537','164.90.228.79'),(14860,'1766609538','164.90.228.79'),(14861,'1766609539','164.90.228.79'),(14862,'1766609540','164.90.228.79'),(14863,'1766609541','164.90.228.79'),(14864,'1766609542','164.90.228.79'),(14865,'1766609543','164.90.228.79'),(14866,'1766609544','164.90.228.79'),(14867,'1766609545','164.90.228.79'),(14868,'1766609546','164.90.228.79'),(14869,'1766609547','164.90.228.79'),(14870,'1766609549','164.90.228.79'),(14871,'1766609550','164.90.228.79'),(14872,'1766609551','164.90.228.79'),(14873,'1766609552','164.90.228.79'),(14874,'1766609554','164.90.228.79'),(14875,'1766609555','164.90.228.79'),(14876,'1766609556','164.90.228.79'),(14877,'1766609559','164.90.228.79'),(14878,'1766609560','164.90.228.79'),(14879,'1766609561','164.90.228.79'),(14880,'1766609562','164.90.228.79'),(14881,'1766609564','164.90.228.79'),(14882,'1766612490','138.246.253.24'),(14883,'1766612490','67.222.45.11'),(14884,'1766636919','16.146.32.107'),(14885,'1766636919','67.222.45.11'),(14886,'1766705847','189.133.31.104'),(14887,'1766705848','67.222.45.11'),(14888,'1766769345','101.91.110.36'),(14889,'1766769345','67.222.45.11'),(14890,'1766769348','101.91.110.142'),(14891,'1766769349','101.91.110.151'),(14892,'1766804186','146.190.63.48'),(14893,'1766804186','146.190.63.48'),(14894,'1766804186','67.222.45.11'),(14895,'1766804187','146.190.63.48'),(14896,'1766804187','146.190.63.48'),(14897,'1766804187','146.190.63.48'),(14898,'1766804187','146.190.63.48'),(14899,'1766804188','146.190.63.48'),(14900,'1766804189','146.190.63.48'),(14901,'1766804190','146.190.63.48'),(14902,'1766804191','146.190.63.48'),(14903,'1766804191','67.222.45.11'),(14904,'1766804191','67.222.45.11'),(14905,'1766804192','67.222.45.11'),(14906,'1766804192','146.190.63.48'),(14907,'1766804192','67.222.45.11'),(14908,'1766804192','67.222.45.11'),(14909,'1766804193','146.190.63.48'),(14910,'1766804194','146.190.63.48'),(14911,'1766804195','146.190.63.48'),(14912,'1766804196','146.190.63.48'),(14913,'1766804197','146.190.63.48'),(14914,'1766804198','146.190.63.48'),(14915,'1766804199','146.190.63.48'),(14916,'1766804200','146.190.63.48'),(14917,'1766804201','146.190.63.48'),(14918,'1766804202','146.190.63.48'),(14919,'1766804204','146.190.63.48'),(14920,'1766804205','146.190.63.48'),(14921,'1766804206','146.190.63.48'),(14922,'1766804207','146.190.63.48'),(14923,'1766804209','146.190.63.48'),(14924,'1766804210','146.190.63.48'),(14925,'1766804211','146.190.63.48'),(14926,'1766804214','146.190.63.48'),(14927,'1766804215','146.190.63.48'),(14928,'1766804216','146.190.63.48'),(14929,'1766804217','146.190.63.48'),(14930,'1766804219','146.190.63.48'),(14931,'1766856009','192.3.138.26'),(14932,'1766856010','67.222.45.11'),(14933,'1766876514','45.92.19.139'),(14934,'1766876515','67.222.45.11'),(14935,'1766948216','205.210.31.30'),(14936,'1766948217','67.222.45.11'),(14937,'1766991961','111.7.96.152'),(14938,'1766991962','67.222.45.11'),(14939,'1766991965','111.7.96.152'),(14940,'1767225862','115.231.78.12'),(14941,'1767225862','115.231.78.12'),(14942,'1767225862','67.222.45.11'),(14943,'1767225864','115.231.78.12'),(14944,'1767225876','115.231.78.12'),(14945,'1767225893','115.231.78.12'),(14946,'1767256223','185.247.137.92'),(14947,'1767256223','67.222.45.11'),(14948,'1767258478','185.247.137.100'),(14949,'1767258478','67.222.45.11'),(14950,'1767289433','45.148.10.95'),(14951,'1767289434','67.222.45.11'),(14952,'1767295682','100.25.198.201'),(14953,'1767295682','67.222.45.11'),(14954,'1767314625','138.246.253.24'),(14955,'1767314626','67.222.45.11'),(14956,'1767343889','157.245.113.227'),(14957,'1767343889','157.245.113.227'),(14958,'1767343890','67.222.45.11'),(14959,'1767343890','157.245.113.227'),(14960,'1767343891','157.245.113.227'),(14961,'1767343891','157.245.113.227'),(14962,'1767343891','157.245.113.227'),(14963,'1767343892','157.245.113.227'),(14964,'1767343893','157.245.113.227'),(14965,'1767343894','157.245.113.227'),(14966,'1767343895','157.245.113.227'),(14967,'1767343896','157.245.113.227'),(14968,'1767343897','157.245.113.227'),(14969,'1767343898','157.245.113.227'),(14970,'1767343899','157.245.113.227'),(14971,'1767343900','157.245.113.227'),(14972,'1767343901','157.245.113.227'),(14973,'1767343902','157.245.113.227'),(14974,'1767343903','157.245.113.227'),(14975,'1767343904','157.245.113.227'),(14976,'1767343905','157.245.113.227'),(14977,'1767343906','157.245.113.227'),(14978,'1767343908','157.245.113.227'),(14979,'1767343909','157.245.113.227'),(14980,'1767343910','157.245.113.227'),(14981,'1767343911','157.245.113.227'),(14982,'1767343913','157.245.113.227'),(14983,'1767343914','157.245.113.227'),(14984,'1767343915','157.245.113.227'),(14985,'1767343918','157.245.113.227'),(14986,'1767343919','157.245.113.227'),(14987,'1767343920','157.245.113.227'),(14988,'1767343921','157.245.113.227'),(14989,'1767343923','157.245.113.227'),(14990,'1767435947','205.210.31.172'),(14991,'1767435947','67.222.45.11'),(14992,'1767435952','67.222.45.11'),(14993,'1767435953','67.222.45.11'),(14994,'1767435953','67.222.45.11'),(14995,'1767435953','67.222.45.11'),(14996,'1767435953','67.222.45.11'),(14997,'1767448030','205.210.31.163'),(14998,'1767448031','67.222.45.11'),(14999,'1767619784','136.117.237.229'),(15000,'1767619785','67.222.45.11'),(15001,'1767629533','35.201.158.54'),(15002,'1767629533','67.222.45.11'),(15003,'1767633206','34.148.27.252'),(15004,'1767633206','67.222.45.11'),(15005,'1767703177','64.225.19.38'),(15006,'1767703177','67.222.45.11'),(15007,'1767720983','35.237.134.36'),(15008,'1767720983','67.222.45.11'),(15009,'1767804094','3.214.217.239'),(15010,'1767804094','67.222.45.11'),(15011,'1767837666','167.94.146.55'),(15012,'1767837666','67.222.45.11'),(15013,'1767859456','138.246.253.24'),(15014,'1767859457','67.222.45.11'),(15015,'1767892742','35.241.213.231'),(15016,'1767892743','67.222.45.11'),(15017,'1767905270','192.36.109.125'),(15018,'1767905270','67.222.45.11'),(15019,'1767905270','192.36.109.116'),(15020,'1767905271','192.36.109.96'),(15021,'1767905272','192.36.109.89'),(15022,'1767931020','178.128.207.138'),(15023,'1767931021','67.222.45.11'),(15024,'1767931023','178.128.207.138'),(15025,'1767931025','178.128.207.138'),(15026,'1767931026','178.128.207.138'),(15027,'1767931027','178.128.207.138'),(15028,'1767931028','178.128.207.138'),(15029,'1767931029','178.128.207.138'),(15030,'1767931030','178.128.207.138'),(15031,'1767931031','178.128.207.138'),(15032,'1767931032','178.128.207.138'),(15033,'1767931033','178.128.207.138'),(15034,'1767931034','178.128.207.138'),(15035,'1767931035','178.128.207.138'),(15036,'1767931036','178.128.207.138'),(15037,'1767931037','178.128.207.138'),(15038,'1767931038','178.128.207.138'),(15039,'1767931040','178.128.207.138'),(15040,'1767931041','178.128.207.138'),(15041,'1767931042','178.128.207.138'),(15042,'1767931044','178.128.207.138'),(15043,'1767931045','178.128.207.138'),(15044,'1767931048','178.128.207.138'),(15045,'1767931049','178.128.207.138'),(15046,'1767931050','178.128.207.138'),(15047,'1767931052','178.128.207.138'),(15048,'1768026660','18.222.168.202'),(15049,'1768026661','67.222.45.11'),(15050,'1768026666','67.222.45.11'),(15051,'1768026666','67.222.45.11'),(15052,'1768026666','67.222.45.11'),(15053,'1768026667','67.222.45.11'),(15054,'1768026667','67.222.45.11'),(15055,'1768042890','172.105.253.29'),(15056,'1768042891','67.222.45.11'),(15057,'1768171663','205.210.31.144'),(15058,'1768171664','67.222.45.11'),(15059,'1768329795','100.52.3.146'),(15060,'1768329796','67.222.45.11'),(15061,'1768337972','185.177.72.67'),(15062,'1768337972','67.222.45.11'),(15063,'1768362359','5.228.115.182'),(15064,'1768362361','67.222.45.11'),(15065,'1768415722','100.52.3.146'),(15066,'1768415723','67.222.45.11'),(15067,'1768431318','64.15.129.124'),(15068,'1768431319','67.222.45.11'),(15069,'1768431319','64.15.129.108'),(15070,'1768431321','192.175.111.247'),(15071,'1768431322','64.15.129.117'),(15072,'1768431322','64.15.129.121'),(15073,'1768440123','151.248.1.103'),(15074,'1768440124','67.222.45.11'),(15075,'1768440124','93.158.95.213'),(15076,'1768440125','192.121.134.92'),(15077,'1768440126','93.158.70.111'),(15078,'1768443726','35.87.229.252'),(15079,'1768443726','67.222.45.11'),(15080,'1768456931','167.94.138.179'),(15081,'1768456932','67.222.45.11'),(15082,'1768542542','164.90.208.56'),(15083,'1768542543','67.222.45.11'),(15084,'1768542544','164.90.208.56'),(15085,'1768542545','164.90.208.56'),(15086,'1768542546','164.90.208.56'),(15087,'1768542547','164.90.208.56'),(15088,'1768542547','164.90.208.56'),(15089,'1768542548','164.90.208.56'),(15090,'1768542549','164.90.208.56'),(15091,'1768542550','164.90.208.56'),(15092,'1768542551','164.90.208.56'),(15093,'1768542552','164.90.208.56'),(15094,'1768542553','164.90.208.56'),(15095,'1768542554','164.90.208.56'),(15096,'1768542555','164.90.208.56'),(15097,'1768542556','164.90.208.56'),(15098,'1768542557','164.90.208.56'),(15099,'1768542558','164.90.208.56'),(15100,'1768542559','164.90.208.56'),(15101,'1768542560','164.90.208.56'),(15102,'1768542561','164.90.208.56'),(15103,'1768542562','164.90.208.56'),(15104,'1768542564','164.90.208.56'),(15105,'1768542565','164.90.208.56'),(15106,'1768542566','164.90.208.56'),(15107,'1768542567','164.90.208.56'),(15108,'1768542569','164.90.208.56'),(15109,'1768542570','164.90.208.56'),(15110,'1768542571','164.90.208.56'),(15111,'1768542574','164.90.208.56'),(15112,'1768542575','164.90.208.56'),(15113,'1768542576','164.90.208.56'),(15114,'1768542577','164.90.208.56'),(15115,'1768542579','164.90.208.56'),(15116,'1768545942','195.178.110.191'),(15117,'1768545942','67.222.45.11'),(15118,'1768555102','107.172.58.36'),(15119,'1768555102','67.222.45.11'),(15120,'1768592331','138.246.253.24'),(15121,'1768592331','67.222.45.11'),(15122,'1768594994','100.52.3.146'),(15123,'1768611240','198.235.24.15'),(15124,'1768611241','67.222.45.11'),(15125,'1768611247','67.222.45.11'),(15126,'1768611247','67.222.45.11'),(15127,'1768611248','67.222.45.11'),(15128,'1768611248','67.222.45.11'),(15129,'1768611248','67.222.45.11'),(15130,'1768638906','205.210.31.33'),(15131,'1768638907','67.222.45.11'),(15132,'1768703238','45.156.87.138'),(15133,'1768703239','67.222.45.11'),(15134,'1768749735','52.169.206.229'),(15135,'1768749735','67.222.45.11'),(15136,'1768756582','45.156.87.138'),(15137,'1768756582','67.222.45.11'),(15138,'1768756588','45.156.87.138'),(15139,'1768759434','201.159.115.251'),(15140,'1768759434','67.222.45.11'),(15141,'1768830719','23.180.120.132'),(15142,'1768901943','128.192.12.107'),(15143,'1768901943','67.222.45.11'),(15144,'1768912287','164.92.255.100'),(15145,'1768912287','67.222.45.11'),(15146,'1768989526','146.70.185.32'),(15147,'1768989527','67.222.45.11'),(15148,'1769067856','45.141.215.153'),(15149,'1769067856','67.222.45.11'),(15150,'1769067858','45.141.215.153'),(15151,'1769085021','206.168.34.220'),(15152,'1769085022','67.222.45.11'),(15153,'1769134579','164.92.107.174'),(15154,'1769134579','67.222.45.11'),(15155,'1769134580','164.92.107.174'),(15156,'1769134581','164.92.107.174'),(15157,'1769134581','164.92.107.174'),(15158,'1769134582','164.92.107.174'),(15159,'1769134582','164.92.107.174'),(15160,'1769134582','164.92.107.174'),(15161,'1769134583','164.92.107.174'),(15162,'1769134584','164.92.107.174'),(15163,'1769134585','164.92.107.174'),(15164,'1769134586','164.92.107.174'),(15165,'1769134587','164.92.107.174'),(15166,'1769134588','164.92.107.174'),(15167,'1769134589','164.92.107.174'),(15168,'1769134590','164.92.107.174'),(15169,'1769134591','164.92.107.174'),(15170,'1769134592','164.92.107.174'),(15171,'1769134593','164.92.107.174'),(15172,'1769134594','164.92.107.174'),(15173,'1769134595','164.92.107.174'),(15174,'1769134596','164.92.107.174'),(15175,'1769134598','164.92.107.174'),(15176,'1769134599','164.92.107.174'),(15177,'1769134600','164.92.107.174'),(15178,'1769134601','164.92.107.174'),(15179,'1769134603','164.92.107.174'),(15180,'1769134604','164.92.107.174'),(15181,'1769134605','164.92.107.174'),(15182,'1769134608','164.92.107.174'),(15183,'1769134609','164.92.107.174'),(15184,'1769134610','164.92.107.174'),(15185,'1769134611','164.92.107.174'),(15186,'1769134613','164.92.107.174'),(15187,'1769158953','138.246.253.24'),(15188,'1769158953','67.222.45.11'),(15189,'1769462578','195.200.2.53'),(15190,'1769462578','67.222.45.11'),(15191,'1769462579','195.200.2.53'),(15192,'1769462579','195.200.2.53'),(15193,'1769462579','195.200.2.53'),(15194,'1769462579','195.200.2.53'),(15195,'1769462580','195.200.2.53'),(15196,'1769462580','195.200.2.53'),(15197,'1769462583','67.222.45.11'),(15198,'1769462583','67.222.45.11'),(15199,'1769462584','67.222.45.11'),(15200,'1769462584','67.222.45.11'),(15201,'1769462584','67.222.45.11'),(15202,'1769488182','45.148.10.238'),(15203,'1769488182','67.222.45.11'),(15204,'1769493172','45.148.10.238'),(15205,'1769493172','67.222.45.11'),(15206,'1769493173','45.148.10.238'),(15207,'1769493173','45.148.10.238'),(15208,'1769493173','45.148.10.238'),(15209,'1769493173','45.148.10.238'),(15210,'1769493173','45.148.10.238'),(15211,'1769493173','45.148.10.238'),(15212,'1769493173','45.148.10.238'),(15213,'1769493173','45.148.10.238'),(15214,'1769508315','164.92.107.174'),(15215,'1769508315','164.92.107.174'),(15216,'1769508315','67.222.45.11'),(15217,'1769508316','164.92.107.174'),(15218,'1769508319','164.92.107.174'),(15219,'1769508320','164.92.107.174'),(15220,'1769508321','164.92.107.174'),(15221,'1769508322','164.92.107.174'),(15222,'1769508323','164.92.107.174'),(15223,'1769508325','164.92.107.174'),(15224,'1769508327','164.92.107.174'),(15225,'1769508328','164.92.107.174'),(15226,'1769508328','164.92.107.174'),(15227,'1769508328','164.92.107.174'),(15228,'1769508328','164.92.107.174'),(15229,'1769508328','164.92.107.174'),(15230,'1769508329','164.92.107.174'),(15231,'1769508330','164.92.107.174'),(15232,'1769508331','164.92.107.174'),(15233,'1769508333','164.92.107.174'),(15234,'1769508334','164.92.107.174'),(15235,'1769508336','164.92.107.174'),(15236,'1769508337','164.92.107.174'),(15237,'1769508338','164.92.107.174'),(15238,'1769508339','164.92.107.174'),(15239,'1769508340','164.92.107.174'),(15240,'1769508341','164.92.107.174'),(15241,'1769508342','164.92.107.174'),(15242,'1769508343','164.92.107.174'),(15243,'1769508344','164.92.107.174'),(15244,'1769508345','164.92.107.174'),(15245,'1769508346','164.92.107.174'),(15246,'1769508347','164.92.107.174'),(15247,'1769508348','164.92.107.174'),(15248,'1769508349','164.92.107.174'),(15249,'1769511333','91.196.152.148'),(15250,'1769511333','67.222.45.11'),(15251,'1769533696','34.31.172.137'),(15252,'1769533696','67.222.45.11'),(15253,'1769538283','205.169.39.26'),(15254,'1769538283','67.222.45.11'),(15255,'1769543900','134.122.36.99'),(15256,'1769543900','67.222.45.11'),(15257,'1769546118','34.221.21.250'),(15258,'1769546119','67.222.45.11'),(15259,'1769558016','195.178.110.54'),(15260,'1769558016','67.222.45.11'),(15261,'1769558060','195.178.110.54'),(15262,'1769558060','195.178.110.54'),(15263,'1769558060','195.178.110.54'),(15264,'1769558060','195.178.110.54'),(15265,'1769558060','195.178.110.54'),(15266,'1769558060','195.178.110.54'),(15267,'1769558060','195.178.110.54'),(15268,'1769558060','195.178.110.54'),(15269,'1769558065','195.178.110.54'),(15270,'1769558118','195.178.110.54'),(15271,'1769558118','195.178.110.54'),(15272,'1769558118','195.178.110.54'),(15273,'1769558119','195.178.110.54'),(15274,'1769558119','195.178.110.54'),(15275,'1769558120','195.178.110.54'),(15276,'1769558120','195.178.110.54'),(15277,'1769558120','195.178.110.54'),(15278,'1769561163','195.178.110.132'),(15279,'1769561163','67.222.45.11'),(15280,'1769561164','195.178.110.132'),(15281,'1769561164','195.178.110.132'),(15282,'1769561165','195.178.110.132'),(15283,'1769561165','195.178.110.132'),(15284,'1769561166','195.178.110.132'),(15285,'1769561167','195.178.110.132'),(15286,'1769561167','195.178.110.132'),(15287,'1769561167','195.178.110.132'),(15288,'1769561167','195.178.110.132'),(15289,'1769579377','176.65.148.161'),(15290,'1769579377','67.222.45.11'),(15291,'1769579457','176.65.148.161'),(15292,'1769579458','176.65.148.161'),(15293,'1769579459','176.65.148.161'),(15294,'1769582812','23.180.120.132'),(15295,'1769582812','67.222.45.11'),(15296,'1769582814','101.35.51.93'),(15297,'1769582819','101.35.51.93'),(15298,'1769582820','101.35.51.93'),(15299,'1769582820','101.35.51.93'),(15300,'1769582823','101.35.51.93'),(15301,'1769582823','101.35.51.93'),(15302,'1769582825','101.35.51.93'),(15303,'1769582826','101.35.51.93'),(15304,'1769595414','45.144.212.58'),(15305,'1769595414','45.144.212.58'),(15306,'1769595414','45.144.212.58'),(15307,'1769595414','45.144.212.58'),(15308,'1769595415','67.222.45.11'),(15309,'1769609238','54.162.31.194'),(15310,'1769609239','67.222.45.11'),(15311,'1769610272','34.28.124.155'),(15312,'1769611913','176.65.148.161'),(15313,'1769611914','176.65.148.161'),(15314,'1769611914','67.222.45.11'),(15315,'1769611914','176.65.148.161'),(15316,'1769611915','176.65.148.161'),(15317,'1769611917','176.65.148.161'),(15318,'1769611917','176.65.148.161'),(15319,'1769624355','54.162.31.194'),(15320,'1769624355','67.222.45.11'),(15321,'1769626375','185.177.72.49'),(15322,'1769626375','67.222.45.11'),(15323,'1769626382','185.177.72.49'),(15324,'1769626387','185.177.72.49'),(15325,'1769626391','185.177.72.49'),(15326,'1769626392','185.177.72.49'),(15327,'1769626393','185.177.72.49'),(15328,'1769626394','185.177.72.49'),(15329,'1769626395','185.177.72.49'),(15330,'1769626396','185.177.72.49'),(15331,'1769626396','185.177.72.49'),(15332,'1769626397','185.177.72.49'),(15333,'1769626398','185.177.72.49'),(15334,'1769626399','185.177.72.49'),(15335,'1769626400','185.177.72.49'),(15336,'1769626401','185.177.72.49'),(15337,'1769626402','185.177.72.49'),(15338,'1769626402','185.177.72.49'),(15339,'1769626403','185.177.72.49'),(15340,'1769626404','185.177.72.49'),(15341,'1769626405','185.177.72.49'),(15342,'1769626406','185.177.72.49'),(15343,'1769626407','185.177.72.49'),(15344,'1769626408','185.177.72.49'),(15345,'1769626409','185.177.72.49'),(15346,'1769626410','185.177.72.49'),(15347,'1769626411','185.177.72.49'),(15348,'1769626412','185.177.72.49'),(15349,'1769626412','185.177.72.49'),(15350,'1769626413','185.177.72.49'),(15351,'1769626414','185.177.72.49'),(15352,'1769626415','185.177.72.49'),(15353,'1769626416','185.177.72.49'),(15354,'1769626417','185.177.72.49'),(15355,'1769626417','185.177.72.49'),(15356,'1769626418','185.177.72.49'),(15357,'1769626419','185.177.72.49'),(15358,'1769626420','185.177.72.49'),(15359,'1769626421','185.177.72.49'),(15360,'1769626421','185.177.72.49'),(15361,'1769626422','185.177.72.49'),(15362,'1769626423','185.177.72.49'),(15363,'1769626424','185.177.72.49'),(15364,'1769626425','185.177.72.49'),(15365,'1769626426','185.177.72.49'),(15366,'1769626426','185.177.72.49'),(15367,'1769626427','185.177.72.49'),(15368,'1769626428','185.177.72.49'),(15369,'1769626429','185.177.72.49'),(15370,'1769626430','185.177.72.49'),(15371,'1769626431','185.177.72.49'),(15372,'1769626432','185.177.72.49'),(15373,'1769626432','185.177.72.49'),(15374,'1769626433','185.177.72.49'),(15375,'1769626434','185.177.72.49'),(15376,'1769626435','185.177.72.49'),(15377,'1769626436','185.177.72.49'),(15378,'1769626437','185.177.72.49'),(15379,'1769626438','185.177.72.49'),(15380,'1769626439','185.177.72.49'),(15381,'1769626440','185.177.72.49'),(15382,'1769626443','185.177.72.49'),(15383,'1769626444','185.177.72.49'),(15384,'1769626445','185.177.72.49'),(15385,'1769626446','185.177.72.49'),(15386,'1769626447','185.177.72.49'),(15387,'1769626454','185.177.72.49'),(15388,'1769626455','185.177.72.49'),(15389,'1769626455','185.177.72.49'),(15390,'1769626456','185.177.72.49'),(15391,'1769626457','185.177.72.49'),(15392,'1769626458','185.177.72.49'),(15393,'1769626459','185.177.72.49'),(15394,'1769626459','185.177.72.49'),(15395,'1769626460','185.177.72.49'),(15396,'1769626461','185.177.72.49'),(15397,'1769626463','185.177.72.49'),(15398,'1769626464','185.177.72.49'),(15399,'1769626468','185.177.72.49'),(15400,'1769626468','185.177.72.49'),(15401,'1769626472','185.177.72.49'),(15402,'1769626473','185.177.72.49'),(15403,'1769626474','185.177.72.49'),(15404,'1769626475','185.177.72.49'),(15405,'1769626476','185.177.72.49'),(15406,'1769626477','185.177.72.49'),(15407,'1769626478','185.177.72.49'),(15408,'1769626479','185.177.72.49'),(15409,'1769626480','185.177.72.49'),(15410,'1769626481','185.177.72.49'),(15411,'1769626482','185.177.72.49'),(15412,'1769626482','185.177.72.49'),(15413,'1769626483','185.177.72.49'),(15414,'1769626486','185.177.72.49'),(15415,'1769626486','185.177.72.49'),(15416,'1769626491','185.177.72.49'),(15417,'1769626492','185.177.72.49'),(15418,'1769626493','185.177.72.49'),(15419,'1769626494','185.177.72.49'),(15420,'1769626495','185.177.72.49'),(15421,'1769626495','185.177.72.49'),(15422,'1769626497','185.177.72.49'),(15423,'1769626498','185.177.72.49'),(15424,'1769626499','185.177.72.49'),(15425,'1769626500','185.177.72.49'),(15426,'1769626500','185.177.72.49'),(15427,'1769626502','185.177.72.49'),(15428,'1769626503','185.177.72.49'),(15429,'1769626506','185.177.72.49'),(15430,'1769626507','185.177.72.49'),(15431,'1769626508','185.177.72.49'),(15432,'1769626509','185.177.72.49'),(15433,'1769626510','185.177.72.49'),(15434,'1769626511','185.177.72.49'),(15435,'1769626512','185.177.72.49'),(15436,'1769626513','185.177.72.49'),(15437,'1769626514','185.177.72.49'),(15438,'1769626515','185.177.72.49'),(15439,'1769626516','185.177.72.49'),(15440,'1769626517','185.177.72.49'),(15441,'1769626517','185.177.72.49'),(15442,'1769626518','185.177.72.49'),(15443,'1769626519','185.177.72.49'),(15444,'1769626520','185.177.72.49'),(15445,'1769626521','185.177.72.49'),(15446,'1769626522','185.177.72.49'),(15447,'1769626522','185.177.72.49'),(15448,'1769626523','185.177.72.49'),(15449,'1769626524','185.177.72.49'),(15450,'1769626525','185.177.72.49'),(15451,'1769626526','185.177.72.49'),(15452,'1769626527','185.177.72.49'),(15453,'1769626528','185.177.72.49'),(15454,'1769626528','185.177.72.49'),(15455,'1769626529','185.177.72.49'),(15456,'1769626530','185.177.72.49'),(15457,'1769626531','185.177.72.49'),(15458,'1769626532','185.177.72.49'),(15459,'1769626533','185.177.72.49'),(15460,'1769626534','185.177.72.49'),(15461,'1769626535','185.177.72.49'),(15462,'1769626535','185.177.72.49'),(15463,'1769626537','185.177.72.49'),(15464,'1769626538','185.177.72.49'),(15465,'1769626539','185.177.72.49'),(15466,'1769626540','185.177.72.49'),(15467,'1769626540','185.177.72.49'),(15468,'1769626541','185.177.72.49'),(15469,'1769626543','185.177.72.49'),(15470,'1769626544','185.177.72.49'),(15471,'1769626545','185.177.72.49'),(15472,'1769626546','185.177.72.49'),(15473,'1769626546','185.177.72.49'),(15474,'1769626547','185.177.72.49'),(15475,'1769626548','185.177.72.49'),(15476,'1769626549','185.177.72.49'),(15477,'1769626550','185.177.72.49'),(15478,'1769626551','185.177.72.49'),(15479,'1769626554','185.177.72.49'),(15480,'1769626555','185.177.72.49'),(15481,'1769626556','185.177.72.49'),(15482,'1769626557','185.177.72.49'),(15483,'1769626558','185.177.72.49'),(15484,'1769626559','185.177.72.49'),(15485,'1769626560','185.177.72.49'),(15486,'1769626561','185.177.72.49'),(15487,'1769626561','185.177.72.49'),(15488,'1769626563','185.177.72.49'),(15489,'1769626564','185.177.72.49'),(15490,'1769626565','185.177.72.49'),(15491,'1769626566','185.177.72.49'),(15492,'1769626567','185.177.72.49'),(15493,'1769626568','185.177.72.49'),(15494,'1769626568','185.177.72.49'),(15495,'1769626569','185.177.72.49'),(15496,'1769626570','185.177.72.49'),(15497,'1769626571','185.177.72.49'),(15498,'1769626572','185.177.72.49'),(15499,'1769626573','185.177.72.49'),(15500,'1769626575','185.177.72.49'),(15501,'1769626576','185.177.72.49'),(15502,'1769626577','185.177.72.49'),(15503,'1769626578','185.177.72.49'),(15504,'1769626581','185.177.72.49'),(15505,'1769626586','185.177.72.49'),(15506,'1769626587','185.177.72.49'),(15507,'1769626588','185.177.72.49'),(15508,'1769626589','185.177.72.49'),(15509,'1769626590','185.177.72.49'),(15510,'1769626590','185.177.72.49'),(15511,'1769626591','185.177.72.49'),(15512,'1769626593','185.177.72.49'),(15513,'1769626594','185.177.72.49'),(15514,'1769626594','185.177.72.49'),(15515,'1769626596','185.177.72.49'),(15516,'1769626597','185.177.72.49'),(15517,'1769626598','185.177.72.49'),(15518,'1769626599','185.177.72.49'),(15519,'1769626600','185.177.72.49'),(15520,'1769626600','185.177.72.49'),(15521,'1769626601','185.177.72.49'),(15522,'1769626602','185.177.72.49'),(15523,'1769626604','185.177.72.49'),(15524,'1769626606','185.177.72.49'),(15525,'1769626607','185.177.72.49'),(15526,'1769626609','185.177.72.49'),(15527,'1769626610','185.177.72.49'),(15528,'1769626610','185.177.72.49'),(15529,'1769626611','185.177.72.49'),(15530,'1769626612','185.177.72.49'),(15531,'1769626613','185.177.72.49'),(15532,'1769626614','185.177.72.49'),(15533,'1769626615','185.177.72.49'),(15534,'1769626618','185.177.72.49'),(15535,'1769626619','185.177.72.49'),(15536,'1769626620','185.177.72.49'),(15537,'1769626621','185.177.72.49'),(15538,'1769626624','185.177.72.49'),(15539,'1769626626','185.177.72.49'),(15540,'1769626627','185.177.72.49'),(15541,'1769626628','185.177.72.49'),(15542,'1769626628','185.177.72.49'),(15543,'1769626629','185.177.72.49'),(15544,'1769626630','185.177.72.49'),(15545,'1769626632','185.177.72.49'),(15546,'1769626635','185.177.72.49'),(15547,'1769626639','185.177.72.49'),(15548,'1769626640','185.177.72.49'),(15549,'1769626641','185.177.72.49'),(15550,'1769626641','185.177.72.49'),(15551,'1769626642','185.177.72.49'),(15552,'1769626643','185.177.72.49'),(15553,'1769626645','185.177.72.49'),(15554,'1769626645','185.177.72.49'),(15555,'1769626646','185.177.72.49'),(15556,'1769626647','185.177.72.49'),(15557,'1769626648','185.177.72.49'),(15558,'1769626649','185.177.72.49'),(15559,'1769626649','185.177.72.49'),(15560,'1769626656','185.177.72.49'),(15561,'1769626658','185.177.72.49'),(15562,'1769626658','185.177.72.49'),(15563,'1769626659','185.177.72.49'),(15564,'1769626661','185.177.72.49'),(15565,'1769626661','185.177.72.49'),(15566,'1769626662','185.177.72.49'),(15567,'1769626665','185.177.72.49'),(15568,'1769626666','185.177.72.49'),(15569,'1769626667','185.177.72.49'),(15570,'1769626670','185.177.72.49'),(15571,'1769626671','185.177.72.49'),(15572,'1769626673','185.177.72.49'),(15573,'1769626678','185.177.72.49'),(15574,'1769626678','185.177.72.49'),(15575,'1769626679','185.177.72.49'),(15576,'1769626681','185.177.72.49'),(15577,'1769626691','185.177.72.49'),(15578,'1769626696','185.177.72.49'),(15579,'1769626697','185.177.72.49'),(15580,'1769626698','185.177.72.49'),(15581,'1769626699','185.177.72.49'),(15582,'1769626700','185.177.72.49'),(15583,'1769626701','185.177.72.49'),(15584,'1769626702','185.177.72.49'),(15585,'1769626704','185.177.72.49'),(15586,'1769626716','185.177.72.49'),(15587,'1769626717','185.177.72.49'),(15588,'1769626718','185.177.72.49'),(15589,'1769626719','185.177.72.49'),(15590,'1769626722','185.177.72.49'),(15591,'1769626723','185.177.72.49'),(15592,'1769626724','185.177.72.49'),(15593,'1769626724','185.177.72.49'),(15594,'1769626725','185.177.72.49'),(15595,'1769626726','185.177.72.49'),(15596,'1769626727','185.177.72.49'),(15597,'1769626741','185.177.72.49'),(15598,'1769626742','185.177.72.49'),(15599,'1769626744','185.177.72.49'),(15600,'1769626746','185.177.72.49'),(15601,'1769626748','185.177.72.49'),(15602,'1769626749','185.177.72.49'),(15603,'1769626750','185.177.72.49'),(15604,'1769626751','185.177.72.49'),(15605,'1769626752','185.177.72.49'),(15606,'1769626753','185.177.72.49'),(15607,'1769626754','185.177.72.49'),(15608,'1769632895','45.148.10.238'),(15609,'1769632895','67.222.45.11'),(15610,'1769653687','195.178.110.132'),(15611,'1769653688','67.222.45.11'),(15612,'1769653689','195.178.110.132'),(15613,'1769653689','195.178.110.132'),(15614,'1769653690','195.178.110.132'),(15615,'1769653690','195.178.110.132'),(15616,'1769653692','195.178.110.132'),(15617,'1769653692','195.178.110.132'),(15618,'1769653693','195.178.110.132'),(15619,'1769659341','159.89.174.87'),(15620,'1769659341','67.222.45.11'),(15621,'1769659342','159.89.174.87'),(15622,'1769659343','159.89.174.87'),(15623,'1769659346','159.89.174.87'),(15624,'1769659347','159.89.174.87'),(15625,'1769659348','159.89.174.87'),(15626,'1769659350','159.89.174.87'),(15627,'1769659353','159.89.174.87'),(15628,'1769659355','159.89.174.87'),(15629,'1769659356','159.89.174.87'),(15630,'1769659357','159.89.174.87'),(15631,'1769659357','159.89.174.87'),(15632,'1769659358','159.89.174.87'),(15633,'1769659359','159.89.174.87'),(15634,'1769659360','159.89.174.87'),(15635,'1769659361','159.89.174.87'),(15636,'1769659363','159.89.174.87'),(15637,'1769659365','159.89.174.87'),(15638,'1769659367','159.89.174.87'),(15639,'1769659368','159.89.174.87'),(15640,'1769659370','159.89.174.87'),(15641,'1769659371','159.89.174.87'),(15642,'1769659372','159.89.174.87'),(15643,'1769659373','159.89.174.87'),(15644,'1769659374','159.89.174.87'),(15645,'1769659375','159.89.174.87'),(15646,'1769659377','159.89.174.87'),(15647,'1769659378','159.89.174.87'),(15648,'1769659379','159.89.174.87'),(15649,'1769659380','159.89.174.87'),(15650,'1769659381','159.89.174.87'),(15651,'1769659382','159.89.174.87'),(15652,'1769660940','195.178.110.54'),(15653,'1769660962','195.178.110.54'),(15654,'1769660962','195.178.110.54'),(15655,'1769660962','195.178.110.54'),(15656,'1769660963','195.178.110.54'),(15657,'1769660963','195.178.110.54'),(15658,'1769660963','195.178.110.54'),(15659,'1769660963','195.178.110.54'),(15660,'1769660964','195.178.110.54'),(15661,'1769663684','45.148.10.238'),(15662,'1769663684','67.222.45.11'),(15663,'1769670385','3.107.255.4'),(15664,'1769670386','67.222.45.11'),(15665,'1769685242','185.177.72.51'),(15666,'1769685242','67.222.45.11'),(15667,'1769685250','185.177.72.51'),(15668,'1769685257','185.177.72.51'),(15669,'1769685261','185.177.72.51'),(15670,'1769685262','185.177.72.51'),(15671,'1769685263','185.177.72.51'),(15672,'1769685264','185.177.72.51'),(15673,'1769685265','185.177.72.51'),(15674,'1769685266','185.177.72.51'),(15675,'1769685267','185.177.72.51'),(15676,'1769685268','185.177.72.51'),(15677,'1769685269','185.177.72.51'),(15678,'1769685270','185.177.72.51'),(15679,'1769685271','185.177.72.51'),(15680,'1769685272','185.177.72.51'),(15681,'1769685273','185.177.72.51'),(15682,'1769685273','185.177.72.51'),(15683,'1769685274','185.177.72.51'),(15684,'1769685275','185.177.72.51'),(15685,'1769685276','185.177.72.51'),(15686,'1769685277','185.177.72.51'),(15687,'1769685279','185.177.72.51'),(15688,'1769685280','185.177.72.51'),(15689,'1769685281','185.177.72.51'),(15690,'1769685282','185.177.72.51'),(15691,'1769685282','185.177.72.51'),(15692,'1769685283','185.177.72.51'),(15693,'1769685284','185.177.72.51'),(15694,'1769685285','185.177.72.51'),(15695,'1769685286','185.177.72.51'),(15696,'1769685287','185.177.72.51'),(15697,'1769685288','185.177.72.51'),(15698,'1769685289','185.177.72.51'),(15699,'1769685290','185.177.72.51'),(15700,'1769685291','185.177.72.51'),(15701,'1769685292','185.177.72.51'),(15702,'1769685293','185.177.72.51'),(15703,'1769685294','185.177.72.51'),(15704,'1769685295','185.177.72.51'),(15705,'1769685296','185.177.72.51'),(15706,'1769685297','185.177.72.51'),(15707,'1769685298','185.177.72.51'),(15708,'1769685299','185.177.72.51'),(15709,'1769685300','185.177.72.51'),(15710,'1769685301','185.177.72.51'),(15711,'1769685302','185.177.72.51'),(15712,'1769685303','185.177.72.51'),(15713,'1769685304','185.177.72.51'),(15714,'1769685305','185.177.72.51'),(15715,'1769685306','185.177.72.51'),(15716,'1769685307','185.177.72.51'),(15717,'1769685307','185.177.72.51'),(15718,'1769685308','185.177.72.51'),(15719,'1769685309','185.177.72.51'),(15720,'1769685310','185.177.72.51'),(15721,'1769685312','185.177.72.51'),(15722,'1769685313','185.177.72.51'),(15723,'1769685313','185.177.72.51'),(15724,'1769685314','185.177.72.51'),(15725,'1769685316','185.177.72.51'),(15726,'1769685319','185.177.72.51'),(15727,'1769685321','185.177.72.51'),(15728,'1769685321','185.177.72.51'),(15729,'1769685322','185.177.72.51'),(15730,'1769685323','185.177.72.51'),(15731,'1769685331','185.177.72.51'),(15732,'1769685332','185.177.72.51'),(15733,'1769685333','185.177.72.51'),(15734,'1769685334','185.177.72.51'),(15735,'1769685335','185.177.72.51'),(15736,'1769685336','185.177.72.51'),(15737,'1769685337','185.177.72.51'),(15738,'1769685338','185.177.72.51'),(15739,'1769685339','185.177.72.51'),(15740,'1769685339','185.177.72.51'),(15741,'1769685342','185.177.72.51'),(15742,'1769685343','185.177.72.51'),(15743,'1769685347','185.177.72.51'),(15744,'1769685348','185.177.72.51'),(15745,'1769685352','185.177.72.51'),(15746,'1769685353','185.177.72.51'),(15747,'1769685354','185.177.72.51'),(15748,'1769685355','185.177.72.51'),(15749,'1769685356','185.177.72.51'),(15750,'1769685357','185.177.72.51'),(15751,'1769685358','185.177.72.51'),(15752,'1769685360','185.177.72.51'),(15753,'1769685361','185.177.72.51'),(15754,'1769685361','185.177.72.51'),(15755,'1769685363','185.177.72.51'),(15756,'1769685364','185.177.72.51'),(15757,'1769685364','185.177.72.51'),(15758,'1769685367','185.177.72.51'),(15759,'1769685368','185.177.72.51'),(15760,'1769685374','185.177.72.51'),(15761,'1769685375','185.177.72.51'),(15762,'1769685376','185.177.72.51'),(15763,'1769685377','185.177.72.51'),(15764,'1769685377','185.177.72.51'),(15765,'1769685378','185.177.72.51'),(15766,'1769685380','185.177.72.51'),(15767,'1769685381','185.177.72.51'),(15768,'1769685382','185.177.72.51'),(15769,'1769685383','185.177.72.51'),(15770,'1769685384','185.177.72.51'),(15771,'1769685385','185.177.72.51'),(15772,'1769685386','185.177.72.51'),(15773,'1769685390','185.177.72.51'),(15774,'1769685391','185.177.72.51'),(15775,'1769685392','185.177.72.51'),(15776,'1769685393','185.177.72.51'),(15777,'1769685394','185.177.72.51'),(15778,'1769685395','185.177.72.51'),(15779,'1769685396','185.177.72.51'),(15780,'1769685397','185.177.72.51'),(15781,'1769685398','185.177.72.51'),(15782,'1769685399','185.177.72.51'),(15783,'1769685400','185.177.72.51'),(15784,'1769685401','185.177.72.51'),(15785,'1769685402','185.177.72.51'),(15786,'1769685403','185.177.72.51'),(15787,'1769685404','185.177.72.51'),(15788,'1769685405','185.177.72.51'),(15789,'1769685406','185.177.72.51'),(15790,'1769685407','185.177.72.51'),(15791,'1769685408','185.177.72.51'),(15792,'1769685409','185.177.72.51'),(15793,'1769685409','185.177.72.51'),(15794,'1769685410','185.177.72.51'),(15795,'1769685411','185.177.72.51'),(15796,'1769685412','185.177.72.51'),(15797,'1769685413','185.177.72.51'),(15798,'1769685414','185.177.72.51'),(15799,'1769685415','185.177.72.51'),(15800,'1769685416','185.177.72.51'),(15801,'1769685417','185.177.72.51'),(15802,'1769685418','185.177.72.51'),(15803,'1769685419','185.177.72.51'),(15804,'1769685420','185.177.72.51'),(15805,'1769685421','185.177.72.51'),(15806,'1769685422','185.177.72.51'),(15807,'1769685423','185.177.72.51'),(15808,'1769685424','185.177.72.51'),(15809,'1769685425','185.177.72.51'),(15810,'1769685426','185.177.72.51'),(15811,'1769685427','185.177.72.51'),(15812,'1769685428','185.177.72.51'),(15813,'1769685429','185.177.72.51'),(15814,'1769685430','185.177.72.51'),(15815,'1769685431','185.177.72.51'),(15816,'1769685432','185.177.72.51'),(15817,'1769685433','185.177.72.51'),(15818,'1769685434','185.177.72.51'),(15819,'1769685435','185.177.72.51'),(15820,'1769685436','185.177.72.51'),(15821,'1769685437','185.177.72.51'),(15822,'1769685438','185.177.72.51'),(15823,'1769685441','185.177.72.51'),(15824,'1769685442','185.177.72.51'),(15825,'1769685443','185.177.72.51'),(15826,'1769685445','185.177.72.51'),(15827,'1769685446','185.177.72.51'),(15828,'1769685447','185.177.72.51'),(15829,'1769685448','185.177.72.51'),(15830,'1769685449','185.177.72.51'),(15831,'1769685450','185.177.72.51'),(15832,'1769685451','185.177.72.51'),(15833,'1769685451','185.177.72.51'),(15834,'1769685452','185.177.72.51'),(15835,'1769685453','185.177.72.51'),(15836,'1769685454','185.177.72.51'),(15837,'1769685455','185.177.72.51'),(15838,'1769685456','185.177.72.51'),(15839,'1769685457','185.177.72.51'),(15840,'1769685458','185.177.72.51'),(15841,'1769685458','185.177.72.51'),(15842,'1769685459','185.177.72.51'),(15843,'1769685460','185.177.72.51'),(15844,'1769685463','185.177.72.51'),(15845,'1769685464','185.177.72.51'),(15846,'1769685465','185.177.72.51'),(15847,'1769685466','185.177.72.51'),(15848,'1769685469','185.177.72.51'),(15849,'1769685475','185.177.72.51'),(15850,'1769685476','185.177.72.51'),(15851,'1769685477','185.177.72.51'),(15852,'1769685478','185.177.72.51'),(15853,'1769685479','185.177.72.51'),(15854,'1769685480','185.177.72.51'),(15855,'1769685481','185.177.72.51'),(15856,'1769685482','185.177.72.51'),(15857,'1769685483','185.177.72.51'),(15858,'1769685484','185.177.72.51'),(15859,'1769685485','185.177.72.51'),(15860,'1769685486','185.177.72.51'),(15861,'1769685487','185.177.72.51'),(15862,'1769685488','185.177.72.51'),(15863,'1769685489','185.177.72.51'),(15864,'1769685490','185.177.72.51'),(15865,'1769685491','185.177.72.51'),(15866,'1769685492','185.177.72.51'),(15867,'1769685494','185.177.72.51'),(15868,'1769685496','185.177.72.51'),(15869,'1769685497','185.177.72.51'),(15870,'1769685500','185.177.72.51'),(15871,'1769685501','185.177.72.51'),(15872,'1769685501','185.177.72.51'),(15873,'1769685502','185.177.72.51'),(15874,'1769685503','185.177.72.51'),(15875,'1769685504','185.177.72.51'),(15876,'1769685506','185.177.72.51'),(15877,'1769685507','185.177.72.51'),(15878,'1769685510','185.177.72.51'),(15879,'1769685511','185.177.72.51'),(15880,'1769685512','185.177.72.51'),(15881,'1769685513','185.177.72.51'),(15882,'1769685516','185.177.72.51'),(15883,'1769685519','185.177.72.51'),(15884,'1769685520','185.177.72.51'),(15885,'1769685521','185.177.72.51'),(15886,'1769685521','185.177.72.51'),(15887,'1769685522','185.177.72.51'),(15888,'1769685523','185.177.72.51'),(15889,'1769685525','185.177.72.51'),(15890,'1769685529','185.177.72.51'),(15891,'1769685533','185.177.72.51'),(15892,'1769685534','185.177.72.51'),(15893,'1769685535','185.177.72.51'),(15894,'1769685535','185.177.72.51'),(15895,'1769685536','185.177.72.51'),(15896,'1769685537','185.177.72.51'),(15897,'1769685539','185.177.72.51'),(15898,'1769685540','185.177.72.51'),(15899,'1769685541','185.177.72.51'),(15900,'1769685541','185.177.72.51'),(15901,'1769685542','185.177.72.51'),(15902,'1769685543','185.177.72.51'),(15903,'1769685544','185.177.72.51'),(15904,'1769685551','185.177.72.51'),(15905,'1769685553','185.177.72.51'),(15906,'1769685554','185.177.72.51'),(15907,'1769685555','185.177.72.51'),(15908,'1769685556','185.177.72.51'),(15909,'1769685557','185.177.72.51'),(15910,'1769685558','185.177.72.51'),(15911,'1769685561','185.177.72.51'),(15912,'1769685561','185.177.72.51'),(15913,'1769685563','185.177.72.51'),(15914,'1769685566','185.177.72.51'),(15915,'1769685567','185.177.72.51'),(15916,'1769685569','185.177.72.51'),(15917,'1769685575','185.177.72.51'),(15918,'1769685576','185.177.72.51'),(15919,'1769685577','185.177.72.51'),(15920,'1769685579','185.177.72.51'),(15921,'1769685589','185.177.72.51'),(15922,'1769685594','185.177.72.51'),(15923,'1769685596','185.177.72.51'),(15924,'1769685597','185.177.72.51'),(15925,'1769685598','185.177.72.51'),(15926,'1769685598','185.177.72.51'),(15927,'1769685600','185.177.72.51'),(15928,'1769685601','185.177.72.51'),(15929,'1769685602','185.177.72.51'),(15930,'1769685616','185.177.72.51'),(15931,'1769685617','185.177.72.51'),(15932,'1769685618','185.177.72.51'),(15933,'1769685618','185.177.72.51'),(15934,'1769685621','185.177.72.51'),(15935,'1769685622','185.177.72.51'),(15936,'1769685623','185.177.72.51'),(15937,'1769685624','185.177.72.51'),(15938,'1769685625','185.177.72.51'),(15939,'1769685626','185.177.72.51'),(15940,'1769685626','185.177.72.51'),(15941,'1769685631','185.177.72.51'),(15942,'1769685632','185.177.72.51'),(15943,'1769685634','185.177.72.51'),(15944,'1769685636','185.177.72.51'),(15945,'1769685637','185.177.72.51'),(15946,'1769685639','185.177.72.51'),(15947,'1769685640','185.177.72.51'),(15948,'1769685641','185.177.72.51'),(15949,'1769685642','185.177.72.51'),(15950,'1769685643','185.177.72.51'),(15951,'1769685644','185.177.72.51'),(15952,'1769685645','185.177.72.51'),(15953,'1769685646','185.177.72.51'),(15954,'1769685647','185.177.72.51'),(15955,'1769685648','185.177.72.51'),(15956,'1769685649','185.177.72.51'),(15957,'1769685649','185.177.72.51'),(15958,'1769685650','185.177.72.51'),(15959,'1769685651','185.177.72.51'),(15960,'1769685652','185.177.72.51'),(15961,'1769685653','185.177.72.51'),(15962,'1769685654','185.177.72.51'),(15963,'1769685654','185.177.72.51'),(15964,'1769685655','185.177.72.51'),(15965,'1769685657','185.177.72.51'),(15966,'1769685658','185.177.72.51'),(15967,'1769685659','185.177.72.51'),(15968,'1769685667','185.177.72.51'),(15969,'1769685669','185.177.72.51'),(15970,'1769685674','185.177.72.51'),(15971,'1769685677','185.177.72.51'),(15972,'1769685679','185.177.72.51'),(15973,'1769685686','185.177.72.51'),(15974,'1769685688','185.177.72.51'),(15975,'1769685694','185.177.72.51'),(15976,'1769685695','185.177.72.51'),(15977,'1769685696','185.177.72.51'),(15978,'1769685703','185.177.72.51'),(15979,'1769685704','185.177.72.51'),(15980,'1769685705','185.177.72.51'),(15981,'1769685707','185.177.72.51'),(15982,'1769685714','185.177.72.51'),(15983,'1769685715','185.177.72.51'),(15984,'1769685717','185.177.72.51'),(15985,'1769685719','185.177.72.51'),(15986,'1769685720','185.177.72.51'),(15987,'1769685721','185.177.72.51'),(15988,'1769685722','185.177.72.51'),(15989,'1769685724','185.177.72.51'),(15990,'1769685725','185.177.72.51'),(15991,'1769685726','185.177.72.51'),(15992,'1769685727','185.177.72.51'),(15993,'1769685731','185.177.72.51'),(15994,'1769685738','185.177.72.51'),(15995,'1769685739','185.177.72.51'),(15996,'1769685740','185.177.72.51'),(15997,'1769685742','185.177.72.51'),(15998,'1769685743','185.177.72.51'),(15999,'1769685744','185.177.72.51'),(16000,'1769685744','185.177.72.51'),(16001,'1769685745','185.177.72.51'),(16002,'1769685746','185.177.72.51'),(16003,'1769685747','185.177.72.51'),(16004,'1769685748','185.177.72.51'),(16005,'1769685749','185.177.72.51'),(16006,'1769685749','185.177.72.51'),(16007,'1769685750','185.177.72.51'),(16008,'1769685751','185.177.72.51'),(16009,'1769685752','185.177.72.51'),(16010,'1769685754','185.177.72.51'),(16011,'1769685755','185.177.72.51'),(16012,'1769685756','185.177.72.51'),(16013,'1769685758','185.177.72.51'),(16014,'1769685761','185.177.72.51'),(16015,'1769685762','185.177.72.51'),(16016,'1769685763','185.177.72.51'),(16017,'1769685768','185.177.72.51'),(16018,'1769685782','185.177.72.51'),(16019,'1769685788','185.177.72.51'),(16020,'1769685794','185.177.72.51'),(16021,'1769685795','185.177.72.51'),(16022,'1769685796','185.177.72.51'),(16023,'1769685797','185.177.72.51'),(16024,'1769685798','185.177.72.51'),(16025,'1769685799','185.177.72.51'),(16026,'1769685800','185.177.72.51'),(16027,'1769685801','185.177.72.51'),(16028,'1769685805','185.177.72.51'),(16029,'1769685806','185.177.72.51'),(16030,'1769685807','185.177.72.51'),(16031,'1769685811','185.177.72.51'),(16032,'1769685812','185.177.72.51'),(16033,'1769685816','185.177.72.51'),(16034,'1769685819','185.177.72.51'),(16035,'1769685819','185.177.72.51'),(16036,'1769685820','185.177.72.51'),(16037,'1769685821','185.177.72.51'),(16038,'1769685822','185.177.72.51'),(16039,'1769685823','185.177.72.51'),(16040,'1769685824','185.177.72.51'),(16041,'1769685824','185.177.72.51'),(16042,'1769685825','185.177.72.51'),(16043,'1769685826','185.177.72.51'),(16044,'1769685827','185.177.72.51'),(16045,'1769685828','185.177.72.51'),(16046,'1769685829','185.177.72.51'),(16047,'1769685830','185.177.72.51'),(16048,'1769685831','185.177.72.51'),(16049,'1769685832','185.177.72.51'),(16050,'1769685832','185.177.72.51'),(16051,'1769685833','185.177.72.51'),(16052,'1769685834','185.177.72.51'),(16053,'1769685835','185.177.72.51'),(16054,'1769685836','185.177.72.51'),(16055,'1769685837','185.177.72.51'),(16056,'1769685838','185.177.72.51'),(16057,'1769685839','185.177.72.51'),(16058,'1769685839','185.177.72.51'),(16059,'1769685840','185.177.72.51'),(16060,'1769685841','185.177.72.51'),(16061,'1769685842','185.177.72.51'),(16062,'1769685843','185.177.72.51'),(16063,'1769685844','185.177.72.51'),(16064,'1769685845','185.177.72.51'),(16065,'1769685846','185.177.72.51'),(16066,'1769685847','185.177.72.51'),(16067,'1769685848','185.177.72.51'),(16068,'1769685849','185.177.72.51'),(16069,'1769685849','185.177.72.51'),(16070,'1769685850','185.177.72.51'),(16071,'1769685851','185.177.72.51'),(16072,'1769685852','185.177.72.51'),(16073,'1769685853','185.177.72.51'),(16074,'1769685854','185.177.72.51'),(16075,'1769685855','185.177.72.51'),(16076,'1769685856','185.177.72.51'),(16077,'1769685856','185.177.72.51'),(16078,'1769685857','185.177.72.51'),(16079,'1769685859','185.177.72.51'),(16080,'1769685859','185.177.72.51'),(16081,'1769685860','185.177.72.51'),(16082,'1769685861','185.177.72.51'),(16083,'1769685862','185.177.72.51'),(16084,'1769685863','185.177.72.51'),(16085,'1769685864','185.177.72.51'),(16086,'1769685865','185.177.72.51'),(16087,'1769685866','185.177.72.51'),(16088,'1769685867','185.177.72.51'),(16089,'1769685868','185.177.72.51'),(16090,'1769685869','185.177.72.51'),(16091,'1769685870','185.177.72.51'),(16092,'1769685870','185.177.72.51'),(16093,'1769685871','185.177.72.51'),(16094,'1769685872','185.177.72.51'),(16095,'1769685873','185.177.72.51'),(16096,'1769685874','185.177.72.51'),(16097,'1769685875','185.177.72.51'),(16098,'1769685876','185.177.72.51'),(16099,'1769685877','185.177.72.51'),(16100,'1769685878','185.177.72.51'),(16101,'1769685880','185.177.72.51'),(16102,'1769685881','185.177.72.51'),(16103,'1769685881','185.177.72.51'),(16104,'1769685882','185.177.72.51'),(16105,'1769685883','185.177.72.51'),(16106,'1769685884','185.177.72.51'),(16107,'1769685885','185.177.72.51'),(16108,'1769685886','185.177.72.51'),(16109,'1769685887','185.177.72.51'),(16110,'1769685888','185.177.72.51'),(16111,'1769685889','185.177.72.51'),(16112,'1769685890','185.177.72.51'),(16113,'1769685891','185.177.72.51'),(16114,'1769685892','185.177.72.51'),(16115,'1769685893','185.177.72.51'),(16116,'1769685893','185.177.72.51'),(16117,'1769685894','185.177.72.51'),(16118,'1769685895','185.177.72.51'),(16119,'1769685896','185.177.72.51'),(16120,'1769685897','185.177.72.51'),(16121,'1769685898','185.177.72.51'),(16122,'1769685899','185.177.72.51'),(16123,'1769685900','185.177.72.51'),(16124,'1769685900','185.177.72.51'),(16125,'1769685901','185.177.72.51'),(16126,'1769685902','185.177.72.51'),(16127,'1769685903','185.177.72.51'),(16128,'1769685904','185.177.72.51'),(16129,'1769685905','185.177.72.51'),(16130,'1769685906','185.177.72.51'),(16131,'1769685906','185.177.72.51'),(16132,'1769685908','185.177.72.51'),(16133,'1769685909','185.177.72.51'),(16134,'1769685909','185.177.72.51'),(16135,'1769685910','185.177.72.51'),(16136,'1769685911','185.177.72.51'),(16137,'1769685912','185.177.72.51'),(16138,'1769685913','185.177.72.51'),(16139,'1769685914','185.177.72.51'),(16140,'1769685915','185.177.72.51'),(16141,'1769685916','185.177.72.51'),(16142,'1769685918','185.177.72.51'),(16143,'1769685919','185.177.72.51'),(16144,'1769685923','185.177.72.51'),(16145,'1769685924','185.177.72.51'),(16146,'1769685925','185.177.72.51'),(16147,'1769685926','185.177.72.51'),(16148,'1769685926','185.177.72.51'),(16149,'1769685940','185.177.72.51'),(16150,'1769685941','185.177.72.51'),(16151,'1769685942','185.177.72.51'),(16152,'1769685943','185.177.72.51'),(16153,'1769685944','185.177.72.51'),(16154,'1769685945','185.177.72.51'),(16155,'1769685945','185.177.72.51'),(16156,'1769685946','185.177.72.51'),(16157,'1769685947','185.177.72.51'),(16158,'1769685948','185.177.72.51'),(16159,'1769685949','185.177.72.51'),(16160,'1769685950','185.177.72.51'),(16161,'1769685951','185.177.72.51'),(16162,'1769685952','185.177.72.51'),(16163,'1769685953','185.177.72.51'),(16164,'1769685953','185.177.72.51'),(16165,'1769685954','185.177.72.51'),(16166,'1769685957','185.177.72.51'),(16167,'1769685958','185.177.72.51'),(16168,'1769685959','185.177.72.51'),(16169,'1769685960','185.177.72.51'),(16170,'1769685961','185.177.72.51'),(16171,'1769685962','185.177.72.51'),(16172,'1769685963','185.177.72.51'),(16173,'1769685965','185.177.72.51'),(16174,'1769685966','185.177.72.51'),(16175,'1769685967','185.177.72.51'),(16176,'1769685968','185.177.72.51'),(16177,'1769685969','185.177.72.51'),(16178,'1769685970','185.177.72.51'),(16179,'1769685971','185.177.72.51'),(16180,'1769685973','185.177.72.51'),(16181,'1769685974','185.177.72.51'),(16182,'1769685976','185.177.72.51'),(16183,'1769685976','185.177.72.51'),(16184,'1769685977','185.177.72.51'),(16185,'1769685978','185.177.72.51'),(16186,'1769685979','185.177.72.51'),(16187,'1769685980','185.177.72.51'),(16188,'1769685981','185.177.72.51'),(16189,'1769685982','185.177.72.51'),(16190,'1769685983','185.177.72.51'),(16191,'1769685983','185.177.72.51'),(16192,'1769685987','185.177.72.51'),(16193,'1769685988','185.177.72.51'),(16194,'1769685989','185.177.72.51'),(16195,'1769685990','185.177.72.51'),(16196,'1769685997','185.177.72.51'),(16197,'1769685997','185.177.72.51'),(16198,'1769686000','185.177.72.51'),(16199,'1769686002','185.177.72.51'),(16200,'1769686003','185.177.72.51'),(16201,'1769686005','185.177.72.51'),(16202,'1769686011','185.177.72.51'),(16203,'1769686012','185.177.72.51'),(16204,'1769686013','185.177.72.51'),(16205,'1769686013','185.177.72.51'),(16206,'1769686014','185.177.72.51'),(16207,'1769686015','185.177.72.51'),(16208,'1769686016','185.177.72.51'),(16209,'1769686017','185.177.72.51'),(16210,'1769686018','185.177.72.51'),(16211,'1769686019','185.177.72.51'),(16212,'1769686020','185.177.72.51'),(16213,'1769686020','185.177.72.51'),(16214,'1769686021','185.177.72.51'),(16215,'1769686022','185.177.72.51'),(16216,'1769686024','185.177.72.51'),(16217,'1769686026','185.177.72.51'),(16218,'1769686027','185.177.72.51'),(16219,'1769686028','185.177.72.51'),(16220,'1769686029','185.177.72.51'),(16221,'1769686030','185.177.72.51'),(16222,'1769686031','185.177.72.51'),(16223,'1769686032','185.177.72.51'),(16224,'1769686033','185.177.72.51'),(16225,'1769686034','185.177.72.51'),(16226,'1769686035','185.177.72.51'),(16227,'1769686036','185.177.72.51'),(16228,'1769686036','185.177.72.51'),(16229,'1769686038','185.177.72.51'),(16230,'1769686038','185.177.72.51'),(16231,'1769686039','185.177.72.51'),(16232,'1769686040','185.177.72.51'),(16233,'1769686041','185.177.72.51'),(16234,'1769686042','185.177.72.51'),(16235,'1769686043','185.177.72.51'),(16236,'1769686044','185.177.72.51'),(16237,'1769686044','185.177.72.51'),(16238,'1769686045','185.177.72.51'),(16239,'1769686046','185.177.72.51'),(16240,'1769686048','185.177.72.51'),(16241,'1769686049','185.177.72.51'),(16242,'1769686050','185.177.72.51'),(16243,'1769686053','185.177.72.51'),(16244,'1769686054','185.177.72.51'),(16245,'1769686055','185.177.72.51'),(16246,'1769686055','185.177.72.51'),(16247,'1769686056','185.177.72.51'),(16248,'1769686057','185.177.72.51'),(16249,'1769686058','185.177.72.51'),(16250,'1769686059','185.177.72.51'),(16251,'1769686066','185.177.72.51'),(16252,'1769686067','185.177.72.51'),(16253,'1769686068','185.177.72.51'),(16254,'1769686068','185.177.72.51'),(16255,'1769686074','185.177.72.51'),(16256,'1769686075','185.177.72.51'),(16257,'1769686076','185.177.72.51'),(16258,'1769686077','185.177.72.51'),(16259,'1769686077','185.177.72.51'),(16260,'1769686078','185.177.72.51'),(16261,'1769686079','185.177.72.51'),(16262,'1769686080','185.177.72.51'),(16263,'1769686081','185.177.72.51'),(16264,'1769686082','185.177.72.51'),(16265,'1769686083','185.177.72.51'),(16266,'1769686084','185.177.72.51'),(16267,'1769686085','185.177.72.51'),(16268,'1769686085','185.177.72.51'),(16269,'1769686087','185.177.72.51'),(16270,'1769686088','185.177.72.51'),(16271,'1769686090','185.177.72.51'),(16272,'1769686092','185.177.72.51'),(16273,'1769686092','185.177.72.51'),(16274,'1769686094','185.177.72.51'),(16275,'1769686094','185.177.72.51'),(16276,'1769686095','185.177.72.51'),(16277,'1769686096','185.177.72.51'),(16278,'1769686097','185.177.72.51'),(16279,'1769686098','185.177.72.51'),(16280,'1769686099','185.177.72.51'),(16281,'1769686100','185.177.72.51'),(16282,'1769686101','185.177.72.51'),(16283,'1769686102','185.177.72.51'),(16284,'1769686102','185.177.72.51'),(16285,'1769686103','185.177.72.51'),(16286,'1769686104','185.177.72.51'),(16287,'1769686105','185.177.72.51'),(16288,'1769686106','185.177.72.51'),(16289,'1769686106','185.177.72.51'),(16290,'1769686107','185.177.72.51'),(16291,'1769686108','185.177.72.51'),(16292,'1769686109','185.177.72.51'),(16293,'1769697302','185.177.72.51'),(16294,'1769697302','67.222.45.11'),(16295,'1769697311','185.177.72.51'),(16296,'1769697319','185.177.72.51'),(16297,'1769697324','185.177.72.51'),(16298,'1769697326','185.177.72.51'),(16299,'1769697327','185.177.72.51'),(16300,'1769697328','185.177.72.51'),(16301,'1769697329','185.177.72.51'),(16302,'1769697330','185.177.72.51'),(16303,'1769697331','185.177.72.51'),(16304,'1769697332','185.177.72.51'),(16305,'1769697333','185.177.72.51'),(16306,'1769697334','185.177.72.51'),(16307,'1769697336','185.177.72.51'),(16308,'1769697337','185.177.72.51'),(16309,'1769697338','185.177.72.51'),(16310,'1769697339','185.177.72.51'),(16311,'1769697340','185.177.72.51'),(16312,'1769697341','185.177.72.51'),(16313,'1769697342','185.177.72.51'),(16314,'1769697343','185.177.72.51'),(16315,'1769697345','185.177.72.51'),(16316,'1769697346','185.177.72.51'),(16317,'1769697346','185.177.72.51'),(16318,'1769697347','185.177.72.51'),(16319,'1769697348','185.177.72.51'),(16320,'1769697349','185.177.72.51'),(16321,'1769697350','185.177.72.51'),(16322,'1769697352','185.177.72.51'),(16323,'1769697353','185.177.72.51'),(16324,'1769697354','185.177.72.51'),(16325,'1769697355','185.177.72.51'),(16326,'1769697356','185.177.72.51'),(16327,'1769697357','185.177.72.51'),(16328,'1769697358','185.177.72.51'),(16329,'1769697359','185.177.72.51'),(16330,'1769697360','185.177.72.51'),(16331,'1769697361','185.177.72.51'),(16332,'1769697362','185.177.72.51'),(16333,'1769697363','185.177.72.51'),(16334,'1769697364','185.177.72.51'),(16335,'1769697365','185.177.72.51'),(16336,'1769697366','185.177.72.51'),(16337,'1769697367','185.177.72.51'),(16338,'1769697368','185.177.72.51'),(16339,'1769697369','185.177.72.51'),(16340,'1769697371','185.177.72.51'),(16341,'1769697372','185.177.72.51'),(16342,'1769697373','185.177.72.51'),(16343,'1769697374','185.177.72.51'),(16344,'1769697375','185.177.72.51'),(16345,'1769697376','185.177.72.51'),(16346,'1769697377','185.177.72.51'),(16347,'1769697378','185.177.72.51'),(16348,'1769697379','185.177.72.51'),(16349,'1769697380','185.177.72.51'),(16350,'1769697382','185.177.72.51'),(16351,'1769697383','185.177.72.51'),(16352,'1769697384','185.177.72.51'),(16353,'1769697386','185.177.72.51'),(16354,'1769697388','185.177.72.51'),(16355,'1769697390','185.177.72.51'),(16356,'1769697392','185.177.72.51'),(16357,'1769697393','185.177.72.51'),(16358,'1769697394','185.177.72.51'),(16359,'1769697403','185.177.72.51'),(16360,'1769697404','185.177.72.51'),(16361,'1769697405','185.177.72.51'),(16362,'1769697406','185.177.72.51'),(16363,'1769697407','185.177.72.51'),(16364,'1769697408','185.177.72.51'),(16365,'1769697409','185.177.72.51'),(16366,'1769697410','185.177.72.51'),(16367,'1769697411','185.177.72.51'),(16368,'1769697412','185.177.72.51'),(16369,'1769697414','185.177.72.51'),(16370,'1769697415','185.177.72.51'),(16371,'1769697420','185.177.72.51'),(16372,'1769697422','185.177.72.51'),(16373,'1769697426','185.177.72.51'),(16374,'1769697427','185.177.72.51'),(16375,'1769697428','185.177.72.51'),(16376,'1769697429','185.177.72.51'),(16377,'1769697430','185.177.72.51'),(16378,'1769697432','185.177.72.51'),(16379,'1769697433','185.177.72.51'),(16380,'1769697434','185.177.72.51'),(16381,'1769697435','185.177.72.51'),(16382,'1769697436','185.177.72.51'),(16383,'1769697438','185.177.72.51'),(16384,'1769697439','185.177.72.51'),(16385,'1769697440','185.177.72.51'),(16386,'1769697442','185.177.72.51'),(16387,'1769697443','185.177.72.51'),(16388,'1769697450','185.177.72.51'),(16389,'1769697451','185.177.72.51'),(16390,'1769697452','185.177.72.51'),(16391,'1769697453','185.177.72.51'),(16392,'1769697454','185.177.72.51'),(16393,'1769697455','185.177.72.51'),(16394,'1769697457','185.177.72.51'),(16395,'1769697458','185.177.72.51'),(16396,'1769697458','185.177.72.51'),(16397,'1769697460','185.177.72.51'),(16398,'1769697461','185.177.72.51'),(16399,'1769697462','185.177.72.51'),(16400,'1769697463','185.177.72.51'),(16401,'1769697467','185.177.72.51'),(16402,'1769697468','185.177.72.51'),(16403,'1769697469','185.177.72.51'),(16404,'1769697470','185.177.72.51'),(16405,'1769697472','185.177.72.51'),(16406,'1769697473','185.177.72.51'),(16407,'1769697474','185.177.72.51'),(16408,'1769697475','185.177.72.51'),(16409,'1769697476','185.177.72.51'),(16410,'1769697477','185.177.72.51'),(16411,'1769697478','185.177.72.51'),(16412,'1769697480','185.177.72.51'),(16413,'1769697481','185.177.72.51'),(16414,'1769697481','185.177.72.51'),(16415,'1769697482','185.177.72.51'),(16416,'1769697484','185.177.72.51'),(16417,'1769697485','185.177.72.51'),(16418,'1769697486','185.177.72.51'),(16419,'1769697486','185.177.72.51'),(16420,'1769697487','185.177.72.51'),(16421,'1769697488','185.177.72.51'),(16422,'1769697489','185.177.72.51'),(16423,'1769697491','185.177.72.51'),(16424,'1769697491','185.177.72.51'),(16425,'1769697492','185.177.72.51'),(16426,'1769697494','185.177.72.51'),(16427,'1769697495','185.177.72.51'),(16428,'1769697495','185.177.72.51'),(16429,'1769697496','185.177.72.51'),(16430,'1769697497','185.177.72.51'),(16431,'1769697498','185.177.72.51'),(16432,'1769697499','185.177.72.51'),(16433,'1769697500','185.177.72.51'),(16434,'1769697501','185.177.72.51'),(16435,'1769697503','185.177.72.51'),(16436,'1769697504','185.177.72.51'),(16437,'1769697505','185.177.72.51'),(16438,'1769697506','185.177.72.51'),(16439,'1769697507','185.177.72.51'),(16440,'1769697508','185.177.72.51'),(16441,'1769697509','185.177.72.51'),(16442,'1769697510','185.177.72.51'),(16443,'1769697511','185.177.72.51'),(16444,'1769697513','185.177.72.51'),(16445,'1769697513','185.177.72.51'),(16446,'1769697514','185.177.72.51'),(16447,'1769697515','185.177.72.51'),(16448,'1769697516','185.177.72.51'),(16449,'1769697517','185.177.72.51'),(16450,'1769697518','185.177.72.51'),(16451,'1769697521','185.177.72.51'),(16452,'1769697522','185.177.72.51'),(16453,'1769697523','185.177.72.51'),(16454,'1769697525','185.177.72.51'),(16455,'1769697526','185.177.72.51'),(16456,'1769697527','185.177.72.51'),(16457,'1769697528','185.177.72.51'),(16458,'1769697529','185.177.72.51'),(16459,'1769697530','185.177.72.51'),(16460,'1769697531','185.177.72.51'),(16461,'1769697531','185.177.72.51'),(16462,'1769697532','185.177.72.51'),(16463,'1769697533','185.177.72.51'),(16464,'1769697534','185.177.72.51'),(16465,'1769697535','185.177.72.51'),(16466,'1769697536','185.177.72.51'),(16467,'1769697537','185.177.72.51'),(16468,'1769697538','185.177.72.51'),(16469,'1769697539','185.177.72.51'),(16470,'1769697539','185.177.72.51'),(16471,'1769697540','185.177.72.51'),(16472,'1769697543','185.177.72.51'),(16473,'1769697544','185.177.72.51'),(16474,'1769697546','185.177.72.51'),(16475,'1769697546','185.177.72.51'),(16476,'1769697549','185.177.72.51'),(16477,'1769697555','185.177.72.51'),(16478,'1769697556','185.177.72.51'),(16479,'1769697557','185.177.72.51'),(16480,'1769697557','185.177.72.51'),(16481,'1769697558','185.177.72.51'),(16482,'1769697559','185.177.72.51'),(16483,'1769697560','185.177.72.51'),(16484,'1769697562','185.177.72.51'),(16485,'1769697563','185.177.72.51'),(16486,'1769697563','185.177.72.51'),(16487,'1769697565','185.177.72.51'),(16488,'1769697566','185.177.72.51'),(16489,'1769697567','185.177.72.51'),(16490,'1769697568','185.177.72.51'),(16491,'1769697569','185.177.72.51'),(16492,'1769697570','185.177.72.51'),(16493,'1769697571','185.177.72.51'),(16494,'1769697572','185.177.72.51'),(16495,'1769697574','185.177.72.51'),(16496,'1769697576','185.177.72.51'),(16497,'1769697577','185.177.72.51'),(16498,'1769697579','185.177.72.51'),(16499,'1769697580','185.177.72.51'),(16500,'1769697581','185.177.72.51'),(16501,'1769697582','185.177.72.51'),(16502,'1769697582','185.177.72.51'),(16503,'1769697583','185.177.72.51'),(16504,'1769697585','185.177.72.51'),(16505,'1769697585','185.177.72.51'),(16506,'1769697589','185.177.72.51'),(16507,'1769697590','185.177.72.51'),(16508,'1769697591','185.177.72.51'),(16509,'1769697592','185.177.72.51'),(16510,'1769697594','185.177.72.51'),(16511,'1769697597','185.177.72.51'),(16512,'1769697598','185.177.72.51'),(16513,'1769697599','185.177.72.51'),(16514,'1769697600','185.177.72.51'),(16515,'1769697600','185.177.72.51'),(16516,'1769697601','185.177.72.51'),(16517,'1769697603','185.177.72.51'),(16518,'1769697607','185.177.72.51'),(16519,'1769697610','185.177.72.51'),(16520,'1769697611','185.177.72.51'),(16521,'1769697612','185.177.72.51'),(16522,'1769697613','185.177.72.51'),(16523,'1769697614','185.177.72.51'),(16524,'1769697615','185.177.72.51'),(16525,'1769697616','185.177.72.51'),(16526,'1769697617','185.177.72.51'),(16527,'1769697618','185.177.72.51'),(16528,'1769697619','185.177.72.51'),(16529,'1769697619','185.177.72.51'),(16530,'1769697620','185.177.72.51'),(16531,'1769697621','185.177.72.51'),(16532,'1769697628','185.177.72.51'),(16533,'1769697630','185.177.72.51'),(16534,'1769697630','185.177.72.51'),(16535,'1769697631','185.177.72.51'),(16536,'1769697633','185.177.72.51'),(16537,'1769697634','185.177.72.51'),(16538,'1769697635','185.177.72.51'),(16539,'1769697638','185.177.72.51'),(16540,'1769697638','185.177.72.51'),(16541,'1769697640','185.177.72.51'),(16542,'1769697643','185.177.72.51'),(16543,'1769697644','185.177.72.51'),(16544,'1769697646','185.177.72.51'),(16545,'1769697651','185.177.72.51'),(16546,'1769697652','185.177.72.51'),(16547,'1769697653','185.177.72.51'),(16548,'1769697655','185.177.72.51'),(16549,'1769697664','185.177.72.51'),(16550,'1769697690','185.177.72.51'),(16551,'1769697691','185.177.72.51'),(16552,'1769697692','185.177.72.51'),(16553,'1769697693','185.177.72.51'),(16554,'1769697694','185.177.72.51'),(16555,'1769697695','185.177.72.51'),(16556,'1769697696','185.177.72.51'),(16557,'1769697697','185.177.72.51'),(16558,'1769697710','185.177.72.51'),(16559,'1769697711','185.177.72.51'),(16560,'1769697712','185.177.72.51'),(16561,'1769697713','185.177.72.51'),(16562,'1769697716','185.177.72.51'),(16563,'1769697717','185.177.72.51'),(16564,'1769697717','185.177.72.51'),(16565,'1769697718','185.177.72.51'),(16566,'1769697719','185.177.72.51'),(16567,'1769697720','185.177.72.51'),(16568,'1769697721','185.177.72.51'),(16569,'1769697725','185.177.72.51'),(16570,'1769697726','185.177.72.51'),(16571,'1769697728','185.177.72.51'),(16572,'1769697730','185.177.72.51'),(16573,'1769697731','34.58.10.148'),(16574,'1769697732','185.177.72.51'),(16575,'1769697733','185.177.72.51'),(16576,'1769697734','185.177.72.51'),(16577,'1769697735','185.177.72.51'),(16578,'1769697736','185.177.72.51'),(16579,'1769697737','185.177.72.51'),(16580,'1769697738','185.177.72.51'),(16581,'1769697739','185.177.72.51'),(16582,'1769697740','185.177.72.51'),(16583,'1769697741','185.177.72.51'),(16584,'1769697742','185.177.72.51'),(16585,'1769697743','185.177.72.51'),(16586,'1769697744','185.177.72.51'),(16587,'1769697745','185.177.72.51'),(16588,'1769697745','185.177.72.51'),(16589,'1769697746','185.177.72.51'),(16590,'1769697747','185.177.72.51'),(16591,'1769697748','185.177.72.51'),(16592,'1769697749','185.177.72.51'),(16593,'1769697750','185.177.72.51'),(16594,'1769697751','185.177.72.51'),(16595,'1769697752','185.177.72.51'),(16596,'1769697753','185.177.72.51'),(16597,'1769697757','185.177.72.51'),(16598,'1769697759','185.177.72.51'),(16599,'1769697762','185.177.72.51'),(16600,'1769697765','185.177.72.51'),(16601,'1769697766','185.177.72.51'),(16602,'1769697774','185.177.72.51'),(16603,'1769697776','185.177.72.51'),(16604,'1769697781','185.177.72.51'),(16605,'1769697782','185.177.72.51'),(16606,'1769697783','185.177.72.51'),(16607,'1769697790','185.177.72.51'),(16608,'1769697791','185.177.72.51'),(16609,'1769697792','185.177.72.51'),(16610,'1769697794','185.177.72.51'),(16611,'1769697801','185.177.72.51'),(16612,'1769697801','185.177.72.51'),(16613,'1769697804','185.177.72.51'),(16614,'1769697805','185.177.72.51'),(16615,'1769697806','185.177.72.51'),(16616,'1769697807','185.177.72.51'),(16617,'1769697809','185.177.72.51'),(16618,'1769697810','185.177.72.51'),(16619,'1769697811','185.177.72.51'),(16620,'1769697813','185.177.72.51'),(16621,'1769697814','185.177.72.51'),(16622,'1769697817','185.177.72.51'),(16623,'1769697824','185.177.72.51'),(16624,'1769697826','185.177.72.51'),(16625,'1769697826','185.177.72.51'),(16626,'1769697829','185.177.72.51'),(16627,'1769697829','185.177.72.51'),(16628,'1769697830','185.177.72.51'),(16629,'1769697831','185.177.72.51'),(16630,'1769697832','185.177.72.51'),(16631,'1769697833','185.177.72.51'),(16632,'1769697834','185.177.72.51'),(16633,'1769697834','185.177.72.51'),(16634,'1769697835','185.177.72.51'),(16635,'1769697836','185.177.72.51'),(16636,'1769697837','185.177.72.51'),(16637,'1769697838','185.177.72.51'),(16638,'1769697839','185.177.72.51'),(16639,'1769697841','185.177.72.51'),(16640,'1769697841','185.177.72.51'),(16641,'1769697843','185.177.72.51'),(16642,'1769697845','185.177.72.51'),(16643,'1769697848','185.177.72.51'),(16644,'1769697848','185.177.72.51'),(16645,'1769697850','185.177.72.51'),(16646,'1769697855','185.177.72.51'),(16647,'1769697868','185.177.72.51'),(16648,'1769697874','185.177.72.51'),(16649,'1769697879','185.177.72.51'),(16650,'1769697880','185.177.72.51'),(16651,'1769697881','185.177.72.51'),(16652,'1769697882','185.177.72.51'),(16653,'1769697883','185.177.72.51'),(16654,'1769697885','185.177.72.51'),(16655,'1769697885','185.177.72.51'),(16656,'1769697886','185.177.72.51'),(16657,'1769697890','185.177.72.51'),(16658,'1769697891','185.177.72.51'),(16659,'1769697892','185.177.72.51'),(16660,'1769697896','185.177.72.51'),(16661,'1769697897','185.177.72.51'),(16662,'1769697900','185.177.72.51'),(16663,'1769697903','185.177.72.51'),(16664,'1769697903','185.177.72.51'),(16665,'1769697904','185.177.72.51'),(16666,'1769697905','185.177.72.51'),(16667,'1769697906','185.177.72.51'),(16668,'1769697907','185.177.72.51'),(16669,'1769697908','185.177.72.51'),(16670,'1769697908','185.177.72.51'),(16671,'1769697909','185.177.72.51'),(16672,'1769697910','185.177.72.51'),(16673,'1769697911','185.177.72.51'),(16674,'1769697912','185.177.72.51'),(16675,'1769697913','185.177.72.51'),(16676,'1769697914','185.177.72.51'),(16677,'1769697915','185.177.72.51'),(16678,'1769697915','185.177.72.51'),(16679,'1769697916','185.177.72.51'),(16680,'1769697917','185.177.72.51'),(16681,'1769697918','185.177.72.51'),(16682,'1769697919','185.177.72.51'),(16683,'1769697920','185.177.72.51'),(16684,'1769697920','185.177.72.51'),(16685,'1769697921','185.177.72.51'),(16686,'1769697922','185.177.72.51'),(16687,'1769697923','185.177.72.51'),(16688,'1769697924','185.177.72.51'),(16689,'1769697925','185.177.72.51'),(16690,'1769697925','185.177.72.51'),(16691,'1769697926','185.177.72.51'),(16692,'1769697927','185.177.72.51'),(16693,'1769697928','185.177.72.51'),(16694,'1769697929','185.177.72.51'),(16695,'1769697930','185.177.72.51'),(16696,'1769697930','185.177.72.51'),(16697,'1769697931','185.177.72.51'),(16698,'1769697932','185.177.72.51'),(16699,'1769697933','185.177.72.51'),(16700,'1769697934','185.177.72.51'),(16701,'1769697935','185.177.72.51'),(16702,'1769697935','185.177.72.51'),(16703,'1769697936','185.177.72.51'),(16704,'1769697937','185.177.72.51'),(16705,'1769697938','185.177.72.51'),(16706,'1769697939','185.177.72.51'),(16707,'1769697940','185.177.72.51'),(16708,'1769697941','185.177.72.51'),(16709,'1769697942','185.177.72.51'),(16710,'1769697943','185.177.72.51'),(16711,'1769697944','185.177.72.51'),(16712,'1769697944','185.177.72.51'),(16713,'1769697946','185.177.72.51'),(16714,'1769697947','185.177.72.51'),(16715,'1769697947','185.177.72.51'),(16716,'1769697959','185.177.72.51'),(16717,'1769697960','185.177.72.51'),(16718,'1769697961','185.177.72.51'),(16719,'1769697962','185.177.72.51'),(16720,'1769697963','185.177.72.51'),(16721,'1769697963','185.177.72.51'),(16722,'1769697964','185.177.72.51'),(16723,'1769697965','185.177.72.51'),(16724,'1769697966','185.177.72.51'),(16725,'1769697967','185.177.72.51'),(16726,'1769697968','185.177.72.51'),(16727,'1769697969','185.177.72.51'),(16728,'1769697970','185.177.72.51'),(16729,'1769697970','185.177.72.51'),(16730,'1769697972','185.177.72.51'),(16731,'1769697973','185.177.72.51'),(16732,'1769697974','185.177.72.51'),(16733,'1769697975','185.177.72.51'),(16734,'1769697975','185.177.72.51'),(16735,'1769697976','185.177.72.51'),(16736,'1769697977','185.177.72.51'),(16737,'1769697978','185.177.72.51'),(16738,'1769697979','185.177.72.51'),(16739,'1769697981','185.177.72.51'),(16740,'1769697981','185.177.72.51'),(16741,'1769697982','185.177.72.51'),(16742,'1769697983','185.177.72.51'),(16743,'1769697984','185.177.72.51'),(16744,'1769697985','185.177.72.51'),(16745,'1769697986','185.177.72.51'),(16746,'1769697987','185.177.72.51'),(16747,'1769697987','185.177.72.51'),(16748,'1769697988','185.177.72.51'),(16749,'1769697989','185.177.72.51'),(16750,'1769697990','185.177.72.51'),(16751,'1769697991','185.177.72.51'),(16752,'1769697992','185.177.72.51'),(16753,'1769697992','185.177.72.51'),(16754,'1769697993','185.177.72.51'),(16755,'1769697994','185.177.72.51'),(16756,'1769697995','185.177.72.51'),(16757,'1769697996','185.177.72.51'),(16758,'1769697997','185.177.72.51'),(16759,'1769697998','185.177.72.51'),(16760,'1769697999','185.177.72.51'),(16761,'1769698000','185.177.72.51'),(16762,'1769698001','185.177.72.51'),(16763,'1769698002','185.177.72.51'),(16764,'1769698003','185.177.72.51'),(16765,'1769698004','185.177.72.51'),(16766,'1769698004','185.177.72.51'),(16767,'1769698005','185.177.72.51'),(16768,'1769698007','185.177.72.51'),(16769,'1769698008','185.177.72.51'),(16770,'1769698009','185.177.72.51'),(16771,'1769698010','185.177.72.51'),(16772,'1769698011','185.177.72.51'),(16773,'1769698016','185.177.72.51'),(16774,'1769698016','185.177.72.51'),(16775,'1769698017','185.177.72.51'),(16776,'1769698018','185.177.72.51'),(16777,'1769698019','185.177.72.51'),(16778,'1769698033','185.177.72.51'),(16779,'1769698034','185.177.72.51'),(16780,'1769698035','185.177.72.51'),(16781,'1769698036','185.177.72.51'),(16782,'1769698037','185.177.72.51'),(16783,'1769698038','185.177.72.51'),(16784,'1769698039','185.177.72.51'),(16785,'1769698040','185.177.72.51'),(16786,'1769698041','185.177.72.51'),(16787,'1769698042','185.177.72.51'),(16788,'1769698043','185.177.72.51'),(16789,'1769698047','185.177.72.51'),(16790,'1769698048','185.177.72.51'),(16791,'1769698049','185.177.72.51'),(16792,'1769698050','185.177.72.51'),(16793,'1769698051','185.177.72.51'),(16794,'1769704571','123.6.49.9'),(16795,'1769704572','67.222.45.11'),(16796,'1769704590','123.6.49.38'),(16797,'1769704592','123.6.49.38'),(16798,'1769704604','123.6.49.9'),(16799,'1769704702','123.6.49.41'),(16800,'1769704711','123.6.49.38'),(16801,'1769704714','123.6.49.17'),(16802,'1769710135','167.94.146.57'),(16803,'1769710135','67.222.45.11'),(16804,'1769713105','138.246.253.24'),(16805,'1769713105','67.222.45.11'),(16806,'1769713312','34.221.21.250'),(16807,'1769714299','69.5.7.182'),(16808,'1769714577','144.172.112.54'),(16809,'1769720035','164.90.146.10'),(16810,'1769720036','67.222.45.11'),(16811,'1769763078','45.139.104.168'),(16812,'1769763079','67.222.45.11'),(16813,'1769763095','45.139.104.168'),(16814,'1769763095','45.139.104.168'),(16815,'1769763095','45.139.104.168'),(16816,'1769763095','45.139.104.168'),(16817,'1769763095','45.139.104.168'),(16818,'1769763097','45.139.104.168'),(16819,'1769763097','45.139.104.168'),(16820,'1769763097','45.139.104.168'),(16821,'1769763116','45.139.104.168'),(16822,'1769763116','45.139.104.168'),(16823,'1769763116','45.139.104.168'),(16824,'1769763116','45.139.104.168'),(16825,'1769763116','45.139.104.168'),(16826,'1769763118','45.139.104.168'),(16827,'1769763118','45.139.104.168'),(16828,'1769763121','45.139.104.168'),(16829,'1769763139','45.139.104.168'),(16830,'1769763139','45.139.104.168'),(16831,'1769763139','45.139.104.168'),(16832,'1769763139','45.139.104.168'),(16833,'1769763139','45.139.104.168'),(16834,'1769763139','45.139.104.168'),(16835,'1769763139','45.139.104.168'),(16836,'1769763139','45.139.104.168'),(16837,'1769769633','74.7.244.12'),(16838,'1769769633','67.222.45.11'),(16839,'1769777705','52.4.193.97'),(16840,'1769777706','67.222.45.11'),(16841,'1769780234','52.4.193.97'),(16842,'1769780234','67.222.45.11'),(16843,'1769783230','206.81.24.74'),(16844,'1769783231','206.81.24.74'),(16845,'1769783232','206.81.24.74'),(16846,'1769783235','206.81.24.74'),(16847,'1769783236','206.81.24.74'),(16848,'1769783237','206.81.24.74'),(16849,'1769783238','206.81.24.74'),(16850,'1769783241','206.81.24.74'),(16851,'1769783243','206.81.24.74'),(16852,'1769783244','206.81.24.74'),(16853,'1769783244','206.81.24.74'),(16854,'1769783245','206.81.24.74'),(16855,'1769783246','206.81.24.74'),(16856,'1769783246','206.81.24.74'),(16857,'1769783247','206.81.24.74'),(16858,'1769783248','206.81.24.74'),(16859,'1769783250','206.81.24.74'),(16860,'1769783252','206.81.24.74'),(16861,'1769783254','206.81.24.74'),(16862,'1769783255','206.81.24.74'),(16863,'1769783256','206.81.24.74'),(16864,'1769783257','206.81.24.74'),(16865,'1769783258','206.81.24.74'),(16866,'1769783259','206.81.24.74'),(16867,'1769783260','206.81.24.74'),(16868,'1769783261','206.81.24.74'),(16869,'1769783262','206.81.24.74'),(16870,'1769783263','206.81.24.74'),(16871,'1769783264','206.81.24.74'),(16872,'1769783265','206.81.24.74'),(16873,'1769783266','206.81.24.74'),(16874,'1769783267','206.81.24.74'),(16875,'1769783575','15.237.119.0'),(16876,'1769837607','45.148.10.159'),(16877,'1769837608','67.222.45.11'),(16878,'1769837614','67.222.45.11'),(16879,'1769837614','67.222.45.11'),(16880,'1769837614','67.222.45.11'),(16881,'1769837614','67.222.45.11'),(16882,'1769837615','67.222.45.11'),(16883,'1769837618','45.148.10.159'),(16884,'1769837620','45.148.10.159'),(16885,'1769837621','45.148.10.159'),(16886,'1769837621','45.148.10.159'),(16887,'1769837636','45.148.10.159'),(16888,'1769837637','45.148.10.159'),(16889,'1769837638','45.148.10.159'),(16890,'1769837638','45.148.10.159'),(16891,'1769837638','45.148.10.159'),(16892,'1769837639','45.148.10.159'),(16893,'1769837649','45.148.10.159'),(16894,'1769837667','45.148.10.159'),(16895,'1769837681','45.148.10.159'),(16896,'1769837712','45.148.10.159'),(16897,'1769837713','67.222.45.11'),(16898,'1769837713','45.148.10.159'),(16899,'1769837725','45.148.10.159'),(16900,'1769837740','45.148.10.159'),(16901,'1769837781','45.148.10.159'),(16902,'1769837782','45.148.10.159'),(16903,'1769837869','45.148.10.159'),(16904,'1769837873','45.148.10.159'),(16905,'1769837874','45.148.10.159'),(16906,'1769837875','45.148.10.159'),(16907,'1769837882','45.148.10.159'),(16908,'1769837883','45.148.10.159'),(16909,'1769837886','45.148.10.159'),(16910,'1769837887','45.148.10.159'),(16911,'1769837889','45.148.10.159'),(16912,'1769837889','45.148.10.159'),(16913,'1769837890','45.148.10.159'),(16914,'1769837891','45.148.10.159'),(16915,'1769837893','45.148.10.159'),(16916,'1769837895','45.148.10.159'),(16917,'1769837896','45.148.10.159'),(16918,'1769837906','45.148.10.159'),(16919,'1769837917','45.148.10.159'),(16920,'1769837918','45.148.10.159'),(16921,'1769837919','45.148.10.159'),(16922,'1769843035','34.222.196.227'),(16923,'1769843035','67.222.45.11'),(16924,'1769882422','34.90.27.49'),(16925,'1769882423','67.222.45.11'),(16926,'1769885471','137.184.15.138'),(16927,'1769885472','67.222.45.11'),(16928,'1769971782','144.172.112.54'),(16929,'1769971783','67.222.45.11'),(16930,'1769971786','144.172.112.54'),(16931,'1770092000','178.128.44.75'),(16932,'1770092000','67.222.45.11'),(16933,'1770094347','81.29.142.100'),(16934,'1770094347','81.29.142.100'),(16935,'1770094347','67.222.45.11'),(16936,'1770136315','87.236.176.103'),(16937,'1770136316','67.222.45.11'),(16938,'1770142255','185.247.137.172'),(16939,'1770142255','67.222.45.11'),(16940,'1770149338','81.29.142.100'),(16941,'1770149339','67.222.45.11'),(16942,'1770165058','67.210.97.28'),(16943,'1770165058','67.222.45.11'),(16944,'1770197540','34.206.74.121'),(16945,'1770197541','67.222.45.11'),(16946,'1770231590','81.29.142.100'),(16947,'1770231591','67.222.45.11'),(16948,'1770308036','81.29.142.100'),(16949,'1770308037','67.222.45.11'),(16950,'1770330744','138.246.253.24'),(16951,'1770330745','67.222.45.11'),(16952,'1770348265','195.178.110.31'),(16953,'1770348266','67.222.45.11'),(16954,'1770353163','167.94.146.58'),(16955,'1770353164','67.222.45.11'),(16956,'1770366487','74.7.175.145'),(16957,'1770366488','67.222.45.11'),(16958,'1770370951','81.29.142.100'),(16959,'1770370952','67.222.45.11'),(16960,'1770372552','35.187.55.145'),(16961,'1770383460','3.230.41.50'),(16962,'1770383461','67.222.45.11'),(16963,'1770388651','167.94.138.187'),(16964,'1770388651','67.222.45.11'),(16965,'1770423406','195.178.110.132'),(16966,'1770423406','67.222.45.11'),(16967,'1770423407','195.178.110.132'),(16968,'1770423407','195.178.110.132'),(16969,'1770423408','195.178.110.132'),(16970,'1770423409','195.178.110.132'),(16971,'1770423422','195.178.110.132'),(16972,'1770423423','195.178.110.132'),(16973,'1770423423','195.178.110.132'),(16974,'1770428631','195.178.110.54'),(16975,'1770428631','67.222.45.11'),(16976,'1770428634','67.222.45.11'),(16977,'1770428634','67.222.45.11'),(16978,'1770428635','67.222.45.11'),(16979,'1770428635','67.222.45.11'),(16980,'1770428635','67.222.45.11'),(16981,'1770428645','195.178.110.54'),(16982,'1770428645','195.178.110.54'),(16983,'1770428645','195.178.110.54'),(16984,'1770428645','195.178.110.54'),(16985,'1770428645','195.178.110.54'),(16986,'1770428646','195.178.110.54'),(16987,'1770428648','195.178.110.54'),(16988,'1770428649','195.178.110.54'),(16989,'1770435192','45.148.10.238'),(16990,'1770435192','67.222.45.11'),(16991,'1770447444','185.177.72.52'),(16992,'1770447445','67.222.45.11'),(16993,'1770447452','185.177.72.52'),(16994,'1770447458','185.177.72.52'),(16995,'1770447463','185.177.72.52'),(16996,'1770447464','185.177.72.52'),(16997,'1770447465','185.177.72.52'),(16998,'1770447466','185.177.72.52'),(16999,'1770447467','185.177.72.52'),(17000,'1770447468','185.177.72.52'),(17001,'1770447469','185.177.72.52'),(17002,'1770447469','185.177.72.52'),(17003,'1770447470','185.177.72.52'),(17004,'1770447471','185.177.72.52'),(17005,'1770447472','185.177.72.52'),(17006,'1770447473','185.177.72.52'),(17007,'1770447474','185.177.72.52'),(17008,'1770447475','185.177.72.52'),(17009,'1770447476','185.177.72.52'),(17010,'1770447477','185.177.72.52'),(17011,'1770447478','185.177.72.52'),(17012,'1770447479','185.177.72.52'),(17013,'1770447481','185.177.72.52'),(17014,'1770447482','185.177.72.52'),(17015,'1770447483','185.177.72.52'),(17016,'1770447484','185.177.72.52'),(17017,'1770447485','185.177.72.52'),(17018,'1770447486','185.177.72.52'),(17019,'1770447487','185.177.72.52'),(17020,'1770447488','185.177.72.52'),(17021,'1770447488','185.177.72.52'),(17022,'1770447489','185.177.72.52'),(17023,'1770447490','185.177.72.52'),(17024,'1770447492','185.177.72.52'),(17025,'1770447493','185.177.72.52'),(17026,'1770447494','185.177.72.52'),(17027,'1770447495','185.177.72.52'),(17028,'1770447496','185.177.72.52'),(17029,'1770447497','185.177.72.52'),(17030,'1770447498','185.177.72.52'),(17031,'1770447499','185.177.72.52'),(17032,'1770447500','185.177.72.52'),(17033,'1770447501','185.177.72.52'),(17034,'1770447502','185.177.72.52'),(17035,'1770447502','185.177.72.52'),(17036,'1770447503','185.177.72.52'),(17037,'1770447504','185.177.72.52'),(17038,'1770447505','185.177.72.52'),(17039,'1770447506','185.177.72.52'),(17040,'1770447507','185.177.72.52'),(17041,'1770447508','185.177.72.52'),(17042,'1770447509','185.177.72.52'),(17043,'1770447510','185.177.72.52'),(17044,'1770447511','185.177.72.52'),(17045,'1770447512','185.177.72.52'),(17046,'1770447513','185.177.72.52'),(17047,'1770447515','185.177.72.52'),(17048,'1770447516','185.177.72.52'),(17049,'1770447517','185.177.72.52'),(17050,'1770447518','185.177.72.52'),(17051,'1770447519','185.177.72.52'),(17052,'1770447522','185.177.72.52'),(17053,'1770447524','185.177.72.52'),(17054,'1770447525','185.177.72.52'),(17055,'1770447526','185.177.72.52'),(17056,'1770447527','185.177.72.52'),(17057,'1770447535','185.177.72.52'),(17058,'1770447536','185.177.72.52'),(17059,'1770447537','185.177.72.52'),(17060,'1770447538','185.177.72.52'),(17061,'1770447539','185.177.72.52'),(17062,'1770447540','185.177.72.52'),(17063,'1770447540','185.177.72.52'),(17064,'1770447541','185.177.72.52'),(17065,'1770447542','185.177.72.52'),(17066,'1770447543','185.177.72.52'),(17067,'1770447545','185.177.72.52'),(17068,'1770447546','185.177.72.52'),(17069,'1770447551','185.177.72.52'),(17070,'1770447552','185.177.72.52'),(17071,'1770447556','185.177.72.52'),(17072,'1770447558','185.177.72.52'),(17073,'1770447559','185.177.72.52'),(17074,'1770447559','185.177.72.52'),(17075,'1770447560','185.177.72.52'),(17076,'1770447561','185.177.72.52'),(17077,'1770447562','185.177.72.52'),(17078,'1770447564','185.177.72.52'),(17079,'1770447564','185.177.72.52'),(17080,'1770447565','185.177.72.52'),(17081,'1770447567','185.177.72.52'),(17082,'1770447568','185.177.72.52'),(17083,'1770447569','185.177.72.52'),(17084,'1770447571','185.177.72.52'),(17085,'1770447572','185.177.72.52'),(17086,'1770447578','185.177.72.52'),(17087,'1770447579','185.177.72.52'),(17088,'1770447580','185.177.72.52'),(17089,'1770447581','185.177.72.52'),(17090,'1770447582','185.177.72.52'),(17091,'1770447583','185.177.72.52'),(17092,'1770447585','185.177.72.52'),(17093,'1770447586','185.177.72.52'),(17094,'1770447587','185.177.72.52'),(17095,'1770447588','185.177.72.52'),(17096,'1770447588','185.177.72.52'),(17097,'1770447590','185.177.72.52'),(17098,'1770447592','185.177.72.52'),(17099,'1770447596','185.177.72.52'),(17100,'1770447597','185.177.72.52'),(17101,'1770447598','185.177.72.52'),(17102,'1770447599','185.177.72.52'),(17103,'1770447600','185.177.72.52'),(17104,'1770447601','185.177.72.52'),(17105,'1770447603','185.177.72.52'),(17106,'1770447604','185.177.72.52'),(17107,'1770447605','185.177.72.52'),(17108,'1770447607','185.177.72.52'),(17109,'1770447608','185.177.72.52'),(17110,'1770447609','185.177.72.52'),(17111,'1770447610','185.177.72.52'),(17112,'1770447611','185.177.72.52'),(17113,'1770447612','185.177.72.52'),(17114,'1770447613','185.177.72.52'),(17115,'1770447614','185.177.72.52'),(17116,'1770447615','185.177.72.52'),(17117,'1770447616','185.177.72.52'),(17118,'1770447617','185.177.72.52'),(17119,'1770447618','185.177.72.52'),(17120,'1770447619','185.177.72.52'),(17121,'1770447621','185.177.72.52'),(17122,'1770447622','185.177.72.52'),(17123,'1770447623','185.177.72.52'),(17124,'1770447624','185.177.72.52'),(17125,'1770447625','185.177.72.52'),(17126,'1770447626','185.177.72.52'),(17127,'1770447627','185.177.72.52'),(17128,'1770447628','185.177.72.52'),(17129,'1770447629','185.177.72.52'),(17130,'1770447630','185.177.72.52'),(17131,'1770447632','185.177.72.52'),(17132,'1770447633','185.177.72.52'),(17133,'1770447634','185.177.72.52'),(17134,'1770447636','185.177.72.52'),(17135,'1770447637','185.177.72.52'),(17136,'1770447638','185.177.72.52'),(17137,'1770447639','185.177.72.52'),(17138,'1770447640','185.177.72.52'),(17139,'1770447642','185.177.72.52'),(17140,'1770447643','185.177.72.52'),(17141,'1770447644','185.177.72.52'),(17142,'1770447645','185.177.72.52'),(17143,'1770447646','185.177.72.52'),(17144,'1770447647','185.177.72.52'),(17145,'1770447648','185.177.72.52'),(17146,'1770447650','185.177.72.52'),(17147,'1770447651','185.177.72.52'),(17148,'1770447652','185.177.72.52'),(17149,'1770447656','185.177.72.52'),(17150,'1770447657','185.177.72.52'),(17151,'1770447658','185.177.72.52'),(17152,'1770447660','185.177.72.52'),(17153,'1770447661','185.177.72.52'),(17154,'1770447663','185.177.72.52'),(17155,'1770447664','185.177.72.52'),(17156,'1770447665','185.177.72.52'),(17157,'1770447666','185.177.72.52'),(17158,'1770447667','185.177.72.52'),(17159,'1770447668','185.177.72.52'),(17160,'1770447669','185.177.72.52'),(17161,'1770447670','185.177.72.52'),(17162,'1770447671','185.177.72.52'),(17163,'1770447672','185.177.72.52'),(17164,'1770447673','185.177.72.52'),(17165,'1770447674','185.177.72.52'),(17166,'1770447675','185.177.72.52'),(17167,'1770447676','185.177.72.52'),(17168,'1770447677','185.177.72.52'),(17169,'1770447678','185.177.72.52'),(17170,'1770447681','185.177.72.52'),(17171,'1770447683','185.177.72.52'),(17172,'1770447685','185.177.72.52'),(17173,'1770447686','185.177.72.52'),(17174,'1770447690','185.177.72.52'),(17175,'1770447697','185.177.72.52'),(17176,'1770447698','185.177.72.52'),(17177,'1770447699','185.177.72.52'),(17178,'1770447701','185.177.72.52'),(17179,'1770447702','185.177.72.52'),(17180,'1770447703','185.177.72.52'),(17181,'1770447704','185.177.72.52'),(17182,'1770447706','185.177.72.52'),(17183,'1770447707','185.177.72.52'),(17184,'1770447708','185.177.72.52'),(17185,'1770447710','185.177.72.52'),(17186,'1770447712','185.177.72.52'),(17187,'1770447713','185.177.72.52'),(17188,'1770447715','185.177.72.52'),(17189,'1770447716','185.177.72.52'),(17190,'1770447717','185.177.72.52'),(17191,'1770447718','185.177.72.52'),(17192,'1770447720','185.177.72.52'),(17193,'1770447722','185.177.72.52'),(17194,'1770447726','185.177.72.52'),(17195,'1770447727','185.177.72.52'),(17196,'1770447730','185.177.72.52'),(17197,'1770447731','185.177.72.52'),(17198,'1770447732','185.177.72.52'),(17199,'1770447733','185.177.72.52'),(17200,'1770447734','185.177.72.52'),(17201,'1770447735','185.177.72.52'),(17202,'1770447737','185.177.72.52'),(17203,'1770447738','185.177.72.52'),(17204,'1770447743','185.177.72.52'),(17205,'1770447744','185.177.72.52'),(17206,'1770447746','185.177.72.52'),(17207,'1770447747','185.177.72.52'),(17208,'1770447788','185.177.72.52'),(17209,'1770447791','185.177.72.52'),(17210,'1770447792','185.177.72.52'),(17211,'1770447793','185.177.72.52'),(17212,'1770447795','185.177.72.52'),(17213,'1770447796','185.177.72.52'),(17214,'1770447797','185.177.72.52'),(17215,'1770447799','185.177.72.52'),(17216,'1770447804','185.177.72.52'),(17217,'1770447809','185.177.72.52'),(17218,'1770447810','185.177.72.52'),(17219,'1770447811','185.177.72.52'),(17220,'1770447812','185.177.72.52'),(17221,'1770447813','185.177.72.52'),(17222,'1770447814','185.177.72.52'),(17223,'1770447816','185.177.72.52'),(17224,'1770447817','185.177.72.52'),(17225,'1770447818','185.177.72.52'),(17226,'1770447820','185.177.72.52'),(17227,'1770447821','185.177.72.52'),(17228,'1770447822','185.177.72.52'),(17229,'1770447823','185.177.72.52'),(17230,'1770447833','185.177.72.52'),(17231,'1770447835','185.177.72.52'),(17232,'1770447836','185.177.72.52'),(17233,'1770447837','185.177.72.52'),(17234,'1770447839','185.177.72.52'),(17235,'1770447840','185.177.72.52'),(17236,'1770447841','185.177.72.52'),(17237,'1770447845','185.177.72.52'),(17238,'1770447846','185.177.72.52'),(17239,'1770447848','185.177.72.52'),(17240,'1770447852','185.177.72.52'),(17241,'1770447853','185.177.72.52'),(17242,'1770447855','185.177.72.52'),(17243,'1770447862','185.177.72.52'),(17244,'1770447864','185.177.72.52'),(17245,'1770447865','185.177.72.52'),(17246,'1770447868','185.177.72.52'),(17247,'1770447881','185.177.72.52'),(17248,'1770447887','185.177.72.52'),(17249,'1770447889','185.177.72.52'),(17250,'1770447891','185.177.72.52'),(17251,'1770447892','185.177.72.52'),(17252,'1770447893','185.177.72.52'),(17253,'1770447895','185.177.72.52'),(17254,'1770447896','185.177.72.52'),(17255,'1770447898','185.177.72.52'),(17256,'1770447916','185.177.72.52'),(17257,'1770447917','185.177.72.52'),(17258,'1770447918','185.177.72.52'),(17259,'1770447920','185.177.72.52'),(17260,'1770447923','185.177.72.52'),(17261,'1770447924','185.177.72.52'),(17262,'1770447925','185.177.72.52'),(17263,'1770447926','185.177.72.52'),(17264,'1770447927','185.177.72.52'),(17265,'1770447928','185.177.72.52'),(17266,'1770447929','185.177.72.52'),(17267,'1770447935','185.177.72.52'),(17268,'1770447936','185.177.72.52'),(17269,'1770447938','185.177.72.52'),(17270,'1770447942','185.177.72.52'),(17271,'1770447944','185.177.72.52'),(17272,'1770447945','185.177.72.52'),(17273,'1770447946','185.177.72.52'),(17274,'1770447948','185.177.72.52'),(17275,'1770447949','185.177.72.52'),(17276,'1770447950','185.177.72.52'),(17277,'1770447951','185.177.72.52'),(17278,'1770447953','185.177.72.52'),(17279,'1770447954','185.177.72.52'),(17280,'1770447955','185.177.72.52'),(17281,'1770447956','185.177.72.52'),(17282,'1770447958','185.177.72.52'),(17283,'1770447959','185.177.72.52'),(17284,'1770447960','185.177.72.52'),(17285,'1770447961','185.177.72.52'),(17286,'1770447962','185.177.72.52'),(17287,'1770447963','185.177.72.52'),(17288,'1770447964','185.177.72.52'),(17289,'1770447965','185.177.72.52'),(17290,'1770447966','185.177.72.52'),(17291,'1770447968','185.177.72.52'),(17292,'1770447970','185.177.72.52'),(17293,'1770447971','185.177.72.52'),(17294,'1770447977','185.177.72.52'),(17295,'1770447978','185.177.72.52'),(17296,'1770447982','185.177.72.52'),(17297,'1770447986','185.177.72.52'),(17298,'1770447988','185.177.72.52'),(17299,'1770447998','185.177.72.52'),(17300,'1770448000','185.177.72.52'),(17301,'1770448007','185.177.72.52'),(17302,'1770448008','185.177.72.52'),(17303,'1770448009','185.177.72.52'),(17304,'1770448022','185.177.72.52'),(17305,'1770448024','185.177.72.52'),(17306,'1770448025','185.177.72.52'),(17307,'1770448028','185.177.72.52'),(17308,'1770448037','185.177.72.52'),(17309,'1770448037','185.177.72.52'),(17310,'1770448041','185.177.72.52'),(17311,'1770448042','185.177.72.52'),(17312,'1770448044','185.177.72.52'),(17313,'1770448045','185.177.72.52'),(17314,'1770448046','185.177.72.52'),(17315,'1770448048','185.177.72.52'),(17316,'1770448050','185.177.72.52'),(17317,'1770448051','185.177.72.52'),(17318,'1770448052','185.177.72.52'),(17319,'1770448057','185.177.72.52'),(17320,'1770448065','185.177.72.52'),(17321,'1770448067','185.177.72.52'),(17322,'1770448068','185.177.72.52'),(17323,'1770448070','185.177.72.52'),(17324,'1770448071','185.177.72.52'),(17325,'1770448072','185.177.72.52'),(17326,'1770448073','185.177.72.52'),(17327,'1770448074','185.177.72.52'),(17328,'1770448075','185.177.72.52'),(17329,'1770448076','185.177.72.52'),(17330,'1770448077','185.177.72.52'),(17331,'1770448078','185.177.72.52'),(17332,'1770448079','185.177.72.52'),(17333,'1770448080','185.177.72.52'),(17334,'1770448080','185.177.72.52'),(17335,'1770448081','185.177.72.52'),(17336,'1770448084','185.177.72.52'),(17337,'1770448085','185.177.72.52'),(17338,'1770448086','185.177.72.52'),(17339,'1770448088','185.177.72.52'),(17340,'1770448091','185.177.72.52'),(17341,'1770448093','185.177.72.52'),(17342,'1770448094','185.177.72.52'),(17343,'1770448099','185.177.72.52'),(17344,'1770448115','185.177.72.52'),(17345,'1770448122','185.177.72.52'),(17346,'1770448128','185.177.72.52'),(17347,'1770448129','185.177.72.52'),(17348,'1770448131','185.177.72.52'),(17349,'1770448132','185.177.72.52'),(17350,'1770448133','185.177.72.52'),(17351,'1770448135','185.177.72.52'),(17352,'1770448136','185.177.72.52'),(17353,'1770448137','185.177.72.52'),(17354,'1770448141','185.177.72.52'),(17355,'1770448142','185.177.72.52'),(17356,'1770448143','185.177.72.52'),(17357,'1770448148','185.177.72.52'),(17358,'1770448150','185.177.72.52'),(17359,'1770448155','185.177.72.52'),(17360,'1770448160','185.177.72.52'),(17361,'1770448166','185.177.72.52'),(17362,'1770448167','185.177.72.52'),(17363,'1770448168','185.177.72.52'),(17364,'1770448169','185.177.72.52'),(17365,'1770448170','185.177.72.52'),(17366,'1770448171','185.177.72.52'),(17367,'1770448172','185.177.72.52'),(17368,'1770448173','185.177.72.52'),(17369,'1770448173','185.177.72.52'),(17370,'1770448175','185.177.72.52'),(17371,'1770448176','185.177.72.52'),(17372,'1770448177','185.177.72.52'),(17373,'1770448178','185.177.72.52'),(17374,'1770448179','185.177.72.52'),(17375,'1770448180','185.177.72.52'),(17376,'1770448181','185.177.72.52'),(17377,'1770448182','185.177.72.52'),(17378,'1770448183','185.177.72.52'),(17379,'1770448184','185.177.72.52'),(17380,'1770448185','185.177.72.52'),(17381,'1770448186','185.177.72.52'),(17382,'1770448187','185.177.72.52'),(17383,'1770448188','185.177.72.52'),(17384,'1770448188','185.177.72.52'),(17385,'1770448189','185.177.72.52'),(17386,'1770448191','185.177.72.52'),(17387,'1770448192','185.177.72.52'),(17388,'1770448193','185.177.72.52'),(17389,'1770448194','185.177.72.52'),(17390,'1770448194','185.177.72.52'),(17391,'1770448195','185.177.72.52'),(17392,'1770448196','185.177.72.52'),(17393,'1770448197','185.177.72.52'),(17394,'1770448198','185.177.72.52'),(17395,'1770448199','185.177.72.52'),(17396,'1770448200','185.177.72.52'),(17397,'1770448201','185.177.72.52'),(17398,'1770448202','185.177.72.52'),(17399,'1770448203','185.177.72.52'),(17400,'1770448204','185.177.72.52'),(17401,'1770448205','185.177.72.52'),(17402,'1770448206','185.177.72.52'),(17403,'1770448207','185.177.72.52'),(17404,'1770448208','185.177.72.52'),(17405,'1770448210','185.177.72.52'),(17406,'1770448211','185.177.72.52'),(17407,'1770448211','185.177.72.52'),(17408,'1770448212','185.177.72.52'),(17409,'1770448213','185.177.72.52'),(17410,'1770448215','185.177.72.52'),(17411,'1770448216','185.177.72.52'),(17412,'1770448217','185.177.72.52'),(17413,'1770448218','185.177.72.52'),(17414,'1770448219','185.177.72.52'),(17415,'1770448220','185.177.72.52'),(17416,'1770448221','185.177.72.52'),(17417,'1770448222','185.177.72.52'),(17418,'1770448223','185.177.72.52'),(17419,'1770448224','185.177.72.52'),(17420,'1770448225','185.177.72.52'),(17421,'1770448226','185.177.72.52'),(17422,'1770448227','185.177.72.52'),(17423,'1770448228','185.177.72.52'),(17424,'1770448229','185.177.72.52'),(17425,'1770448230','185.177.72.52'),(17426,'1770448231','185.177.72.52'),(17427,'1770448233','185.177.72.52'),(17428,'1770448234','185.177.72.52'),(17429,'1770448235','185.177.72.52'),(17430,'1770448236','185.177.72.52'),(17431,'1770448237','185.177.72.52'),(17432,'1770448238','185.177.72.52'),(17433,'1770448239','185.177.72.52'),(17434,'1770448240','185.177.72.52'),(17435,'1770448240','185.177.72.52'),(17436,'1770448242','185.177.72.52'),(17437,'1770448243','185.177.72.52'),(17438,'1770448244','185.177.72.52'),(17439,'1770448245','185.177.72.52'),(17440,'1770448246','185.177.72.52'),(17441,'1770448247','185.177.72.52'),(17442,'1770448248','185.177.72.52'),(17443,'1770448249','185.177.72.52'),(17444,'1770448250','185.177.72.52'),(17445,'1770448251','185.177.72.52'),(17446,'1770448252','185.177.72.52'),(17447,'1770448253','185.177.72.52'),(17448,'1770448254','185.177.72.52'),(17449,'1770448255','185.177.72.52'),(17450,'1770448256','185.177.72.52'),(17451,'1770448257','185.177.72.52'),(17452,'1770448258','185.177.72.52'),(17453,'1770448259','185.177.72.52'),(17454,'1770448260','185.177.72.52'),(17455,'1770448262','185.177.72.52'),(17456,'1770448263','185.177.72.52'),(17457,'1770448264','185.177.72.52'),(17458,'1770448265','185.177.72.52'),(17459,'1770448266','185.177.72.52'),(17460,'1770448267','185.177.72.52'),(17461,'1770448268','185.177.72.52'),(17462,'1770448269','185.177.72.52'),(17463,'1770448270','185.177.72.52'),(17464,'1770448271','185.177.72.52'),(17465,'1770448273','185.177.72.52'),(17466,'1770448274','185.177.72.52'),(17467,'1770448274','185.177.72.52'),(17468,'1770448276','185.177.72.52'),(17469,'1770477260','107.172.58.36'),(17470,'1770477260','67.222.45.11'),(17471,'1770506480','23.180.120.131'),(17472,'1770506481','67.222.45.11'),(17473,'1770535133','20.151.2.11'),(17474,'1770535134','67.222.45.11'),(17475,'1770536203','34.31.2.100'),(17476,'1770536203','67.222.45.11'),(17477,'1770558849','34.67.220.62'),(17478,'1770558849','67.222.45.11'),(17479,'1770578128','40.115.138.121'),(17480,'1770578128','67.222.45.11'),(17481,'1770578131','40.115.138.121'),(17482,'1770578133','40.115.138.121'),(17483,'1770578143','40.115.138.121'),(17484,'1770578143','40.115.138.121'),(17485,'1770578147','40.115.138.121'),(17486,'1770613862','74.7.241.148'),(17487,'1770613863','67.222.45.11'),(17488,'1770615769','35.172.9.70'),(17489,'1770615769','67.222.45.11'),(17490,'1770627017','198.235.24.143'),(17491,'1770627018','67.222.45.11'),(17492,'1770649290','199.45.155.98'),(17493,'1770649290','67.222.45.11'),(17494,'1770659914','74.7.241.148'),(17495,'1770659915','67.222.45.11'),(17496,'1770708364','159.89.198.10'),(17497,'1770708364','67.222.45.11'),(17498,'1770737756','20.78.169.245'),(17499,'1770737756','67.222.45.11'),(17500,'1770737758','20.78.169.245'),(17501,'1770737761','20.78.169.245'),(17502,'1770737772','20.78.169.245'),(17503,'1770737773','20.78.169.245'),(17504,'1770737777','20.78.169.245'),(17505,'1770745206','34.16.45.238'),(17506,'1770745207','67.222.45.11'),(17507,'1770783347','74.7.175.190'),(17508,'1770783347','67.222.45.11'),(17509,'1770841163','74.7.175.190'),(17510,'1770841163','67.222.45.11'),(17511,'1770861865','44.252.57.45'),(17512,'1770861866','67.222.45.11'),(17513,'1770872950','45.148.10.160'),(17514,'1770872951','67.222.45.11'),(17515,'1770872953','45.148.10.160'),(17516,'1770872954','45.148.10.160'),(17517,'1770872958','45.148.10.160'),(17518,'1770872960','45.148.10.160'),(17519,'1770872960','45.148.10.160'),(17520,'1770872965','45.148.10.160'),(17521,'1770872966','45.148.10.160'),(17522,'1770872966','45.148.10.160'),(17523,'1770872970','45.148.10.160'),(17524,'1770872972','45.148.10.160'),(17525,'1770872973','45.148.10.160'),(17526,'1770872978','45.148.10.160'),(17527,'1770872978','45.148.10.160'),(17528,'1770872979','45.148.10.160'),(17529,'1770872982','45.148.10.160'),(17530,'1770872985','45.148.10.160'),(17531,'1770872985','45.148.10.160'),(17532,'1770872993','45.148.10.160'),(17533,'1770872995','45.148.10.160'),(17534,'1770873021','45.148.10.160'),(17535,'1770873026','45.148.10.160'),(17536,'1770873028','45.148.10.160'),(17537,'1770873028','45.148.10.160'),(17538,'1770873031','45.148.10.160'),(17539,'1770873041','45.148.10.160'),(17540,'1770873042','45.148.10.160'),(17541,'1770873158','45.148.10.160'),(17542,'1770873160','45.148.10.160'),(17543,'1770873162','45.148.10.160'),(17544,'1770873168','45.148.10.160'),(17545,'1770873170','45.148.10.160'),(17546,'1770873171','45.148.10.160'),(17547,'1770873174','45.148.10.160'),(17548,'1770873175','45.148.10.160'),(17549,'1770873176','45.148.10.160'),(17550,'1770873178','45.148.10.160'),(17551,'1770873179','45.148.10.160'),(17552,'1770873190','45.148.10.160'),(17553,'1770873191','45.148.10.160'),(17554,'1770873192','45.148.10.160'),(17555,'1770873199','45.148.10.160'),(17556,'1770873215','45.148.10.160'),(17557,'1770873216','45.148.10.160'),(17558,'1770873218','45.148.10.160'),(17559,'1770873224','45.148.10.160'),(17560,'1770873264','45.148.10.160'),(17561,'1770873266','45.148.10.160'),(17562,'1770873267','45.148.10.160'),(17563,'1770873268','45.148.10.160'),(17564,'1770873270','45.148.10.160'),(17565,'1770873272','45.148.10.160'),(17566,'1770873274','45.148.10.160'),(17567,'1770873275','45.148.10.160'),(17568,'1770873276','45.148.10.160'),(17569,'1770873278','45.148.10.160'),(17570,'1770873279','45.148.10.160'),(17571,'1770873281','45.148.10.160'),(17572,'1770873282','45.148.10.160'),(17573,'1770873339','45.148.10.160'),(17574,'1770880266','172.190.142.176'),(17575,'1770880266','67.222.45.11'),(17576,'1770921359','52.230.35.34'),(17577,'1770921360','67.222.45.11'),(17578,'1770921363','52.230.35.34'),(17579,'1770921366','52.230.35.34'),(17580,'1770921378','52.230.35.34'),(17581,'1770921378','52.230.35.34'),(17582,'1770921383','52.230.35.34'),(17583,'1770925756','54.204.111.232'),(17584,'1770925756','67.222.45.11'),(17585,'1770934778','209.38.83.50'),(17586,'1770934778','67.222.45.11'),(17587,'1770934778','209.38.83.50'),(17588,'1770934779','209.38.83.50'),(17589,'1770934779','209.38.83.50'),(17590,'1770935965','74.7.175.190'),(17591,'1770935965','67.222.45.11'),(17592,'1770940048','20.111.8.41'),(17593,'1770940048','67.222.45.11'),(17594,'1770974222','34.192.244.187'),(17595,'1770974222','67.222.45.11'),(17596,'1770974530','138.246.253.24'),(17597,'1771004428','34.172.118.41'),(17598,'1771004428','67.222.45.11'),(17599,'1771064754','96.44.136.159'),(17600,'1771064755','67.222.45.11'),(17601,'1771064759','67.222.45.11'),(17602,'1771064760','67.222.45.11'),(17603,'1771064760','67.222.45.11'),(17604,'1771064760','67.222.45.11'),(17605,'1771064760','67.222.45.11'),(17606,'1771114814','62.60.130.228'),(17607,'1771114815','67.222.45.11'),(17608,'1771143414','160.30.137.9'),(17609,'1771143415','67.222.45.11'),(17610,'1771155351','198.235.24.8'),(17611,'1771155351','67.222.45.11'),(17612,'1771191857','164.90.228.79'),(17613,'1771191857','67.222.45.11'),(17614,'1771191858','164.90.228.79'),(17615,'1771191861','164.90.228.79'),(17616,'1771191862','164.90.228.79'),(17617,'1771191863','164.90.228.79'),(17618,'1771191864','164.90.228.79'),(17619,'1771191867','164.90.228.79'),(17620,'1771191869','164.90.228.79'),(17621,'1771191870','164.90.228.79'),(17622,'1771191871','164.90.228.79'),(17623,'1771191872','164.90.228.79'),(17624,'1771191872','164.90.228.79'),(17625,'1771191874','164.90.228.79'),(17626,'1771191874','164.90.228.79'),(17627,'1771191875','164.90.228.79'),(17628,'1771191877','164.90.228.79'),(17629,'1771191879','164.90.228.79'),(17630,'1771191880','164.90.228.79'),(17631,'1771191882','164.90.228.79'),(17632,'1771191883','164.90.228.79'),(17633,'1771191884','164.90.228.79'),(17634,'1771191885','164.90.228.79'),(17635,'1771191886','164.90.228.79'),(17636,'1771191887','164.90.228.79'),(17637,'1771191888','164.90.228.79'),(17638,'1771191889','164.90.228.79'),(17639,'1771191890','164.90.228.79'),(17640,'1771191891','164.90.228.79'),(17641,'1771191892','164.90.228.79'),(17642,'1771191893','164.90.228.79'),(17643,'1771191894','164.90.228.79'),(17644,'1771191895','164.90.228.79'),(17645,'1771191896','164.90.228.79'),(17646,'1771198987','185.177.72.38'),(17647,'1771198987','67.222.45.11'),(17648,'1771198995','185.177.72.38'),(17649,'1771199000','185.177.72.38'),(17650,'1771199005','185.177.72.38'),(17651,'1771199006','185.177.72.38'),(17652,'1771199007','185.177.72.38'),(17653,'1771199008','185.177.72.38'),(17654,'1771199009','185.177.72.38'),(17655,'1771199010','185.177.72.38'),(17656,'1771199011','185.177.72.38'),(17657,'1771199012','185.177.72.38'),(17658,'1771199013','185.177.72.38'),(17659,'1771199014','185.177.72.38'),(17660,'1771199015','185.177.72.38'),(17661,'1771199016','185.177.72.38'),(17662,'1771199016','185.177.72.38'),(17663,'1771199017','185.177.72.38'),(17664,'1771199018','185.177.72.38'),(17665,'1771199019','185.177.72.38'),(17666,'1771199020','185.177.72.38'),(17667,'1771199021','185.177.72.38'),(17668,'1771199023','185.177.72.38'),(17669,'1771199024','185.177.72.38'),(17670,'1771199025','185.177.72.38'),(17671,'1771199025','185.177.72.38'),(17672,'1771199026','185.177.72.38'),(17673,'1771199027','185.177.72.38'),(17674,'1771199028','185.177.72.38'),(17675,'1771199029','185.177.72.38'),(17676,'1771199030','185.177.72.38'),(17677,'1771199031','185.177.72.38'),(17678,'1771199032','185.177.72.38'),(17679,'1771199033','185.177.72.38'),(17680,'1771199034','185.177.72.38'),(17681,'1771199035','185.177.72.38'),(17682,'1771199036','185.177.72.38'),(17683,'1771199037','185.177.72.38'),(17684,'1771199039','185.177.72.38'),(17685,'1771199040','185.177.72.38'),(17686,'1771199041','185.177.72.38'),(17687,'1771199042','185.177.72.38'),(17688,'1771199043','185.177.72.38'),(17689,'1771199044','185.177.72.38'),(17690,'1771199045','185.177.72.38'),(17691,'1771199046','185.177.72.38'),(17692,'1771199047','185.177.72.38'),(17693,'1771199048','185.177.72.38'),(17694,'1771199049','185.177.72.38'),(17695,'1771199050','185.177.72.38'),(17696,'1771199051','185.177.72.38'),(17697,'1771199052','185.177.72.38'),(17698,'1771199053','185.177.72.38'),(17699,'1771199054','185.177.72.38'),(17700,'1771199055','185.177.72.38'),(17701,'1771199056','185.177.72.38'),(17702,'1771199058','185.177.72.38'),(17703,'1771199059','185.177.72.38'),(17704,'1771199060','185.177.72.38'),(17705,'1771199061','185.177.72.38'),(17706,'1771199064','185.177.72.38'),(17707,'1771199066','185.177.72.38'),(17708,'1771199069','185.177.72.38'),(17709,'1771199070','185.177.72.38'),(17710,'1771199071','185.177.72.38'),(17711,'1771199072','185.177.72.38'),(17712,'1771199082','185.177.72.38'),(17713,'1771199087','185.177.72.38'),(17714,'1771199091','185.177.72.38'),(17715,'1771199095','185.177.72.38'),(17716,'1771199099','185.177.72.38'),(17717,'1771199103','185.177.72.38'),(17718,'1771199105','185.177.72.38'),(17719,'1771199107','185.177.72.38'),(17720,'1771199110','185.177.72.38'),(17721,'1771199112','185.177.72.38'),(17722,'1771199118','185.177.72.38'),(17723,'1771199119','185.177.72.38'),(17724,'1771199124','185.177.72.38'),(17725,'1771199125','185.177.72.38'),(17726,'1771199130','185.177.72.38'),(17727,'1771199131','185.177.72.38'),(17728,'1771199132','185.177.72.38'),(17729,'1771199133','185.177.72.38'),(17730,'1771199134','185.177.72.38'),(17731,'1771199135','185.177.72.38'),(17732,'1771199136','185.177.72.38'),(17733,'1771199137','185.177.72.38'),(17734,'1771199138','185.177.72.38'),(17735,'1771199139','185.177.72.38'),(17736,'1771199140','185.177.72.38'),(17737,'1771199141','185.177.72.38'),(17738,'1771199142','185.177.72.38'),(17739,'1771199145','185.177.72.38'),(17740,'1771199146','185.177.72.38'),(17741,'1771199151','185.177.72.38'),(17742,'1771199152','185.177.72.38'),(17743,'1771199153','185.177.72.38'),(17744,'1771199153','185.177.72.38'),(17745,'1771199154','185.177.72.38'),(17746,'1771199155','185.177.72.38'),(17747,'1771199157','185.177.72.38'),(17748,'1771199158','185.177.72.38'),(17749,'1771199159','185.177.72.38'),(17750,'1771199160','185.177.72.38'),(17751,'1771199160','185.177.72.38'),(17752,'1771199162','185.177.72.38'),(17753,'1771199163','185.177.72.38'),(17754,'1771199166','185.177.72.38'),(17755,'1771199167','185.177.72.38'),(17756,'1771199168','185.177.72.38'),(17757,'1771199169','185.177.72.38'),(17758,'1771199170','185.177.72.38'),(17759,'1771199171','185.177.72.38'),(17760,'1771199172','185.177.72.38'),(17761,'1771199173','185.177.72.38'),(17762,'1771199174','185.177.72.38'),(17763,'1771199176','185.177.72.38'),(17764,'1771199177','185.177.72.38'),(17765,'1771199177','185.177.72.38'),(17766,'1771199178','185.177.72.38'),(17767,'1771199179','185.177.72.38'),(17768,'1771199180','185.177.72.38'),(17769,'1771199181','185.177.72.38'),(17770,'1771199182','185.177.72.38'),(17771,'1771199183','185.177.72.38'),(17772,'1771199185','185.177.72.38'),(17773,'1771199186','185.177.72.38'),(17774,'1771199187','185.177.72.38'),(17775,'1771199188','185.177.72.38'),(17776,'1771199189','185.177.72.38'),(17777,'1771199190','185.177.72.38'),(17778,'1771199191','185.177.72.38'),(17779,'1771199192','185.177.72.38'),(17780,'1771199193','185.177.72.38'),(17781,'1771199194','185.177.72.38'),(17782,'1771199195','185.177.72.38'),(17783,'1771199196','185.177.72.38'),(17784,'1771199197','185.177.72.38'),(17785,'1771199198','185.177.72.38'),(17786,'1771199199','185.177.72.38'),(17787,'1771199200','185.177.72.38'),(17788,'1771199201','185.177.72.38'),(17789,'1771199202','185.177.72.38'),(17790,'1771199203','185.177.72.38'),(17791,'1771199204','185.177.72.38'),(17792,'1771199205','185.177.72.38'),(17793,'1771199206','185.177.72.38'),(17794,'1771199207','185.177.72.38'),(17795,'1771199208','185.177.72.38'),(17796,'1771199209','185.177.72.38'),(17797,'1771199210','185.177.72.38'),(17798,'1771199211','185.177.72.38'),(17799,'1771199212','185.177.72.38'),(17800,'1771199213','185.177.72.38'),(17801,'1771199214','185.177.72.38'),(17802,'1771199215','185.177.72.38'),(17803,'1771199216','185.177.72.38'),(17804,'1771199219','185.177.72.38'),(17805,'1771199220','185.177.72.38'),(17806,'1771199221','185.177.72.38'),(17807,'1771199223','185.177.72.38'),(17808,'1771199224','185.177.72.38'),(17809,'1771199225','185.177.72.38'),(17810,'1771199226','185.177.72.38'),(17811,'1771199227','185.177.72.38'),(17812,'1771199227','185.177.72.38'),(17813,'1771199228','185.177.72.38'),(17814,'1771199229','185.177.72.38'),(17815,'1771199230','185.177.72.38'),(17816,'1771199231','185.177.72.38'),(17817,'1771199232','185.177.72.38'),(17818,'1771199233','185.177.72.38'),(17819,'1771199233','185.177.72.38'),(17820,'1771199234','185.177.72.38'),(17821,'1771199235','185.177.72.38'),(17822,'1771199236','185.177.72.38'),(17823,'1771199237','185.177.72.38'),(17824,'1771199238','185.177.72.38'),(17825,'1771199240','185.177.72.38'),(17826,'1771199241','185.177.72.38'),(17827,'1771199243','185.177.72.38'),(17828,'1771199244','185.177.72.38'),(17829,'1771199248','185.177.72.38'),(17830,'1771199254','185.177.72.38'),(17831,'1771199255','185.177.72.38'),(17832,'1771199255','185.177.72.38'),(17833,'1771199256','185.177.72.38'),(17834,'1771199257','185.177.72.38'),(17835,'1771199258','185.177.72.38'),(17836,'1771199259','185.177.72.38'),(17837,'1771199260','185.177.72.38'),(17838,'1771199261','185.177.72.38'),(17839,'1771199262','185.177.72.38'),(17840,'1771199263','185.177.72.38'),(17841,'1771199265','185.177.72.38'),(17842,'1771199266','185.177.72.38'),(17843,'1771199267','185.177.72.38'),(17844,'1771199267','185.177.72.38'),(17845,'1771199268','185.177.72.38'),(17846,'1771199269','185.177.72.38'),(17847,'1771199270','185.177.72.38'),(17848,'1771199272','185.177.72.38'),(17849,'1771199274','185.177.72.38'),(17850,'1771199275','185.177.72.38'),(17851,'1771199277','185.177.72.38'),(17852,'1771199278','185.177.72.38'),(17853,'1771199279','185.177.72.38'),(17854,'1771199280','185.177.72.38'),(17855,'1771199280','185.177.72.38'),(17856,'1771199281','185.177.72.38'),(17857,'1771199283','185.177.72.38'),(17858,'1771199284','185.177.72.38'),(17859,'1771199287','185.177.72.38'),(17860,'1771199288','185.177.72.38'),(17861,'1771199289','185.177.72.38'),(17862,'1771199290','185.177.72.38'),(17863,'1771199292','185.177.72.38'),(17864,'1771199295','185.177.72.38'),(17865,'1771199296','185.177.72.38'),(17866,'1771199297','185.177.72.38'),(17867,'1771199297','185.177.72.38'),(17868,'1771199298','185.177.72.38'),(17869,'1771199299','185.177.72.38'),(17870,'1771199301','185.177.72.38'),(17871,'1771199305','185.177.72.38'),(17872,'1771199309','185.177.72.38'),(17873,'1771199310','185.177.72.38'),(17874,'1771199311','185.177.72.38'),(17875,'1771199312','185.177.72.38'),(17876,'1771199313','185.177.72.38'),(17877,'1771199314','185.177.72.38'),(17878,'1771199315','185.177.72.38'),(17879,'1771199316','185.177.72.38'),(17880,'1771199317','185.177.72.38'),(17881,'1771199318','185.177.72.38'),(17882,'1771199319','185.177.72.38'),(17883,'1771199320','185.177.72.38'),(17884,'1771199321','185.177.72.38'),(17885,'1771199328','185.177.72.38'),(17886,'1771199330','185.177.72.38'),(17887,'1771199330','185.177.72.38'),(17888,'1771199331','185.177.72.38'),(17889,'1771199333','185.177.72.38'),(17890,'1771199333','185.177.72.38'),(17891,'1771199334','185.177.72.38'),(17892,'1771199337','185.177.72.38'),(17893,'1771199338','185.177.72.38'),(17894,'1771199339','185.177.72.38'),(17895,'1771199342','185.177.72.38'),(17896,'1771199343','185.177.72.38'),(17897,'1771199345','185.177.72.38'),(17898,'1771199350','185.177.72.38'),(17899,'1771199351','185.177.72.38'),(17900,'1771199351','185.177.72.38'),(17901,'1771199354','185.177.72.38'),(17902,'1771199363','185.177.72.38'),(17903,'1771199368','185.177.72.38'),(17904,'1771199369','185.177.72.38'),(17905,'1771199370','185.177.72.38'),(17906,'1771199371','185.177.72.38'),(17907,'1771199372','185.177.72.38'),(17908,'1771199373','185.177.72.38'),(17909,'1771199374','185.177.72.38'),(17910,'1771199375','185.177.72.38'),(17911,'1771199384','185.177.72.22'),(17912,'1771199388','185.177.72.38'),(17913,'1771199389','185.177.72.38'),(17914,'1771199390','185.177.72.38'),(17915,'1771199390','185.177.72.38'),(17916,'1771199393','185.177.72.38'),(17917,'1771199394','185.177.72.38'),(17918,'1771199395','185.177.72.38'),(17919,'1771199396','185.177.72.38'),(17920,'1771199396','185.177.72.38'),(17921,'1771199397','185.177.72.38'),(17922,'1771199398','185.177.72.38'),(17923,'1771199402','185.177.72.38'),(17924,'1771199403','185.177.72.38'),(17925,'1771199405','185.177.72.38'),(17926,'1771199407','185.177.72.38'),(17927,'1771199409','185.177.72.38'),(17928,'1771199410','185.177.72.38'),(17929,'1771199411','185.177.72.38'),(17930,'1771199412','185.177.72.38'),(17931,'1771199413','185.177.72.38'),(17932,'1771199414','185.177.72.38'),(17933,'1771199415','185.177.72.38'),(17934,'1771199416','185.177.72.38'),(17935,'1771199417','185.177.72.38'),(17936,'1771199418','185.177.72.38'),(17937,'1771199420','185.177.72.38'),(17938,'1771199420','185.177.72.38'),(17939,'1771199421','185.177.72.38'),(17940,'1771199422','185.177.72.38'),(17941,'1771199423','185.177.72.38'),(17942,'1771199424','185.177.72.38'),(17943,'1771199425','185.177.72.38'),(17944,'1771199426','185.177.72.38'),(17945,'1771199427','185.177.72.38'),(17946,'1771199428','185.177.72.38'),(17947,'1771199430','185.177.72.38'),(17948,'1771199431','185.177.72.38'),(17949,'1771199432','185.177.72.38'),(17950,'1771199436','185.177.72.38'),(17951,'1771199438','185.177.72.38'),(17952,'1771199441','185.177.72.38'),(17953,'1771199444','185.177.72.38'),(17954,'1771199445','185.177.72.38'),(17955,'1771199453','185.177.72.38'),(17956,'1771199455','185.177.72.38'),(17957,'1771199460','185.177.72.38'),(17958,'1771199461','185.177.72.38'),(17959,'1771199462','185.177.72.38'),(17960,'1771199469','185.177.72.38'),(17961,'1771199470','185.177.72.38'),(17962,'1771199471','185.177.72.38'),(17963,'1771199474','185.177.72.38'),(17964,'1771199481','185.177.72.38'),(17965,'1771199481','185.177.72.38'),(17966,'1771199484','185.177.72.38'),(17967,'1771199485','185.177.72.38'),(17968,'1771199487','185.177.72.38'),(17969,'1771199488','185.177.72.38'),(17970,'1771199490','185.177.72.38'),(17971,'1771199491','185.177.72.38'),(17972,'1771199492','185.177.72.38'),(17973,'1771199494','185.177.72.38'),(17974,'1771199495','185.177.72.38'),(17975,'1771199498','185.177.72.38'),(17976,'1771199505','185.177.72.38'),(17977,'1771199507','185.177.72.38'),(17978,'1771199508','185.177.72.38'),(17979,'1771199510','185.177.72.38'),(17980,'1771199511','185.177.72.38'),(17981,'1771199512','185.177.72.38'),(17982,'1771199513','185.177.72.38'),(17983,'1771199514','185.177.72.38'),(17984,'1771199515','185.177.72.38'),(17985,'1771199516','185.177.72.38'),(17986,'1771199517','185.177.72.38'),(17987,'1771199518','185.177.72.38'),(17988,'1771199519','185.177.72.38'),(17989,'1771199520','185.177.72.38'),(17990,'1771199520','185.177.72.38'),(17991,'1771199521','185.177.72.38'),(17992,'1771199524','185.177.72.38'),(17993,'1771199525','185.177.72.38'),(17994,'1771199527','185.177.72.38'),(17995,'1771199528','185.177.72.38'),(17996,'1771199531','185.177.72.38'),(17997,'1771199533','185.177.72.38'),(17998,'1771199534','185.177.72.38'),(17999,'1771199539','185.177.72.38'),(18000,'1771199553','185.177.72.38'),(18001,'1771199558','185.177.72.38'),(18002,'1771199564','185.177.72.38'),(18003,'1771199565','185.177.72.38'),(18004,'1771199566','185.177.72.38'),(18005,'1771199567','185.177.72.38'),(18006,'1771199569','185.177.72.38'),(18007,'1771199570','185.177.72.38'),(18008,'1771199571','185.177.72.38'),(18009,'1771199572','185.177.72.38'),(18010,'1771199576','185.177.72.38'),(18011,'1771199577','185.177.72.38'),(18012,'1771199578','185.177.72.38'),(18013,'1771199582','185.177.72.38'),(18014,'1771199583','185.177.72.38'),(18015,'1771199588','185.177.72.38'),(18016,'1771199590','185.177.72.38'),(18017,'1771199591','185.177.72.38'),(18018,'1771199591','185.177.72.38'),(18019,'1771199592','185.177.72.38'),(18020,'1771199593','185.177.72.38'),(18021,'1771199594','185.177.72.38'),(18022,'1771199595','185.177.72.38'),(18023,'1771199596','185.177.72.38'),(18024,'1771199597','185.177.72.38'),(18025,'1771199598','185.177.72.38'),(18026,'1771199599','185.177.72.38'),(18027,'1771199600','185.177.72.38'),(18028,'1771199601','185.177.72.38'),(18029,'1771199602','185.177.72.38'),(18030,'1771199603','185.177.72.38'),(18031,'1771199604','185.177.72.38'),(18032,'1771199605','185.177.72.38'),(18033,'1771199606','185.177.72.38'),(18034,'1771199607','185.177.72.38'),(18035,'1771199608','185.177.72.38'),(18036,'1771199609','185.177.72.38'),(18037,'1771199610','185.177.72.38'),(18038,'1771199611','185.177.72.38'),(18039,'1771199612','185.177.72.38'),(18040,'1771199613','185.177.72.38'),(18041,'1771199614','185.177.72.38'),(18042,'1771199615','185.177.72.38'),(18043,'1771199616','185.177.72.38'),(18044,'1771199617','185.177.72.38'),(18045,'1771199618','185.177.72.38'),(18046,'1771199619','185.177.72.38'),(18047,'1771199620','185.177.72.38'),(18048,'1771199621','185.177.72.38'),(18049,'1771199622','185.177.72.38'),(18050,'1771199623','185.177.72.38'),(18051,'1771199624','185.177.72.38'),(18052,'1771199625','185.177.72.38'),(18053,'1771199626','185.177.72.38'),(18054,'1771199627','185.177.72.38'),(18055,'1771199628','185.177.72.38'),(18056,'1771199629','185.177.72.38'),(18057,'1771199630','185.177.72.38'),(18058,'1771199631','185.177.72.38'),(18059,'1771199632','185.177.72.38'),(18060,'1771199633','185.177.72.38'),(18061,'1771199635','185.177.72.38'),(18062,'1771199635','185.177.72.38'),(18063,'1771199636','185.177.72.38'),(18064,'1771199637','185.177.72.38'),(18065,'1771199638','185.177.72.38'),(18066,'1771199639','185.177.72.38'),(18067,'1771199640','185.177.72.38'),(18068,'1771199641','185.177.72.38'),(18069,'1771199642','185.177.72.38'),(18070,'1771199643','185.177.72.38'),(18071,'1771199644','185.177.72.38'),(18072,'1771199645','185.177.72.38'),(18073,'1771199646','185.177.72.38'),(18074,'1771199647','185.177.72.38'),(18075,'1771199648','185.177.72.38'),(18076,'1771199649','185.177.72.38'),(18077,'1771199650','185.177.72.38'),(18078,'1771199651','185.177.72.38'),(18079,'1771199652','185.177.72.38'),(18080,'1771199653','185.177.72.38'),(18081,'1771199654','185.177.72.38'),(18082,'1771199655','185.177.72.38'),(18083,'1771199656','185.177.72.38'),(18084,'1771199657','185.177.72.38'),(18085,'1771199658','185.177.72.38'),(18086,'1771199659','185.177.72.38'),(18087,'1771199661','185.177.72.38'),(18088,'1771199662','185.177.72.38'),(18089,'1771199662','185.177.72.38'),(18090,'1771199663','185.177.72.38'),(18091,'1771199664','185.177.72.38'),(18092,'1771199666','185.177.72.38'),(18093,'1771199667','185.177.72.38'),(18094,'1771199668','185.177.72.38'),(18095,'1771199669','185.177.72.38'),(18096,'1771199670','185.177.72.38'),(18097,'1771199671','185.177.72.38'),(18098,'1771199672','185.177.72.38'),(18099,'1771199672','185.177.72.38'),(18100,'1771199673','185.177.72.38'),(18101,'1771199674','185.177.72.38'),(18102,'1771199675','185.177.72.38'),(18103,'1771199676','185.177.72.38'),(18104,'1771199677','185.177.72.38'),(18105,'1771199678','185.177.72.38'),(18106,'1771199679','185.177.72.38'),(18107,'1771199680','185.177.72.38'),(18108,'1771199681','185.177.72.38'),(18109,'1771199682','185.177.72.38'),(18110,'1771199682','185.177.72.38'),(18111,'1771199684','185.177.72.38'),(18112,'1771199684','185.177.72.38'),(18113,'1771199685','185.177.72.38'),(18114,'1771199687','185.177.72.38'),(18115,'1771199687','185.177.72.38'),(18116,'1771199688','185.177.72.38'),(18117,'1771199689','185.177.72.38'),(18118,'1771199691','185.177.72.38'),(18119,'1771199692','185.177.72.38'),(18120,'1771199693','185.177.72.38'),(18121,'1771199694','185.177.72.38'),(18122,'1771199695','185.177.72.38'),(18123,'1771199696','185.177.72.38'),(18124,'1771199698','185.177.72.52'),(18125,'1771199698','185.177.72.38'),(18126,'1771199699','185.177.72.38'),(18127,'1771199703','185.177.72.38'),(18128,'1771199705','185.177.72.38'),(18129,'1771199706','185.177.72.38'),(18130,'1771199707','185.177.72.38'),(18131,'1771199707','185.177.72.38'),(18132,'1771199720','185.177.72.38'),(18133,'1771199721','185.177.72.38'),(18134,'1771199722','185.177.72.38'),(18135,'1771199723','185.177.72.38'),(18136,'1771199724','185.177.72.38'),(18137,'1771199725','185.177.72.38'),(18138,'1771199726','185.177.72.38'),(18139,'1771199727','185.177.72.38'),(18140,'1771199728','185.177.72.38'),(18141,'1771199729','185.177.72.38'),(18142,'1771199730','185.177.72.38'),(18143,'1771199732','185.177.72.22'),(18144,'1771199732','185.177.72.38'),(18145,'1771199733','185.177.72.38'),(18146,'1771199734','185.177.72.38'),(18147,'1771199735','185.177.72.38'),(18148,'1771199736','185.177.72.38'),(18149,'1771199737','185.177.72.38'),(18150,'1771199739','185.177.72.49'),(18151,'1771199739','185.177.72.38'),(18152,'1771199741','185.177.72.38'),(18153,'1771199742','185.177.72.38'),(18154,'1771199743','185.177.72.38'),(18155,'1771199745','185.177.72.38'),(18156,'1771199746','185.177.72.38'),(18157,'1771199747','185.177.72.38'),(18158,'1771199750','185.177.72.38'),(18159,'1771199751','185.177.72.38'),(18160,'1771199752','185.177.72.38'),(18161,'1771199753','185.177.72.38'),(18162,'1771199754','185.177.72.38'),(18163,'1771199754','185.177.72.38'),(18164,'1771199756','185.177.72.23'),(18165,'1771199756','185.177.72.38'),(18166,'1771199758','185.177.72.38'),(18167,'1771199758','185.177.72.56'),(18168,'1771199759','185.177.72.38'),(18169,'1771199761','185.177.72.38'),(18170,'1771199761','185.177.72.38'),(18171,'1771199762','185.177.72.38'),(18172,'1771199763','185.177.72.38'),(18173,'1771199764','185.177.72.38'),(18174,'1771199765','185.177.72.38'),(18175,'1771199766','185.177.72.38'),(18176,'1771199767','185.177.72.38'),(18177,'1771199768','185.177.72.38'),(18178,'1771199769','185.177.72.38'),(18179,'1771199773','185.177.72.38'),(18180,'1771199774','185.177.72.38'),(18181,'1771199775','185.177.72.38'),(18182,'1771199776','185.177.72.38'),(18183,'1771199783','185.177.72.38'),(18184,'1771199784','185.177.72.38'),(18185,'1771199786','185.177.72.38'),(18186,'1771199788','185.177.72.38'),(18187,'1771199789','185.177.72.38'),(18188,'1771199791','185.177.72.38'),(18189,'1771199797','185.177.72.38'),(18190,'1771199798','185.177.72.38'),(18191,'1771199799','185.177.72.38'),(18192,'1771199801','185.177.72.38'),(18193,'1771199802','185.177.72.38'),(18194,'1771199803','185.177.72.38'),(18195,'1771199803','185.177.72.38'),(18196,'1771199804','185.177.72.38'),(18197,'1771199805','185.177.72.38'),(18198,'1771199807','185.177.72.38'),(18199,'1771199808','185.177.72.38'),(18200,'1771199808','185.177.72.38'),(18201,'1771199809','185.177.72.38'),(18202,'1771199810','185.177.72.38'),(18203,'1771199812','185.177.72.38'),(18204,'1771199815','185.177.72.38'),(18205,'1771199815','185.177.72.38'),(18206,'1771199816','185.177.72.38'),(18207,'1771199817','185.177.72.38'),(18208,'1771199819','185.177.72.38'),(18209,'1771199820','185.177.72.38'),(18210,'1771199821','185.177.72.38'),(18211,'1771199822','185.177.72.38'),(18212,'1771199823','185.177.72.38'),(18213,'1771199824','185.177.72.38'),(18214,'1771199825','185.177.72.38'),(18215,'1771199826','185.177.72.38'),(18216,'1771199828','185.177.72.38'),(18217,'1771199829','185.177.72.38'),(18218,'1771199830','185.177.72.38'),(18219,'1771199831','185.177.72.38'),(18220,'1771199832','185.177.72.38'),(18221,'1771199833','185.177.72.38'),(18222,'1771199834','185.177.72.38'),(18223,'1771199835','185.177.72.38'),(18224,'1771199836','185.177.72.38'),(18225,'1771199836','185.177.72.38'),(18226,'1771199837','185.177.72.38'),(18227,'1771199839','185.177.72.38'),(18228,'1771199841','185.177.72.38'),(18229,'1771199842','185.177.72.38'),(18230,'1771199844','185.177.72.38'),(18231,'1771199845','185.177.72.38'),(18232,'1771199846','185.177.72.38'),(18233,'1771199847','185.177.72.38'),(18234,'1771199848','185.177.72.38'),(18235,'1771199849','185.177.72.38'),(18236,'1771199850','185.177.72.38'),(18237,'1771199851','185.177.72.38'),(18238,'1771199858','185.177.72.38'),(18239,'1771199859','185.177.72.38'),(18240,'1771199859','185.177.72.38'),(18241,'1771199860','185.177.72.38'),(18242,'1771199867','185.177.72.38'),(18243,'1771199868','185.177.72.38'),(18244,'1771199869','185.177.72.38'),(18245,'1771199870','185.177.72.38'),(18246,'1771199871','185.177.72.38'),(18247,'1771199872','185.177.72.38'),(18248,'1771199873','185.177.72.38'),(18249,'1771199874','185.177.72.38'),(18250,'1771199875','185.177.72.38'),(18251,'1771199876','185.177.72.38'),(18252,'1771199877','185.177.72.38'),(18253,'1771199878','185.177.72.38'),(18254,'1771199879','185.177.72.38'),(18255,'1771199880','185.177.72.38'),(18256,'1771199881','185.177.72.38'),(18257,'1771199882','185.177.72.38'),(18258,'1771199885','185.177.72.38'),(18259,'1771199886','185.177.72.38'),(18260,'1771199887','185.177.72.38'),(18261,'1771199889','185.177.72.38'),(18262,'1771199890','185.177.72.38'),(18263,'1771199891','185.177.72.38'),(18264,'1771199892','185.177.72.38'),(18265,'1771199893','185.177.72.38'),(18266,'1771199894','185.177.72.38'),(18267,'1771199895','185.177.72.38'),(18268,'1771199896','185.177.72.38'),(18269,'1771199897','185.177.72.38'),(18270,'1771199898','185.177.72.38'),(18271,'1771199899','185.177.72.38'),(18272,'1771199900','185.177.72.38'),(18273,'1771199901','185.177.72.38'),(18274,'1771199902','185.177.72.38'),(18275,'1771199903','185.177.72.38'),(18276,'1771199904','185.177.72.38'),(18277,'1771199905','185.177.72.38'),(18278,'1771199905','185.177.72.38'),(18279,'1771199906','185.177.72.38'),(18280,'1771199908','185.177.72.38'),(18281,'1771265604','176.65.148.161'),(18282,'1771265605','67.222.45.11'),(18283,'1771265608','176.65.148.161'),(18284,'1771265609','176.65.148.161'),(18285,'1771265612','176.65.148.161'),(18286,'1771276242','167.94.138.38'),(18287,'1771276243','67.222.45.11'),(18288,'1771295221','23.180.120.132'),(18289,'1771295222','67.222.45.11'),(18290,'1771319113','74.7.175.190'),(18291,'1771319113','67.222.45.11'),(18292,'1771321377','159.223.130.185'),(18293,'1771321377','67.222.45.11'),(18294,'1771322445','205.169.39.48'),(18295,'1771365697','198.235.24.15'),(18296,'1771365698','67.222.45.11'),(18297,'1771367372','74.7.241.136'),(18298,'1771416571','34.234.177.5'),(18299,'1771416572','67.222.45.11'),(18300,'1771442488','81.29.142.100'),(18301,'1771442488','67.222.45.11'),(18302,'1771442513','81.29.142.6'),(18303,'1771448404','74.7.230.4'),(18304,'1771448404','67.222.45.11'),(18305,'1771471767','216.81.248.168'),(18306,'1771471768','67.222.45.11'),(18307,'1771485040','20.46.124.66'),(18308,'1771485041','67.222.45.11'),(18309,'1771492153','74.7.230.4'),(18310,'1771492153','67.222.45.11'),(18311,'1771574123','74.7.230.4'),(18312,'1771574123','67.222.45.11'),(18313,'1771577695','74.7.230.4'),(18314,'1771577695','67.222.45.11'),(18315,'1771604507','153.165.121.8'),(18316,'1771604507','67.222.45.11'),(18317,'1771647461','98.83.57.80'),(18318,'1771647462','67.222.45.11'),(18319,'1771647468','67.222.45.11'),(18320,'1771647469','67.222.45.11'),(18321,'1771647469','67.222.45.11'),(18322,'1771647469','67.222.45.11'),(18323,'1771647470','67.222.45.11'),(18324,'1771675142','138.246.253.24'),(18325,'1771675143','67.222.45.11'),(18326,'1771708389','20.166.38.178'),(18327,'1771708390','67.222.45.11'),(18328,'1771724397','74.7.230.4'),(18329,'1771724397','67.222.45.11'),(18330,'1771765103','43.130.56.207'),(18331,'1771765104','67.222.45.11'),(18332,'1771781835','98.83.57.80'),(18333,'1771781835','67.222.45.11'),(18334,'1771804434','45.148.10.23'),(18335,'1771804434','67.222.45.11'),(18336,'1771808192','20.24.198.93'),(18337,'1771808192','67.222.45.11'),(18338,'1771832640','107.172.58.36'),(18339,'1771832640','67.222.45.11'),(18340,'1771842026','198.235.24.170'),(18341,'1771842027','67.222.45.11'),(18342,'1771855754','159.65.144.72'),(18343,'1771855754','67.222.45.11'),(18344,'1771855755','159.65.144.72'),(18345,'1771855758','159.65.144.72'),(18346,'1771855761','159.65.144.72'),(18347,'1771855762','159.65.144.72'),(18348,'1771855763','159.65.144.72'),(18349,'1771855767','159.65.144.72'),(18350,'1771855769','159.65.144.72'),(18351,'1771855770','159.65.144.72'),(18352,'1771855771','159.65.144.72'),(18353,'1771855773','159.65.144.72'),(18354,'1771855774','159.65.144.72'),(18355,'1771855775','159.65.144.72'),(18356,'1771855776','159.65.144.72'),(18357,'1771855777','159.65.144.72'),(18358,'1771855779','159.65.144.72'),(18359,'1771855781','159.65.144.72'),(18360,'1771855782','159.65.144.72'),(18361,'1771855784','159.65.144.72'),(18362,'1771855785','159.65.144.72'),(18363,'1771855787','159.65.144.72'),(18364,'1771855788','159.65.144.72'),(18365,'1771855789','159.65.144.72'),(18366,'1771855790','159.65.144.72'),(18367,'1771855791','159.65.144.72'),(18368,'1771855793','159.65.144.72'),(18369,'1771855794','159.65.144.72'),(18370,'1771855795','159.65.144.72'),(18371,'1771855796','159.65.144.72'),(18372,'1771855797','159.65.144.72'),(18373,'1771855798','159.65.144.72'),(18374,'1771855799','159.65.144.72'),(18375,'1771855800','159.65.144.72'),(18376,'1771891534','199.45.155.83'),(18377,'1771891535','67.222.45.11'),(18378,'1771899589','20.214.136.247'),(18379,'1771899590','67.222.45.11'),(18380,'1771922016','23.20.50.244'),(18381,'1771922016','67.222.45.11'),(18382,'1771935132','74.7.241.130'),(18383,'1771935132','67.222.45.11'),(18384,'1771948374','52.86.43.170'),(18385,'1771948374','67.222.45.11'),(18386,'1771953945','35.170.131.91'),(18387,'1771953945','67.222.45.11'),(18388,'1771963325','74.7.241.130'),(18389,'1771963325','67.222.45.11'),(18390,'1772006731','44.196.121.158'),(18391,'1772006732','67.222.45.11'),(18392,'1772018539','34.200.73.58'),(18393,'1772018539','67.222.45.11'),(18394,'1772021566','27.115.124.96'),(18395,'1772021567','67.222.45.11'),(18396,'1772021578','27.115.124.96'),(18397,'1772021579','27.115.124.68'),(18398,'1772021588','27.115.124.97'),(18399,'1772048257','85.11.167.108'),(18400,'1772048258','67.222.45.11'),(18401,'1772049907','77.204.154.226'),(18402,'1772076247','74.7.241.130'),(18403,'1772076248','67.222.45.11'),(18404,'1772102541','45.141.233.208'),(18405,'1772102542','67.222.45.11'),(18406,'1772105472','194.180.48.253'),(18407,'1772109024','194.180.48.253'),(18408,'1772109024','67.222.45.11'),(18409,'1772117944','93.123.109.214'),(18410,'1772117945','67.222.45.11'),(18411,'1772117947','93.123.109.214'),(18412,'1772117949','93.123.109.214'),(18413,'1772117950','93.123.109.214'),(18414,'1772117950','93.123.109.214'),(18415,'1772120012','34.9.136.127'),(18416,'1772120013','67.222.45.11'),(18417,'1772159336','74.7.241.130'),(18418,'1772159336','67.222.45.11'),(18419,'1772180861','34.229.36.79'),(18420,'1772180861','67.222.45.11'),(18421,'1772192059','74.7.241.130'),(18422,'1772192059','67.222.45.11'),(18423,'1772193159','35.153.36.16'),(18424,'1772193160','67.222.45.11'),(18425,'1772210177','20.220.196.236'),(18426,'1772210178','67.222.45.11'),(18427,'1772210307','20.220.196.236'),(18428,'1772210341','20.220.196.236'),(18429,'1772210373','20.220.196.236'),(18430,'1772219441','184.32.51.101'),(18431,'1772219441','67.222.45.11'),(18432,'1772238137','138.246.253.24'),(18433,'1772238137','67.222.45.11'),(18434,'1772271367','3.221.83.235'),(18435,'1772271368','67.222.45.11'),(18436,'1772271370','67.222.45.11'),(18437,'1772271370','67.222.45.11'),(18438,'1772271371','67.222.45.11'),(18439,'1772271371','67.222.45.11'),(18440,'1772271371','67.222.45.11'),(18441,'1772286723','74.7.241.130'),(18442,'1772286724','67.222.45.11'),(18443,'1772372853','74.7.241.185'),(18444,'1772372854','67.222.45.11'),(18445,'1772374017','34.56.135.147'),(18446,'1772454619','147.182.149.75'),(18447,'1772454623','67.222.45.11'),(18448,'1772454623','147.182.149.75'),(18449,'1772454624','147.182.149.75'),(18450,'1772454628','147.182.149.75'),(18451,'1772454630','147.182.149.75'),(18452,'1772454631','147.182.149.75'),(18453,'1772454633','147.182.149.75'),(18454,'1772454636','147.182.149.75'),(18455,'1772454638','147.182.149.75'),(18456,'1772454639','147.182.149.75'),(18457,'1772454639','147.182.149.75'),(18458,'1772454640','147.182.149.75'),(18459,'1772454640','147.182.149.75'),(18460,'1772454641','147.182.149.75'),(18461,'1772454641','147.182.149.75'),(18462,'1772454642','147.182.149.75'),(18463,'1772454645','147.182.149.75'),(18464,'1772454646','147.182.149.75'),(18465,'1772454647','147.182.149.75'),(18466,'1772454649','147.182.149.75'),(18467,'1772454650','147.182.149.75'),(18468,'1772454651','147.182.149.75'),(18469,'1772454652','147.182.149.75'),(18470,'1772454653','147.182.149.75'),(18471,'1772454654','147.182.149.75'),(18472,'1772454655','147.182.149.75'),(18473,'1772454656','147.182.149.75'),(18474,'1772454657','147.182.149.75'),(18475,'1772454658','147.182.149.75'),(18476,'1772454659','147.182.149.75'),(18477,'1772454660','147.182.149.75'),(18478,'1772454661','147.182.149.75'),(18479,'1772454662','147.182.149.75'),(18480,'1772454663','147.182.149.75'),(18481,'1772456468','81.29.142.100'),(18482,'1772456469','67.222.45.11'),(18483,'1772456472','81.29.142.100'),(18484,'1772456475','81.29.142.100'),(18485,'1772475893','74.7.228.58'),(18486,'1772475893','67.222.45.11'),(18487,'1772516183','138.197.182.239'),(18488,'1772516184','67.222.45.11'),(18489,'1772517884','162.142.125.121'),(18490,'1772517884','67.222.45.11'),(18491,'1772534800','74.7.244.2'),(18492,'1772534800','67.222.45.11'),(18493,'1772627371','74.7.244.23'),(18494,'1772627372','67.222.45.11'),(18495,'1772651653','45.148.10.23'),(18496,'1772651654','67.222.45.11'),(18497,'1772685954','23.95.96.140'),(18498,'1772685955','67.222.45.11'),(18499,'1772720468','74.7.244.23'),(18500,'1772720469','67.222.45.11'),(18501,'1772732590','34.90.255.59'),(18502,'1772732591','67.222.45.11'),(18503,'1772743019','45.148.10.23'),(18504,'1772743019','67.222.45.11'),(18505,'1772791048','107.20.222.33'),(18506,'1772791049','67.222.45.11'),(18507,'1772796443','54.208.127.126'),(18508,'1772796443','67.222.45.11'),(18509,'1772805465','74.7.244.23'),(18510,'1772805465','74.7.227.27'),(18511,'1772805466','67.222.45.11'),(18512,'1772813582','192.36.109.105'),(18513,'1772813582','67.222.45.11'),(18514,'1772813583','192.36.109.123'),(18515,'1772813584','192.36.109.128'),(18516,'1772813585','192.36.109.82'),(18517,'1772818584','100.50.36.245'),(18518,'1772818585','67.222.45.11'),(18519,'1772831262','100.50.36.245'),(18520,'1772831263','67.222.45.11'),(18521,'1772837817','138.246.253.24'),(18522,'1772837817','67.222.45.11'),(18523,'1772852387','52.200.211.242'),(18524,'1772852388','67.222.45.11'),(18525,'1772852401','67.222.45.11'),(18526,'1772852405','67.222.45.11'),(18527,'1772852418','67.222.45.11'),(18528,'1772951024','34.221.194.108'),(18529,'1772951025','67.222.45.11'),(18530,'1772960884','44.255.78.16'),(18531,'1772960887','67.222.45.11'),(18532,'1772962408','185.247.137.83'),(18533,'1773003689','35.180.138.125'),(18534,'1773003690','67.222.45.11'),(18535,'1773003948','87.236.176.205'),(18536,'1773018564','98.90.116.248'),(18537,'1773018565','67.222.45.11'),(18538,'1773021715','101.109.41.163'),(18539,'1773021715','67.222.45.11'),(18540,'1773043030','74.7.244.23'),(18541,'1773043030','74.7.227.27'),(18542,'1773043031','67.222.45.11'),(18543,'1773046995','35.171.217.30'),(18544,'1773046995','67.222.45.11'),(18545,'1773052675','35.171.217.30'),(18546,'1773052675','67.222.45.11'),(18547,'1773060221','15.222.247.247'),(18548,'1773060222','67.222.45.11'),(18549,'1773061538','206.81.12.187'),(18550,'1773061540','206.81.12.187'),(18551,'1773061541','206.81.12.187'),(18552,'1773061543','206.81.12.187'),(18553,'1773061545','206.81.12.187'),(18554,'1773061546','206.81.12.187'),(18555,'1773061547','206.81.12.187'),(18556,'1773061550','206.81.12.187'),(18557,'1773061552','206.81.12.187'),(18558,'1773061552','206.81.12.187'),(18559,'1773061553','206.81.12.187'),(18560,'1773061553','206.81.12.187'),(18561,'1773061554','206.81.12.187'),(18562,'1773061555','206.81.12.187'),(18563,'1773061555','206.81.12.187'),(18564,'1773061556','206.81.12.187'),(18565,'1773061558','206.81.12.187'),(18566,'1773061560','206.81.12.187'),(18567,'1773061561','206.81.12.187'),(18568,'1773061563','206.81.12.187'),(18569,'1773061564','206.81.12.187'),(18570,'1773061565','206.81.12.187'),(18571,'1773061566','206.81.12.187'),(18572,'1773061567','206.81.12.187'),(18573,'1773061568','206.81.12.187'),(18574,'1773061569','206.81.12.187'),(18575,'1773061570','206.81.12.187'),(18576,'1773061571','206.81.12.187'),(18577,'1773061572','206.81.12.187'),(18578,'1773061573','206.81.12.187'),(18579,'1773061574','206.81.12.187'),(18580,'1773061575','206.81.12.187'),(18581,'1773061576','206.81.12.187'),(18582,'1773061577','206.81.12.187'),(18583,'1773061578','206.81.12.187'),(18584,'1773067767','74.7.244.23'),(18585,'1773067767','67.222.45.11'),(18586,'1773085124','205.210.31.84'),(18587,'1773085125','67.222.45.11'),(18588,'1773102334','198.235.24.75'),(18589,'1773102334','67.222.45.11'),(18590,'1773102460','147.185.132.70'),(18591,'1773102462','147.185.132.70'),(18592,'1773102509','205.210.31.163'),(18593,'1773146281','167.94.146.56'),(18594,'1773146283','67.222.45.11'),(18595,'1773161492','74.7.244.23'),(18596,'1773161492','67.222.45.11'),(18597,'1773174893','62.72.8.205'),(18598,'1773174894','67.222.45.11'),(18599,'1773195830','45.153.34.125'),(18600,'1773195830','67.222.45.11'),(18601,'1773241998','34.134.0.53'),(18602,'1773241998','67.222.45.11'),(18603,'1773268267','18.246.50.51'),(18604,'1773268267','67.222.45.11'),(18605,'1773268271','67.222.45.11'),(18606,'1773315711','34.230.220.241'),(18607,'1773315712','67.222.45.11'),(18608,'1773316860','20.151.11.236'),(18609,'1773316861','20.151.11.236'); /*!40000 ALTER TABLE `swd_visitors_stat` ENABLE KEYS */; UNLOCK TABLES; -- -- Table structure for table `useradmin` -- DROP TABLE IF EXISTS `useradmin`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `useradmin` ( `userid` mediumint(9) NOT NULL AUTO_INCREMENT, `lastname` varchar(30) NOT NULL DEFAULT '', `firstname` varchar(30) NOT NULL DEFAULT '', `email` varchar(70) NOT NULL DEFAULT '', `username` varchar(20) NOT NULL DEFAULT '', `password` varchar(20) NOT NULL DEFAULT '', `level` tinyint(4) NOT NULL DEFAULT '0', `logintimes` mediumint(9) NOT NULL DEFAULT '0', `lastlogin` date NOT NULL DEFAULT '0000-00-00', `accesspages` varchar(255) NOT NULL DEFAULT '', `ipaddress` varchar(19) NOT NULL, `locked` tinyint(4) NOT NULL, PRIMARY KEY (`userid`), KEY `lastname` (`lastname`,`firstname`) ) ENGINE=MyISAM AUTO_INCREMENT=20 DEFAULT CHARSET=latin1; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Dumping data for table `useradmin` -- LOCK TABLES `useradmin` WRITE; /*!40000 ALTER TABLE `useradmin` DISABLE KEYS */; INSERT INTO `useradmin` VALUES (1,'steve','Winter','stevew@thinairnet','crop','m8p',10,72,'2011-12-24','','71.218.40.124',0),(2,'hacker','hacker','stevew@thinairnet.net','gr33l3y59393785','ch8mb3r8937547',5,1,'2009-01-28','','76.76.85.235',0),(3,'leveno','fnmae','email1','uname','[passvalue-6]',10,12,'0000-00-00','[value-11]','[value-12]',0),(4,'Samsung5','fnmae','email1','uname','[passvalue-6]',10,10,'0000-00-00','[value-11]','[value-12]',0),(5,'Samsung7','fnmae','email1','uname','[passvalue-6]',10,12,'0000-00-00','[value-11]','[value-12]',0),(6,'samsung12.1','fnmae','email1','uname','[passvalue-6]',10,10,'0000-00-00','[value-11]','[value-12]',0),(7,'Jarrod','fnmae','email1','uname','[passvalue-6]',10,10,'0000-00-00','[value-11]','[value-12]',0),(8,'Caleb','fnmae','email1','uname','[passvalue-6]',10,11,'0000-00-00','[value-11]','[value-12]',0),(9,'Core7','fnmae','email1','uname','[passvalue-6]',10,12,'0000-00-00','[value-11]','[value-12]',0),(10,'Surface','fnmae','email1','uname','[passvalue-6]',10,10,'0000-00-00','[value-11]','[value-12]',0),(11,'TaA','fnmae','email1','uname','[passvalue-6]',10,10,'0000-00-00','[value-11]','[value-12]',0),(12,'TabA','fnmae','email1','uname','[passvalue-6]',10,11,'0000-00-00','[value-11]','[value-12]',0),(13,'Caleb laptop','fnmae','email1','uname','[passvalue-6]',10,10,'0000-00-00','[value-11]','[value-12]',0),(14,'Carie','fnmae','email1','uname','[passvalue-6]',10,10,'0000-00-00','[value-11]','[value-12]',0),(15,'Jarrod PC','fnmae','email1','uname','[passvalue-6]',10,10,'0000-00-00','[value-11]','[value-12]',0),(16,'SWDWin11','fnmae','email1','uname','[passvalue-6]',10,12,'0000-00-00','[value-11]','[value-12]',0),(17,'Samsung5 Sold1','fnmae','email1','uname','[passvalue-6]',10,10,'0000-00-00','[value-11]','[value-12]',0),(18,'Caleb 2025','fnmae','email1','uname','[passvalue-6]',10,10,'0000-00-00','[value-11]','[value-12]',0),(19,'Caleb s25','fnmae','email1','uname','[passvalue-6]',10,10,'0000-00-00','[value-11]','[value-12]',0); /*!40000 ALTER TABLE `useradmin` ENABLE KEYS */; UNLOCK TABLES; -- -- Table structure for table `users` -- DROP TABLE IF EXISTS `users`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `users` ( `userid` smallint(6) NOT NULL AUTO_INCREMENT, `last_name` varchar(25) NOT NULL, `first_name` varchar(25) NOT NULL, `email` varchar(60) NOT NULL, `password` varchar(16) NOT NULL, PRIMARY KEY (`userid`) ) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=latin1; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Dumping data for table `users` -- LOCK TABLES `users` WRITE; /*!40000 ALTER TABLE `users` DISABLE KEYS */; INSERT INTO `users` VALUES (1,'Winter','steve','steve@softwarewebdesign.com','no.password'); /*!40000 ALTER TABLE `users` ENABLE KEYS */; UNLOCK TABLES; /*!50112 SET @disable_bulk_load = IF (@is_rocksdb_supported, 'SET SESSION rocksdb_bulk_load = @old_rocksdb_bulk_load', 'SET @dummy_rocksdb_bulk_load = 0') */; /*!50112 PREPARE s FROM @disable_bulk_load */; /*!50112 EXECUTE s */; /*!50112 DEALLOCATE PREPARE s */; /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; /*!40101 SET SQL_MODE=@OLD_SQL_MODE */; /*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; /*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; -- Dump completed on 2026-03-12 10:37:34